Java for迴圈用於多次迭代程式的一部分,或者多次執行同一個程式碼塊。如果疊代次數是固定的,建議使用for
迴圈。
java中有三種型別的for
迴圈。如下所示 -
for
迴圈for-each
或增強型for
迴圈for
迴圈簡單的for
迴圈與C/C++
相同。我們可以初始化變數,檢查條件和增加/減少變數的值。
語法:
for(initialization;condition;incr/decr){
//code to be executed
}
執行流程圖如下所示 -
範例:
public class ForExample {
public static void main(String[] args) {
for(int i=1;i<=10;i++){
System.out.println(i);
}
}
}
執行上面的程式碼,輸出如下 -
1
2
3
4
5
6
7
8
9
10
for-each
迴圈用於在java中遍歷陣列或集合。它比簡單的for
迴圈更容易使用,因為不需要遞增值和使用下標符號。
語法:
for(Type var:array){
//code to be executed
}
範例:
public class ForEachExample {
public static void main(String[] args) {
int arr[] = { 12, 23, 44, 56, 78 };
for (int i : arr) {
System.out.println(i);
}
}
}
執行上面的程式碼,得到如下結果 -
12
23
44
56
78
我們可以讓每個for
迴圈的名稱。 為此,在for
迴圈之前使用標籤。它是有用的,如果在巢狀for
迴圈中,可以使用break/continue
指定迴圈。
通常,break
和continue
關鍵字斷開/繼續最內迴圈。
語法:
labelname:
for(initialization;condition;incr/decr){
//code to be executed
}
範例:
public class LabeledForExample {
public static void main(String[] args) {
aa: for (int i = 1; i <= 3; i++) {
bb: for (int j = 1; j <= 3; j++) {
if (i == 2 && j == 2) {
break aa;
}
System.out.println(i + " " + j);
}
}
}
}
執行上面的程式碼,得到如下結果 -
1 1
1 2
1 3
2 1
如果使用break bb
;它將打斷內迴圈,這是任何迴圈的預設行為。
public class LabeledForExample {
public static void main(String[] args) {
aa: for (int i = 1; i <= 3; i++) {
bb: for (int j = 1; j <= 3; j++) {
if (i == 2 && j == 2) {
break bb;
}
System.out.println(i + " " + j);
}
}
}
}
執行上面的程式碼,得到如下結果 -
1 1
1 2
1 3
2 1
3 1
3 2
3 3
在for
迴圈中,如果使用兩個分號;
,則它對於迴圈將是不定式的。
語法:
for(;;){
//code to be executed
}
範例:
public class ForExample {
public static void main(String[] args) {
for (;;) {
System.out.println("infinitive loop");
}
}
}
執行上面的程式碼,得到如下結果 -
infinitive loop
infinitive loop
infinitive loop
infinitive loop
infinitive loop
ctrl+c
提示: 在執行上面的程式時,您需要按
ctrl + c
退出程式。