for
迴圈是一種重複控制結構,用於有效地編寫需要執行特定次數的迴圈。當知道要重複任務的次數時,for
迴圈就很有用。
語法
for
迴圈的語法是 -
for(initialization; boolean_expression; update) {
// Statements
}
在上面語法中,
initialization
)步驟,並且僅執行一次。此步驟用於宣告和初始化迴圈控制變數,此步驟以分號(;
)結束。boolean_expression
)。 如果結果為:true
,則執行迴圈體。 如果為false
,則不執行迴圈體,控制跳轉到for
迴圈之後的下一個語句。for
迴圈體之後,控制元件跳回到update
語句。 此語句用於更新任何迴圈控制變數。此語句可以留空,最後是分號(;
)。boolean_expression
)。 如果結果為:true
,則迴圈執行並重複該過程(迴圈體,然後是更新步驟,然後是布林表示式)。 布林表示式為false
後,for
迴圈終止。for迴圈的流程圖如下
java中有三種型別的for
迴圈,它們分別如下:
for
迴圈for-each
或增強for
迴圈for
迴圈與標籤1. 簡單for迴圈範例
Java中的簡單for
迴圈與C/C ++相同。可以初始化變數,檢查條件和增量/減量值。
假設要列印5
到10
的整數,在這種情況下可以使用基本的for
迴圈。
//package com.yiibai.javaforloop;
public class JavaForLoop {
public static void main(String[] args) {
//print integers 5 to 10
for (int i=5; i<=10; i++) {
System.out.println("Java for loop example - " + i);
}
}
}
執行上面範例程式碼,得到以下結果 -
Java for loop example - 5
Java for loop example - 6
Java for loop example - 7
Java for loop example - 8
Java for loop example - 9
Java for loop example - 10
範例2. for增強型迴圈
Java中的for each
迴圈也稱為增強型迴圈。可以使用for each
疊代陣列或集合元素。Java for each
迴圈是推薦的迴圈方式,因為它的程式碼編寫比較簡單和緊湊。
//package com.yiibai.javaforloop;
import java.util.ArrayList;
import java.util.List;
public class JavaForEachLoopExample {
public static void main(String[] args) {
int[] intArray = { 10, 20, 30, 40, 50 };
for (int i : intArray)
System.out.println("Java for each loop with array - " + i);
List<String> fruits = new ArrayList<>();
fruits.add("蘋果");
fruits.add("香蕉");
fruits.add("橙子");
for (String f : fruits)
System.out.println("Java for each loop with collection - " + f);
}
}
執行上面範例程式碼,得到以下結果 -
Java for each loop with array - 10
Java for each loop with array - 20
Java for each loop with array - 30
Java for each loop with array - 40
Java for each loop with array - 50
Java for each loop with collection - 蘋果
Java for each loop with collection - 香蕉
Java for each loop with collection - 橙子
從上面的例子中可以看出,如果for
迴圈中只有一個語句,不需要將它們放在花括號{}
中。
範例3. for迴圈與標籤
可以在for
迴圈中新增一個標籤,它對break
和continue
語句有用,可以退出外迴圈。 請注意,預設情況下,break
和continue
語句僅適用於內部迴圈。 下面是帶有標籤的for
迴圈的範例以及它如何與continue
語句一起使用。
import java.util.Arrays;
public class JavaForLoopWithLabel {
public static void main(String[] args) {
int[][] intArr = { { 1, -2, 3 }, { 0, 3 }, { 1, 2, 5 }, { 9, 2, 5 } };
process: for (int i = 0; i < intArr.length; i++) {
boolean allPositive = true;
for (int j = 0; j < intArr[i].length; j++) {
if (intArr[i][j] < 0) {
allPositive = false;
continue process;
}
}
if (allPositive) {
// process the array
System.out.println("Processing " + Arrays.toString(intArr[i]));
}
allPositive = true;
}
}
}
執行上面範例程式碼,得到以下結果 -
Processing [0, 3]
Processing [1, 2, 5]
Processing [9, 2, 5]