1 break;
while循環中,break是用於永久終止循環。即不執行本次循環中break后面的語句,直接跳出循環。 終止,跳出,結束循環(可以作用在任何地方)。也常與switch分支結構合用。
2 continue;
while循環中,continue是用於終止本次循環。即本次循環中continue后面的代碼不執行,進行下一次循環的入口判斷。結束本次的循環,進入下一次的循環(只能運用到循環結構中)。
舉例1:break退出循環
public static void main(String[] args) { int i = 0; while (i <= 10) { if (i == 5){ break; } System.out.println(" "+i+"\n"); i++; } }
輸出結果:
舉例2:continue退出當前循環,繼續下次循環
public static void main(String[] args) { int i = 0; while (i <= 10) { i = i + 1; if (i == 5){ continue; } System.out.println(" "+i+"\n"); } }
輸出結果:
有個問題: 如果是嵌套循環呢?
嵌套循環中break、continue的用法
一.break語句為退出當前循環,在嵌套循環中結果如下:
//break嵌套循環,退出當前內部循環 public static void main(String[] args) { int num= 0; for(int i=0;i<5;i++){ System.out.println("執行外部循環開始"); for(int j=0;j<5;j++){ if (i==2&&j==2){ System.out.println("i:"+i+",j:"+j); break ; } num++; System.out.println("num:"+num); } System.out.println("執行外部循環結束"); } System.out.println(num); }
break只退出最內層循環,若想退出所有循環請和label語句連用,從何處結束循環:
//退出所有循環請和label語句連用
public static void main(String[] args) { int num=0; outermost: for(int i=0;i<5;i++){ System.out.println("執行外部循環開始"); for(int j=0;j<5;j++){ if (i==2&&j==2){ System.out.println("i:"+i+",j:"+j); break outermost; } num++; System.out.println("num:"+num); } System.out.println("執行外部循環結束"); } System.out.println(num); //12 }
二、continue語句退出當次循環,嵌套結果:
//continue語句退出當次循環,嵌套結果: public static void main(String[] args) { int num=0; for(int i=0;i<5;i++){ System.out.println("執行外部循環開始"); for(int j=0;j<5;j++){ if (i==2&&j==2){ System.out.println("i:"+i+",j:"+j); System.out.println("num:"+num); continue; } num++; System.out.println("i:"+i+",j:"+j+",num:"+num); } System.out.println("執行外部循環結束"); } System.out.println(num); //24 }
continue語句和label語句連用,從何處繼續循環:
//continue語句和label語句連用,從何處繼續循環: public static void main(String[] args) { int num=0; outermost: for(int i=0;i<5;i++){ System.out.println("執行外部循環開始"); for(int j=0;j<5;j++){ if (i==2&&j==2){ System.out.println("i:"+i+",j:"+j); System.out.println("num:"+num); continue outermost; } num++; System.out.println("i:"+i+",j:"+j+",num:"+num); } System.out.println("執行外部循環開始"); } System.out.println(num); //22 }
參考文檔: https://www.cnblogs.com/lodadssd/p/6238370.html