break語句(跳出本層迴圈) break 語句可以跳出所在層的迴圈,這些迴圈可以是for、while、do-while。 continue語句(跳出本輪迴圈體的剩餘語句,進入到當前迴圈下的下一輪迴圈體) 結束當前迴圈體剩下的語句,直接進入下一輪迴圈體的執行。 1、break的例子:求100以內的素 ...
break語句(跳出本層迴圈)
- break 語句可以跳出所在層的迴圈,這些迴圈可以是for、while、do-while。
continue語句(跳出本輪迴圈體的剩餘語句,進入到當前迴圈下的下一輪迴圈體)
- 結束當前迴圈體剩下的語句,直接進入下一輪迴圈體的執行。
1、break的例子:求100以內的素數
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 + "。"); } } } } }
2、continue的例子
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); } } }