iT邦幫忙

2024 iThome 鐵人賽

DAY 9
0
自我挑戰組

從免費網路資源中入門java系列 第 9

【Day9】Java迴圈裡的continue和break

  • 分享至 

  • xImage
  •  

上一篇講到了迴圈,這篇要來說明 continue 和 break 是兩個常用來改變迴圈執行流程的的控制語句,幫助開發者更靈活地控制迴圈邏輯。continue 和 break 雖然都會改變迴圈的正常執行,但實際作用和使用情境不同,請參考以下說明。

continue
continue 的作用是跳過當前這次迭代的剩餘程式碼,直接進入下一次迭代。換句話說,continue 會讓迴圈忽略目前的迴圈步驟中的後續程式碼,但不會終止整個迴圈的執行。

for (int i = 0; i < 5; i++) {
    if (i == 2) {
        continue;  // i 等於 2 時,跳過迴圈剩餘程式碼,立刻進到下一次迭代
    }
    System.out.println(i);  // 輸出 0, 1, 3, 4
}

break
break 用來完全中止目前的迴圈執行,並立即跳出迴圈結構。當 break 被執行時,程式會立即退出所在的迴圈,不再繼續執行後續的迴圈迭代,程式接著執行迴圈外的程式碼。這對於在某些條件下要立即停止迴圈非常有用。

public class BreakExample {
    public static void main(String[] args) {
        for (int i = 0; i < 5; i++) {
            if (i == 3) {
                break;  // 當 i 等於 3 時,跳出迴圈
            }
            System.out.println(i);  // 輸出 0, 1, 2
        }
        System.out.println("迴圈已結束");
    }
}

上述說明都是使用for迴圈作為範例,但 continue 和 break 也可以用於 while 和 do-while 迴圈。
另外,使用 continue 和 break 時須留意,當在多層巢狀迴圈中使用continue 或 break時,它只會終止當前所在的迴圈,而不會跳出所有迴圈。如果想要同時結束多層迴圈,可以使用標籤(labels)來達成,label用來指定迴圈的範圍。

範例:

public class LabelBreakExample {
    public static void main(String[] args) {
        // 此處寫出標籤名稱,命名為outerLoop
        outerLoop: 
        for (int i = 1; i <= 3; i++) {
            for (int j = 1; j <= 3; j++) {
                System.out.println("i: " + i + ", j: " + j);
                if (i == 2 && j == 2) {
                    // 在break後面加上標籤名稱
                    break outerLoop;
                }
            }
        }
        System.out.println("跳出所有迴圈");
    }
}

上一篇
【Day8】Java流程控制 - 迴圈(Loops)
下一篇
【Day10】Java中的 Array 陣列(一):如何宣告與遍歷陣列
系列文
從免費網路資源中入門java30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言