對於迴圈
for (int i = 0; i < 100; i++) {
System.out.println(i);
}
for
迴圈的三個組成部分(由 ;
分隔)是變數宣告/初始化(此處為 int i = 0
),條件(此處為 i < 100
)和增量語句(此處為 i++
)。變數宣告就像在第一次執行時放在 {
內部一樣完成。然後檢查條件,如果它是 true
,迴圈體將執行,如果是 false
,迴圈將停止。假設迴圈繼續,主體將執行,最後當到達 }
時,增量語句將在再次檢查條件之前執行。
如果迴圈只包含一個語句,則花括號是可選的(你可以使用分號一行)。但是,總是建議使用大括號來避免誤解和錯誤。
for
迴圈元件是可選的。如果你的業務邏輯包含其中一個部分,則可以省略 for
迴圈中的相應元件。
int i = obj.getLastestValue(); // i value is fetched from a method
for (; i < 100; i++) { // here initialization is not done
System.out.println(i);
}
for (;;) { function-body }
結構等於 while (true)
迴圈。
Nested For Loops
任何迴圈語句都有另一個迴圈語句,稱為巢狀迴圈。迴圈具有更多內迴圈的相同方式稱為’巢狀迴圈’。
for(;;){
//Outer Loop Statements
for(;;){
//Inner Loop Statements
}
//Outer Loop Statements
}
可以證明巢狀 for 迴圈可以列印三角形數字。
for(int i=9;i>0;i--){//Outer Loop
System.out.println();
for(int k=i;k>0;k--){//Inner Loop -1
System.out.print(" ");
}
for(int j=i;j<=9;j++){//Inner Loop -2
System.out.print(" "+j);
}
}