break和continue的作用和區(qū)別解析(案例分析)
break和continue的作用和區(qū)別是什么?
一、break和continue的作用
break和continue都是用來(lái)控制循環(huán)結(jié)構(gòu)的,主要作用是停止循環(huán)。
二、break和continue的區(qū)別
1、break用于跳出一個(gè)循環(huán)體或者完全結(jié)束一個(gè)循環(huán),不僅可以結(jié)束其所在的循環(huán),還可結(jié)束其外層循環(huán)。
注意:
(1)只能在循環(huán)體內(nèi)和switch語(yǔ)句體內(nèi)使用break。
(2)不管是哪種循環(huán),一旦在循環(huán)體中遇到break,系統(tǒng)將完全結(jié)束循環(huán),開始執(zhí)行循環(huán)之后的代碼。
(3)當(dāng)break出現(xiàn)在循環(huán)體中的switch語(yǔ)句體內(nèi)時(shí),起作用只是跳出該switch語(yǔ)句體,并不能終止循環(huán)體的執(zhí)行。若想強(qiáng)行終止循環(huán)體的執(zhí)行,可以在循環(huán)體中,但并不在switch語(yǔ)句中設(shè)置break語(yǔ)句,滿足某種條件則跳出本層循環(huán)體。
2、continue語(yǔ)句的作用是跳過(guò)本次循環(huán)體中剩下尚未執(zhí)行的語(yǔ)句,立即進(jìn)行下一次的循環(huán)條件判定,可以理解為只是中止(跳過(guò))本次循環(huán),接著開始下一次循環(huán)。
注意:
(1)continue語(yǔ)句并沒有使整個(gè)循環(huán)終止。
(2)continue 只能在循環(huán)語(yǔ)句中使用,即只能在 for、while 和 do…while 語(yǔ)句中使用。
三、案例分析
先舉兩個(gè)通俗易懂的例子
案例一 對(duì)于break語(yǔ)句
假設(shè)一個(gè)場(chǎng)景,你有一個(gè)漂亮的老婆,然后你犯錯(cuò)了,你老婆罰你做5天家務(wù),每天都是給老婆做菜,但是做菜到第三天后老婆心軟了,原諒你不用做了。
代碼如下(示例):
public class Test1{
public static void main(String[] args){
for (int i = 1; i <= 5; i++) {
System.out.println("快樂的做菜~~~~");
if(i == 3) { //給老婆做菜第3天
break; // 跳出并結(jié)束當(dāng)前循環(huán)的執(zhí)行
}
}
}
}結(jié)果是你給老婆只做了3天的菜

案例二 對(duì)于continue語(yǔ)句
假設(shè)和上面案例同樣的場(chǎng)景,你犯錯(cuò)了,你老婆罰你做5天家務(wù),每天都是做菜,但是做菜到第三天后老婆心軟了,原諒你不用做了,但后面依然不解恨,讓你繼續(xù)做第4、5天。
代碼如下(示例):
public class Test2{
public static void main(String[] args){
for(int i = 1; i <= 5; i++ ){
if(i == 3){ //給老婆做菜第3天
continue;//立即跳出當(dāng)次執(zhí)行,進(jìn)入下一次循環(huán)
}
System.out.println("給老婆第"+ i +"天做菜");
}
}
}結(jié)果是你給老婆只做了第1、2、4、5天的菜

案例三 對(duì)于break語(yǔ)句
代碼如下(示例):
public class Test3 {
public static void main(String[] args) {
for(int i=0; i<12; i++){
if(i==5){
break;
}
System.out.print(i+" ");
}
}
}運(yùn)行結(jié)果:
0 1 2 3 4
程序分析:
①程序輸出了01234 到5的時(shí)候跳出了循環(huán)。
②break語(yǔ)句導(dǎo)致程序終止包含它的循環(huán),并進(jìn)行程序的下一階段(整個(gè)循環(huán)后面的語(yǔ)句),即:不是跳到下一個(gè)循環(huán)周期而是退出循環(huán)。如果break語(yǔ)句包含在嵌套循環(huán)里,它只跳出最里面的循環(huán)。
案例四 對(duì)于continue語(yǔ)句
代碼如下(示例):
public class Test4 {
public static void main(String[] args) {
for(int i=0; i<12; i++){
if(i==5){
continue;
}
System.out.print(i+" ");
}
}
}運(yùn)行結(jié)果:
0 1 2 3 4 6 7 8 9 10 11
程序分析:
①可以看到只有5沒有輸出,也即當(dāng)i=5時(shí)沒有執(zhí)行打印操作,直接到下一次循環(huán)。
②循環(huán)語(yǔ)句里有continue語(yǔ)句時(shí),程序運(yùn)行到此語(yǔ)句時(shí),不在執(zhí)行循環(huán)體里continue后面的語(yǔ)句而是跳到下一個(gè)循環(huán)入口處執(zhí)行下一個(gè)循環(huán)。
到此這篇關(guān)于break和continue的作用和區(qū)別是什么的文章就介紹到這了,更多相關(guān)break和continue作用和區(qū)別內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Springboot并發(fā)調(diào)優(yōu)之大事務(wù)和長(zhǎng)連接
這篇文章主要介紹了Springboot并發(fā)調(diào)優(yōu)之大事務(wù)和長(zhǎng)連接,重點(diǎn)分享長(zhǎng)事務(wù)以及長(zhǎng)連接導(dǎo)致的并發(fā)排查和優(yōu)化思路和示例,具有一定的參考價(jià)值,感興趣的可以了解一下2022-05-05
java并發(fā)等待條件的實(shí)現(xiàn)原理詳解
這篇文章主要介紹了java并發(fā)等待條件的實(shí)現(xiàn)原理詳解,還是比較不錯(cuò)的,這里分享給大家,供需要的朋友參考。2017-11-11
Java讀取properties配置文件時(shí),出現(xiàn)中文亂碼的解決方法
下面小編就為大家?guī)?lái)一篇Java讀取properties配置文件時(shí),出現(xiàn)中文亂碼的解決方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-11-11
淺談Java程序運(yùn)行機(jī)制及錯(cuò)誤分析
這篇文章主要主要介紹了Java虛擬機(jī)(JVM)的有關(guān)內(nèi)容以及Java程序的運(yùn)行機(jī)制和錯(cuò)誤分析,需要的朋友可以了解下。2017-09-09

