1. 程式人生 > >跳出內層for迴圈,而不執行外層for迴圈剩餘語句

跳出內層for迴圈,而不執行外層for迴圈剩餘語句

在專案中遇到需要跳出內層for迴圈的同時,不執行外層for迴圈剩餘語句,直接開始執行下一次外層for迴圈的問題。

我個人並不想使用變數來判斷是否continue,最後發現可以通過為for迴圈命名,然後continue至特定的for迴圈來解決這個問題。

於是寫個下面的例子記錄一下。

獲取第一個陣列中第二個陣列所沒有的奇數,程式碼如下:

int[] one = {1, 4, 2, 8, 5, 7};
int[] two = {3, 0, 5, 6, 8, 9};

w:for (int i = 0; i < one.length; i++) {
    if (one[i] % 2 == 1) {
        for (int j = 0; j < two.length; j++) {
            if (one[i] == two[j]) {
                continue w;
            }
        }
        System.out.println(one[i]);
    }
}

這樣就可以continue至指定的for迴圈,從而跳過外迴圈剩餘的語句。