continue語(yǔ)句也是單個(gè)單詞自成一條java語(yǔ)句,例如“continue;”,它和break語(yǔ)句都是用來(lái)控制循環(huán)的,break語(yǔ)句是用來(lái)終止循環(huán)的執(zhí)行,而continue語(yǔ)句則是用來(lái)終止當(dāng)前本次循環(huán),直接進(jìn)入下一次循環(huán)繼續(xù)執(zhí)行。請(qǐng)參照以下代碼以及運(yùn)行結(jié)果進(jìn)行對(duì)比學(xué)習(xí):
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);
}
運(yùn)行結(jié)果如下圖所示:
圖6-41:break和continue對(duì)比
對(duì)以上代碼以及執(zhí)行結(jié)果進(jìn)行分析,請(qǐng)看下圖:
圖6-42:break和continue對(duì)比
對(duì)于以上程序,當(dāng)“continue;”語(yǔ)句執(zhí)行的時(shí)候,當(dāng)前本次循環(huán)剩下的代碼就不再執(zhí)行了(不再執(zhí)行下面的輸出語(yǔ)句),直接執(zhí)行“i++”去了,而break就不同了,當(dāng)以上程序“break;”語(yǔ)句執(zhí)行之后整個(gè)for循環(huán)就結(jié)束了。
對(duì)于break語(yǔ)句有“break first;”這種寫(xiě)法,其實(shí)continue語(yǔ)句也是有這種語(yǔ)法機(jī)制的,這里就不再贅述了,大家可以自己編寫(xiě)程序測(cè)試一下。
對(duì)于break和continue語(yǔ)句的區(qū)別有這樣一個(gè)小的現(xiàn)實(shí)情景,大家可以借鑒理解一下:某公司銷售部銷售經(jīng)理要進(jìn)行人員招聘,預(yù)約了10個(gè)應(yīng)聘者,這10個(gè)應(yīng)聘者在辦公室門(mén)口長(zhǎng)凳上按照一定的次序坐著等待,銷售經(jīng)理一個(gè)一個(gè)輪流進(jìn)行面試,當(dāng)輪到第3個(gè)應(yīng)聘者面試的時(shí)候,銷售經(jīng)理突然接到了一通電話,說(shuō)家里有事兒了,那么此時(shí)銷售經(jīng)理就不得不終止今天的面試,此時(shí)銷售經(jīng)理執(zhí)行了break語(yǔ)句,循環(huán)結(jié)束了,剩下的就不再面試了。那么假設(shè)銷售經(jīng)理沒(méi)有接到這通電話則會(huì)繼續(xù)輪流面試,他為每一個(gè)應(yīng)聘者準(zhǔn)備了5個(gè)問(wèn)題,假設(shè)輪到第6個(gè)應(yīng)聘者面試,在面試過(guò)程中問(wèn)完第1個(gè)問(wèn)題之后銷售經(jīng)理就知道這人不適合這個(gè)崗位,那么此時(shí)剩下的4個(gè)問(wèn)題就不再問(wèn)了(當(dāng)前本次循環(huán)結(jié)束),直接對(duì)著門(mén)口喊了一句:下一個(gè)應(yīng)聘的進(jìn)來(lái)。這個(gè)過(guò)程就相當(dāng)于銷售經(jīng)理執(zhí)行了continue語(yǔ)句。
總之,break用來(lái)終止循環(huán),continue用來(lái)中斷當(dāng)前本次循環(huán),直接進(jìn)入下一次循環(huán)繼續(xù)執(zhí)行。