JAVA迴圈語句,控制跳轉語句
順序結構的程式語句只能被執行一次。如果您想要同樣的操作執行多次,,就需要使用迴圈結構。
Java中有三種主要的迴圈結構:
- for 迴圈
- while 迴圈
- do…while 迴圈
for迴圈
for(初始化表示式語句;判斷條件語句;控制條件語句) {
迴圈體語句;
}
執行流程:
a:執行初始化表示式語句
b:執行判斷條件語句,看其返回值是true還是false
如果是true,就繼續執行
如果是false,就結束迴圈
c:執行迴圈體語句;
d:執行控制條件語句
e:回到B繼續。
注意事項 :
初始化表示式語句只執行一次
舉例:水仙花數
指一個三位數,其各位數字的立方和等於該數本身。
難點:怎樣取得每個位上的數字?
public class shuixianhua { public static void main(String[] args) { int count=0; for(int i=100;i<1000;i++){ int ge=i%10; int shi=i/10%10; int bai=i/100; int flower=bai*bai*bai+shi*shi*shi+ge*ge*ge; if(i==flower){ System.out.println(i); count++; } } System.out.println(count); } }
while迴圈
初始化條件語句;
while(判斷條件語句) {
迴圈體語句;
控制條件語句;
}
執行流程:
a:執行初始化條件語句;
b:執行判斷條件語句,看其返回值是true還是false
如果是true,就繼續執行
如果是false,就結束迴圈
c:執行迴圈體語句;
d:執行控制條件語句
e:回到b繼續。
注意事項:
一定要在外面初始化變數型別。不能在while判斷條件語句中
舉例:
public class Test { public static void main(String args[]) { int x = 10; while( x < 20 ) { System.out.print("value of x : " + x ); x++; System.out.print("\n"); } } }
do-while迴圈
初始化條件語句;
do {
迴圈體語句;
控制條件語句;
}while(判斷條件語句);
執行流程:
a:執行初始化條件語句;
b:執行迴圈體語句;
c:執行控制條件語句;
d:執行判斷條件語句,看其返回值是true還是false
如果是true,就繼續執行
如果是false,就結束迴圈
e:回到b繼續。
注意事項:
do-while語句至少執行一次
總結
三種迴圈語句的選擇
1.當清楚的知道迴圈的次數時,我們選擇for語句,例如計算1-100之間整數和。
2.當不清楚迴圈次數時選擇while語句,例如計算不小於1000的奇數和。
4. do…while迴圈至少執行一次迴圈體。而for,while迴圈必須先判斷條件是否成立,然後決定是否執行迴圈體語句。
5. 如果你想在迴圈結束後,繼續使用控制條件的那個變數,用while迴圈,否則用for迴圈。
迴圈巢狀
外層迴圈控制行數,內層迴圈控制列數
舉例:輸出四行五列的*
for(int i=0;i<4;i++){
for(int j=0;j<5;j++){
System.out.print("*");
}
System.out.println();
}
舉例 :9*9乘法表
外層迴圈迴圈條件還是i<9,內層迴圈我們可以知道列數是變化的,只有外層迴圈變數i變化,輸出表達式中符號用+“”+連線,因此我們的程式碼如下:
for(int i=1;i<=9;i++){
for(int j=1;j<=i;j++){
System.out.println();;
}
System.out.println();
}
其中System.out.println()和System.out.print(),前者列印換行,後者列印不換行,System.out.println()等價於\n換行符。
控制跳轉語句
我想在某個迴圈執行到某一步的時候就結束,現在就做不了這件事情。為了彌補這個缺陷,Java就提供了break,continue和return來實現控制語句的跳轉和中斷。
控制跳轉語句的分類:
1.break 中斷
2.continue 繼續
3.return 返回
break
用在switch語句和迴圈語句中,結束當前的迴圈和case語句。
1.退出單層迴圈
for(int i=1;i<=10;i++){
System.out.println("我愛你");
if(i==5){
break;
}
}//此時迴圈執行五次我愛你,因為輸出後才做出的判斷和break,跳出當前的迴圈,迴圈結束。
2.退出多層迴圈
標籤名:語句
wc:for(int i=1;i<=5;i++){
nc:for(int j=1;j<=4;j++){
if (j == 2) {
break wc; //根據標記來終止哪個迴圈
}
System.out.print("*");
}
System.out.println();
}//最終輸出一個*,因為根據標記終止了外層迴圈,外層迴圈只執行了一次。
continue
跳出一次迴圈,繼續下一次迴圈,用在迴圈場景中
for(int i=1;i<=10;i++){
if(i%2==0){
continue;
}
System.out.println(i);
}
最後輸出結果為1,3,5,7,9,我們可以知道continue語句濾除了滿足判斷條件的數。
總結:
break 退出當前迴圈
continue 退出本次迴圈
return
return 就是退出一個方法,跳轉到上層呼叫的方法。我們會根據要求來使用。