Java學(xué)習(xí)關(guān)于循環(huán)和數(shù)組練習(xí)題整理
循環(huán)例子:
while循環(huán)和do…while循環(huán)
whlie(條件語句) {
循環(huán)體
}//先進(jìn)行條件語句的判斷,再進(jìn)行循環(huán)體
do {
循環(huán)體
}whlie (條件語句)//先執(zhí)行一次循環(huán)后再進(jìn)行條件語句的判斷
break語句
break語句:結(jié)束全部循環(huán),具體應(yīng)用如下:
//1+2+3+...+n<1000,求n
//此題可以利用break語句在和大于1000時(shí)結(jié)束循環(huán),輸出n的值
public static void deal() {
int sum = 0;
int i = 1;
for (; ; i++) {
sum = sum + i;
if (sum > 1000) {
break;//當(dāng)和大于1000時(shí),利用break語句跳出循環(huán)
}
}
System.out.println(i);
}
相關(guān)實(shí)例練習(xí)題:
1.輸出100到1000的水仙花數(shù):
public class LoopTest{
public static void main(String[] args){
int bai = 0;
int shi = 0;
int ge = 0;
for(int i = 100; i < 1000; i++){
bai = i/100;
shi = i/10%10;
ge = i%10;
if(bai*bai*bai+shi*shi*shi+ge*ge*ge == i ){
System.out.println(i);
}
}
}
}
2.打印所有字母:
public class LoopTest{
public static void main(String[] args){
char lower = 'a';
char upper = 'A';
for(int i = 0 ; i < 26 ; i++){
System.out.println(lower+" "+upper);
lower++;
upper++;
}
}
}
3.打印99乘法表:
public class LoopTest{
public static void main(String[] args){
for(int i = 1; i <=9 ; i++){
for(int j = 1 ; j<=i ; j++){
System.out.print(j+"*"+i+"="+j*i+" ");
}
System.out.println();
}
}
}
4.按格式遍歷數(shù)組:
public class ArrayTest{
public static void main(String[] args){
int[] arr1 = {4,6,7,1};
int[] arr2 = {1,2,3,9,10};
printArray(arr1);
printArray(arr2);
}
public static void printArray(int[] arr){
System.out.print("[");
for(int i = 0 ; i <arr.length ; i++){
if( i == arr.length-1){
System.out.println(arr[i]+"]");
}else{
System.out.print(arr[i]+",");
}
}
}
}
5.數(shù)組元素逆序(注意:不是反向遍歷):
public class ArrayTest{
public static void main(String[] args){
int[] arr = {1,2,3,4,7,8,9};
reverse(arr);
printArray(arr);
}
public static void reverse(int[] arr){
for(int min=0,max = arr.length-1; min<max ; min++,max--){
int temp = arr[min];
arr[min] = arr[max];
arr[max] = temp;
}
}
public static void printArray(int[] arr){
System.out.print("[");
for(int i = 0 ; i <arr.length ; i++){
if( i == arr.length-1){
System.out.println(arr[i]+"]");
}else{
System.out.print(arr[i]+",");
}
}
}
}
6.選擇排序:
public class ArrayTest{
public static void main(String[] args){
int[] arr = {3,1,5,7,8,9,2};
selectSort(arr);
printArray(arr);
}
public static void selectSort(int[] arr){
for(int i = 0; i < arr.length-1; i++){
for(int j = i+1; j<arr.length; j++){
if(arr[i]>arr[j]){
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}
}
public static void printArray(int[] arr){
System.out.print("[");
for(int i = 0 ; i <arr.length ; i++){
if( i == arr.length-1){
System.out.println(arr[i]+"]");
}else{
System.out.print(arr[i]+",");
}
}
}
}
7.冒泡排序:
public class ArrayTest{
public static void main(String[] args){
int[] arr = {3,1,5,7,8,9,2};
bubbleSort(arr);
printArray(arr);
}
public static void bubbleSort(int[] arr){
for(int i = 0; i<arr.length-1 ;i++){
for(int j = 0; j<arr.length-i-1; j++){
if(arr[j]>arr[j+1]){
int temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
}
public static void printArray(int[] arr){
System.out.print("[");
for(int i = 0 ; i <arr.length ; i++){
if( i == arr.length-1){
System.out.println(arr[i]+"]");
}else{
System.out.print(arr[i]+",");
}
}
}
}
8.折半查找法(注意必須是有序的數(shù)組):
public class ArrayTest{
public static void main(String[] args){
int[] arr = {1,3,5,7,9,11};
int index = binarySearch(arr, 7);
System.out.println(index);
}
public static int binarySearch(int[] arr,int key){
int min = 0;
int max = arr.length-1;
int mid = 0;
while( min<=max ){
mid = (min+max)/2;
if(key>arr[mid]){
min = mid+1;
}else if(key<arr[mid]){
max = mid-1;
}else{
return mid;
}
}
return -1;
}
}
相關(guān)文章
Feign如何使用protobuf的類作為參數(shù)調(diào)用
這篇文章主要介紹了Feign如何使用protobuf的類作為參數(shù)調(diào)用,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-03-03
Java socket通訊實(shí)現(xiàn)過程及問題解決
這篇文章主要介紹了Java socket通訊實(shí)現(xiàn)過程及問題解決,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-01-01
Elasticsearch中FST與前綴搜索應(yīng)用實(shí)戰(zhàn)解析
這篇文章主要為大家介紹了Elasticsearch中FST與前綴搜索應(yīng)用實(shí)戰(zhàn)解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-08-08
java實(shí)現(xiàn)自定義時(shí)鐘并實(shí)現(xiàn)走時(shí)功能
這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)自定義時(shí)鐘并實(shí)現(xiàn)走時(shí)功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-06-06
Spring Cloud Netflix架構(gòu)淺析(小結(jié))
這篇文章主要介紹了Spring Cloud Netflix架構(gòu)淺析(小結(jié)),詳解的介紹了Spring Cloud Netflix的概念和組件等,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-01-01
Java?Stream比較兩個(gè)List的差異并取出不同的對(duì)象四種方法
今天開發(fā)一個(gè)需求時(shí)要對(duì)A和B兩個(gè)List集合遍歷,并比較出集合A有,而集合B沒有的值,下面這篇文章主要給大家介紹了關(guān)于Java?Stream比較兩個(gè)List的差異并取出不同對(duì)象的四種方法,需要的朋友可以參考下2024-01-01
Spring Boot 多個(gè)定時(shí)器沖突問題的解決方法
這篇文章主要介紹了Spring Boot 多個(gè)定時(shí)器沖突問題的解決方法,實(shí)際開發(fā)中定時(shí)器需要解決多個(gè)定時(shí)器同時(shí)并發(fā)的問題,也要解決定時(shí)器之間的沖突問題,本文通過問題場(chǎng)景重現(xiàn)給大家介紹的非常詳細(xì),需要的朋友參考下吧2022-05-05

