break(中斷)與 continue(繼續)是調控迴圈執行流程的關鍵字,緊密配合 while、do-while、for 使用。
int i = 0;
while (i < 10) {
i++;
if (i == 5) {
break; // 直接結束 while 迴圈
}
}
// 迴圈結束後繼續執行後續代碼
for (int i = 0; i < 10; i++) {
for (int j = 0; j < 5; j++) {
System.out.println(j);
if (j == 3) {
break; // 僅中斷 j 迴圈,i 迴圈繼續
}
}
}
語法:標籤名: 迴圈,跳轉時 break 標籤名。
label1:
for (int i = 0; i < 10; i++) {
for (int j = 0; j < 5; j++) {
System.out.println(j);
if (j == 3) {
break label1; // 直接跳出 label1 標記的外層迴圈
}
}
}
等效替代方案:使用布林旗標變數配合雙重 break。
boolean b = false;
for (int i = 0; i < 10; i++) {
for (int j = 0; j < 5; j++) {
System.out.println(j);
if (j == 3) {
b = true;
break; // 跳出內層
}
}
if (b) break; // 跳出外層
}
while/do-while:跳轉到條件判斷處for:跳轉到迭代語句(如 i++)處int i = 0;
while (i < 4) {
i++;
if (i == 2) {
continue; // 跳過輸出,直接進入下一次判斷
}
System.out.println(i);
}
// 輸出:1, 3, 4
label1:
for (int i = 0; i < 10; i++) {
for (int j = 0; j < 5; j++) {
System.out.println(j);
if (j == 3) {
continue label1; // 跳過外層迴圈剩餘部分,直接執行 i++
}
}
}
| 關鍵字 | 功能 | 巢狀迴圈預設行為 | 跨層控制方式 |
|---|---|---|---|
| break | 結束所在迴圈 | 僅跳出內層 | 標籤 break label 或旗標變數 |
| continue | 跳過本次迴圈,執行下一次 | 僅跳過內層本次 | 標籤 continue label |
善用這兩個關鍵字,能靈活控制複雜迴圈邏輯,寫出更高效、可讀性更強的代碼。