continue语句也是单个单词自成一条java语句,例如“continue;”,它和break语句都是用来控制循环的,break语句是用来终止循环的执行,而continue语句则是用来终止当前本次循环,直接进入下一次循环继续执行。请参照以下代码以及运行结果进行对比学习:
for(int i = 1; i <= 10; i++){
if(i == 5){
break;
}
System.out.println("break : i = " + i);
}
System.out.println("----------------------");
for(int i = 1; i <= 10; i++){
if(i == 5){
continue;
}
System.out.println("continue : i = " + i);
}
运行结果如下图所示:
图6-41:break和continue对比
对以上代码以及执行结果进行分析,请看下图:
图6-42:break和continue对比
对于以上程序,当“continue;”语句执行的时候,当前本次循环剩下的代码就不再执行了(不再执行下面的输出语句),直接执行“i++”去了,而break就不同了,当以上程序“break;”语句执行之后整个for循环就结束了。
对于break语句有“break first;”这种写法,其实continue语句也是有这种语法机制的,这里就不再赘述了,大家可以自己编写程序测试一下。
对于break和continue语句的区别有这样一个小的现实情景,大家可以借鉴理解一下:某公司销售部销售经理要进行人员招聘,预约了10个应聘者,这10个应聘者在办公室门口长凳上按照一定的次序坐着等待,销售经理一个一个轮流进行面试,当轮到第3个应聘者面试的时候,销售经理突然接到了一通电话,说家里有事儿了,那么此时销售经理就不得不终止今天的面试,此时销售经理执行了break语句,循环结束了,剩下的就不再面试了。那么假设销售经理没有接到这通电话则会继续轮流面试,他为每一个应聘者准备了5个问题,假设轮到第6个应聘者面试,在面试过程中问完第1个问题之后销售经理就知道这人不适合这个岗位,那么此时剩下的4个问题就不再问了(当前本次循环结束),直接对着门口喊了一句:下一个应聘的进来。这个过程就相当于销售经理执行了continue语句。
总之,break用来终止循环,continue用来中断当前本次循环,直接进入下一次循环继续执行。