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