首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

Java 流程控制核心:break 與 continue 语句完全指南

     編輯:Java 相關知識

在迴圈開發中,break 與 continue 是調控執行流程的兩把利器。前者代表「中斷、跳出」,後者代表「跳過本次、繼續下次」。靈活運用它們能大幅簡化邏輯、提升效能。本文通過豐富範例,系統講解兩者語法、巢狀迴圈行為、標籤進階用法及實戰技巧。

一、break 語句:徹底終結迴圈

基本語法與行為

break 可用於 while、do-while、for 三種迴圈,功能一致:立即結束所在迴圈,執行迴圈後的下一條語句。

int i = 0;
while (i < 10) {
    i++;
    if (i == 5) {
        break; // i 為 5 時跳出迴圈
    }
}
// 迴圈結束後繼續執行此處程式碼

巢狀迴圈中的行為

預設情況下,break 僅跳出直接包裹它的那層迴圈:

for (int i = 0; i < 10; i++) {
    for (int j = 0; j < 5; j++) {
        System.out.println("j = " + j);
        if (j == 3) {
            break; // 僅跳出內層 j 迴圈
        }
    }
    // 外層 i 迴圈繼續執行
}

標籤:精準跳出外層迴圈

若需跳出外層迴圈,使用標籤:

outerLoop: // 標籤名稱,遵循標識符命名規則
for (int i = 0; i < 10; i++) {
    for (int j = 0; j < 5; j++) {
        System.out.println("j = " + j);
        if (j == 3) {
            break outerLoop; // 直接跳出 outerLoop 標記的外層迴圈
        }
    }
}

標籤規則:

  • 標籤緊接在迴圈語句之前,以冒號結尾
  • break 標籤名 跳出對應標籤的迴圈
  • 標籤名可為任意合法標識符,建議語義化命名

替代方案:旗標變數法

無標籤環境下,常用 boolean 旗標協同雙重 break 實現:

boolean shouldBreakOuter = false;
for (int i = 0; i < 10; i++) {
    for (int j = 0; j < 5; j++) {
        System.out.println("j = " + j);
        if (j == 3) {
            shouldBreakOuter = true;
            break; // 跳出內層
        }
    }
    if (shouldBreakOuter) {
        break; // 跳出外層
    }
}

二、continue 語句:跳過本輪,直奔下輪

核心差異

關鍵字作用範圍執行流向
break整個迴圈結束迴圈,執行迴圈後代碼
continue當前迭代跳過本輪剩餘代碼,直接進入下一次迭代判斷

不同迴圈中的跳轉目標

  • while / do-while:跳轉到條件判斷處
  • for:跳轉到迭代語句(如 i++),再做條件判斷

範例演示

int i = 0;
while (i < 4) {
    i++;
    if (i == 2) {
        continue; // 跳過 i=2 時的輸出
    }
    System.out.println(i);
}
// 輸出:1、3、4

巢狀迴圈中的 continue

同 break,預設僅影響所在層。配合標籤可跳過外層迴圈本輪:

outerLoop:
for (int i = 0; i < 10; i++) {
    for (int j = 0; j < 5; j++) {
        System.out.println("j = " + j);
        if (j == 3) {
            continue outerLoop; // 直接跳到外層 i++,繼續下一輪 i
        }
    }
    // 此處在 j==3 時不會執行
}

三、實戰決策指南

何時使用 break?

  • 搜尋找到目標,無需繼續遍歷
  • 檢測到無法恢復的錯誤狀態,必須中止迴圈
  • 實現「無限迴圈 + 內部 break」的菜單/命令處理模式

何時使用 continue?

  • 過濾不符合條件的數據(如跳過 null、負數、特定值)
  • 簡化巢狀 if:提前 continue 縮減縮排層級
  • 批量處理中,單筆失敗不影響後續,記錄錯誤後 continue

最佳實踐原則

  1. 單一職責:迴圈體內邏輯過複雜時,優先考慮提煉方法,而非堆砌 break/continue
  2. 可讀性優先:標籤雖強大,但會增加心智負擔,能用旗標或重構解決時優先不用標籤
  3. 文檔註釋:關鍵 break/continue 上方說明跳出/跳過條件及業務含義

總結:break 是「結束任務」,continue 是「跳過當下」。掌握它們在巢狀迴圈中的作用域、善用標籤突破層級限制、遵循可讀性原則,能讓流程控制代碼既高效又優雅。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved