1. 程式人生 > 其它 >java--迴圈結構

java--迴圈結構

迴圈結構

一、while迴圈

1、什麼是迴圈

  • 一組相同或者相似的語句被有規律的重複執行
  • 迴圈要素:
    迴圈體;迴圈條件

2、while迴圈的執行邏輯:

初始化語句;
while(boolean 表示式){//當boolean表示式的值為true時執行迴圈體
    迴圈體;
    條件控制語句;
}

執行流程:

  • 執行初始化語句
  • 執行條件判斷語句,看其結果是true還是false;
  • 如果是true,繼續執行;
  • 如果是false,迴圈結束;
  • 執行迴圈體語句;
  • 執行條件控制語句;
  • 回到2繼續執行。

3、while用於處理迴圈邏輯

//計算0-100的和
int i=0;//迴圈變數
int sum=0;//結果
while(i<=100){ sum+=i;//累加 i++;//迴圈變數自增 }

4、while迴圈和break關鍵字配合使用

break關鍵字一般用於跳出迴圈

//計算0-50的和
int i=0;//迴圈變數
int sun=0;//結果
while(i<=100){
    sum+=i;//累加
    i++;//迴圈變數自增
    if(i==50){
        break; 
    }
}

二、do-while迴圈

1、完整格式:

完整格式:
    初始化語句;
    do{
        迴圈體語句;
        條件控制語句;
    }while(
        條件判斷語句
    );

2、執行流程:

  • 執行初始化語句;

  • 執行迴圈體語句;

  • 執行條件控制語句;

  • 執行條件判斷語句,看其結果為true還是false

  • 如果是false,迴圈結束;如果是true,繼續執行;

  • 回到第二步繼續。

3、 do while和 while的區別:

  • while迴圈是先判斷後執行的,而dowhile是先執行後判斷的
  • do while無論條件滿足還是不滿足都會執行一次迴圈體。

三、for迴圈語句(重點)

1、迴圈結構:

  • 初始化語句:用於表示開啟時的起始狀態;簡單來時就是迴圈開始的時候什麼樣;
  • 條件判斷語句:用於表示迴圈反覆執行的條件,簡單來說就是判斷迴圈是否能一直執行
  • 迴圈語句:用於表示迴圈反覆執行的內容,簡單來說就是迴圈反覆執行的事情;
  • 條件控制語句:用於表示迴圈執行中每次變化的內容,簡單來說就是控制迴圈是否能執行下去

迴圈結構對應的語法:

  • 初始化語句:這裡可以是一條或者多條語句,這些語句可以完成一些初始化操作;

  • 條件判斷句:這裡使用一個結構值為boolean型別的表示式,這個表示式能決定是否執行迴圈體;例如:a<3;

  • 迴圈體語句:這裡可以是任意語句,這些語句反覆執行

  • 條件控制語句:這裡通常是使用一條語句來改變變數的值,從而達到控制迴圈是否繼續向下執行的效果,常見j++,i--這樣的操作;

2、for迴圈語句格式:

 

for(初始化語句;條件判斷語句;條件控制語句){
    迴圈體語句;
}
//執行流程:
1、執行初始化於語句;
2、執行條件判斷語句,看其結果是true還是false
    如果是false,迴圈結束;
    如果是true,繼續執行;
3、執行迴圈體語句;
4、執行條件控制語句;
5、回到2繼續                                          

3、for迴圈的三要素:

  • 迴圈變數的定義----int i=0

  • 迴圈條件-----i<=100

  • 迴圈變數的變化----i++

  • 這三個要素可以變形

//第一種
int i=0;
for(;i<=200;i++){
    迴圈體;
}
//第二種
int i=0;//迴圈變數而不能變形
for(;i<=100;){
    迴圈體;
        i++;
}
//第三種
for(;;){
    迴圈體;    
}
總結:for迴圈必須要有兩個分號";"

4、for迴圈種break和continue關鍵字

  • for的break搭配使用,一般情況下需要條件和條件分支結構搭配使用;
  • break:結束本層迴圈;
  • break 標號; 標號:識別符號  寫在某一層迴圈迴圈的開始位置;
  • break和continue的區別:

1、break:跳出所有迴圈

2、continue:跳出本次迴圈

public class Number {
    public static void main(String[] args) {
        /*
         * int sum = 0; for (int i = 0; i <= 100; i++) { sum += i; }
         * System.out.println(sum);
         */
        int sum = 0;
        for (int i = 1; i <= 100; i++) {
            if (i % 10 == 3) {
                continue;
            }
            sum += i;
        }
        System.out.println(sum);
    }

}
//累加,跳出各位數為3的所有數字

四、死迴圈的三種格式:

for(;;){}
while(true){}
do()while(true);
//while的死迴圈格式是最常用的;
命令提示符視窗種Ctrl+C可以結束死迴圈;

五、三種迴圈的區別:

  • for迴圈和while迴圈先判斷條件是否成立,然後決定是否執行迴圈體(先判斷後執行)
  • do-while迴圈先執行一次迴圈體,然後判斷條件是否成立,是否繼續執行迴圈體(先執行後判斷)
  • while迴圈更為嚴格一點

for和while的區別:

  • 條件控制語句所控制的自增變數,因為歸屬for迴圈的語法結構,在for迴圈結束後,就不能再次被訪問到了;
  • 條件控制語句所控制的自增變數,對於while迴圈來說不歸屬其語法結構中,while迴圈結束後,該變數還可以繼續使用