break語句(跳出本層循環)spa
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); } } }