for 循環是 Java 中最常用、功能最強大的循環結構。本文系統講解標準語法、變體用法、嵌套循環、標籤跳轉控制等進階技巧。
for (初始化; 判斷條件; 循環後處理) {
// 循環體
}
// 執行順序:1→2→3→4→2→3→4... 直到判斷為 false
| 類型 | 語法示例 | 說明 |
|---|---|---|
| 標準形式 | for (int i=0; i<10; i++) | 最常用,變量作用域在循環內 |
| 外部變量 | int i; for (i=0; i<10; i++) | 循環後可訪問最終值 |
| 多變量控制 | for (int m=0,n=100; m<10&&n>30; m++,n-=5) | 逗號分隔,邏輯與關係 |
| 省略部分 | for (; k<10; ) { k+=2; } | 任意部分可省略,分號必須保留 |
// 完全省略 → 死循環
for (;;) {
System.out.print(k);
k += 3;
if (k > 10) break; // 強制跳出
}
// continue 跳過本次迭代
for (int i = 100; i >= 0; i--) {
if (i % 5 == 0) continue; // 跳過 5 的倍數
System.out.println(i);
if (++count == 10) break; // 處夠 10 個退出
}
// 打印矩形
for (int i = 1; i <= 5; i++) { // 行
for (int k = 1; k <= 3; k++) { // 列
System.out.print("*");
}
System.out.println(); // 換行
}
// 標籤控制嵌套跳轉
OUTER: for (int i = 1; i <= 10; i++) {
System.out.println();
INNER: for (int k = 1; k <= 3; k++) {
System.out.print("*");
if (i % 2 == 0) continue OUTER; // 跳到外層下一次
if (i % 5 == 0) break OUTER; // 退出外層循環
}
}
// 適用於數組和 Iterable 集合
for (int num : numbers) { ... }
for (String str : list) { ... }
// 無法獲取索引,無法修改集合結構
// 需要索引或刪除元素時使用標準 for 或 Iterator
