Break語句和Continue語句

break語句(跳出本層循環)spa

  • break 語句能夠跳出所在層的循環,這些循環能夠是for、while、do-while。

continue語句(跳出本輪循環體的剩餘語句,進入到當前循環下的下一輪循環體)code

  • 結束當前循環體剩下的語句,直接進入下一輪循環體的執行。

 

一、break的例子:求100之內的素數blog

public class BreakAndContinue {
    public static void main(String[] args) {
        // 求100之內的全部素數
        int count = 0; // 用來記錄素數的個數。
        for (int i = 2; i <= 100; i++) { // 1既不是素數也不會合數,素數從2開始,結束的標誌是檢查到100.
            for (int j = 2; j <= i; j++) {
                /* 內循環的做用是:依次遍歷i範圍內的數字,比較它和i的關係。
                 *     例如,若是i是50,那麼內循環中的j就依次表明遍歷50之內的這些數字,從2到50。
                 * 判斷一:
                 *     看它是否能把i整除,若是能夠而且它倆不相等,那麼說明j是i的因數,那就必定不是素數了。
                 *     這時候就直接跳出內循環,讓新的i進入內循環來判斷是否爲素數。
                 * 判斷二:
                 *     若是第一個條件判斷不起做用,那麼就說明在範圍中找不到i的因數,這樣就不會跳出循環,而會繼續進入下一個判斷。
                 *     進入第二個條件判斷,j能整除i而且兩者相等,這就知足了素數的條件:除了1和它自己沒有其餘因數。而此時,j就是i自己。
                 *     找到素數輸出。
                 */
                if (i % j == 0 && i != j) { // 跳出整個內循環
                    break;
                }
                if (i % j == 0 && i == j) {
                    count++; // 每次找到一個,就對計數器累加一次,從而記錄素數的個數。
                    System.out.println("這是第" + count + "個素數,它是" + i + "。");
                }
            }
        }
    }
}

 

 

二、continue的例子class

public class Continue {
    public static void main(String[] args) {
        int count = 0;
        for(int i = 1; i <= 10; i++) {
            if(i == 5) {
                // 遍歷到5的時候,就會跳過當前循環體,固然也不會去執行剩下的語句了。
                // 因而就到了下一輪循環(此時i的值是6),因此這裏的第5次輸出是6而非5,由於5的那一輪循環被跳過了。
                continue;
            }
            count++;
            System.out.println("第" + count + "次輸出,輸出值爲" + i);
        }
    }
}

相關文章
相關標籤/搜索