break和continue是我们用到循环语句时常会因为一些特殊情况需要跳出、跳过循环所使用的语句,最近正好学了,想通过一些小实例对它们的功能与区别做个总结。
一、break的使用
1.switch中的break
用break语句可以使流程跳出switch语句体。
使用说明:
(1)只能在循环体内和switch语句体内使用break;
(2)当break出现在循环体中的switch语句体内时,起作用只是跳出该switch语句体,并不能终止循环体的执行。若想强行终止循环体的执行,可以在循环体中,但并不在switch语句中设置break语句,满足某种条件则跳出本层循环体。
代码段1:
public static void main(String[] args) { int week = 3; switch (week) { case 1: System.out.println("11"); break; case 2: System.out.println("22"); break; case 3: System.out.println("33"); break; case 4: System.out.println("44"); break; case 5: System.out.println("55"); break; case 6: System.out.println("66"); break; case 7: System.out.println("77"); break; default: System.out.println("0000000"); break; } }
运行结果:
代码段2:
public static void main(String[] args) { int week = 3; switch (week) { case 1: System.out.println("11"); break; case 2: System.out.println("22"); case 3: System.out.println("33"); case 4: System.out.println("44"); case 5: System.out.println("55"); break; case 6: System.out.println("66"); break; case 7: System.out.println("77"); break; default: System.out.println("0000000"); break; } }
运行结果:
可以看出,break它会终止switch语句体中的语句。代码段1中,week为3的时候打印33,遇到break退出switch;代码段2中weekweek为3的时候打印33,没有break,继续执行,打印44,依旧没有break,继续执行打印55,遇到break,退出switch。所以是从week满足的那个case开始,执行到遇到的第一个break结束。
2.for、while、do-while中的break
也可以用break语句在循环结构终止本层循环体,从而提前结束本层循环。用break可以跳出一重循环,注意:是一重循环。当循环嵌套时,使用一个break时只能跳出包住它的那一层循环。
代码段3:
public static void main(String[] args) { for(int x=1; x<=10; x++) { if(x == 3) { break; } System.out.println("HelloWorld"); } } }
执行结果:
代码段3中,当x等于3时退出循环,所以只在x=1,x=2时打印,故只打印了两次Hello World。
代码段4:
public static void main(String[] args) { for(int x=1; x<=3; x++) { for(int y=1;y<=10; y++) { if(y == 3) { break; } System.out.println("HelloWorld"); } } } }
运行结果:
外循环x从1到3共循环三次,内循环y每次只打印两个Hello World 所以总共会打印六个Hello World。
二.continue
在循环中,continue语句的作用是跳过本次循环体中余下尚未执行的语句,立即进行下一次的循环条件判定,可以理解为仅结束本次循环。
注意:continue语句并没有使整个循环终止。
扩展资料: 在while和do-while循环中,continue语句使得流程直接跳到循环控制条件的测试部分,然后决定循环是否继续进行。在for循环中,遇到continue后,跳过循环体中余下的语句,而去对for语句中的“表达式3”求值,然后进行“表达式2”的条件测试,最后根据“表达式2”的值来决定for循环是否执行。再循环体内,不论continue是作为何种语句中的成分,都将按上述功能执行,这点与break有所不同。
代码段5:
public static void main(String[] args) { for(int x=1; x<=10; x++) { if(x == 3) { continue; } System.out.println("HelloWorld"); } }
运行结果:
代码段5中x从1循环到10,但在x=3的时候跳过一次打印。所以应该打印出9个Hello World。
综上所诉,break是跳出循环,把剩下的都跳过;而continue是跳过循环,只跳过一次,而继续做剩下的。
原文:https://www.cnblogs.com/simple-happy/p/11357873.html