日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

break和continue特殊玩法“标签”

發(fā)布時(shí)間:2025/3/13 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 break和continue特殊玩法“标签” 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

????java標(biāo)簽顧名思義就是在指定的地方打個(gè)標(biāo)記,程序執(zhí)行到某個(gè)特定的地方返回到標(biāo)記處,再執(zhí)行某些操作。

????介紹“標(biāo)簽”先要介紹break和continue關(guān)鍵字。

????break關(guān)鍵字:指停止當(dāng)前代碼塊

????continue關(guān)鍵字:指停止當(dāng)次代碼塊

????為什么說(shuō)“代碼塊”看了下面就知道,break和continue不光可以在for,while,switch等使用。


問(wèn)題1.

當(dāng)內(nèi)側(cè)循環(huán)i等于2時(shí),結(jié)束兩層循環(huán)?

//設(shè)雙層循環(huán),外層i,內(nèi)層j for (int i = 0; i < 3; i++) {for (int j = 0; j < 3; j++) {if(i==2)break; //結(jié)束兩層循環(huán)System.out.println(j+" "+i);} }

?

結(jié)果發(fā)現(xiàn)break是無(wú)法結(jié)束兩層循環(huán),因?yàn)樗荒芙Y(jié)束內(nèi)層循環(huán)。這個(gè)問(wèn)題如果層數(shù)增多為三層可能更加力不從心啊!

//設(shè)雙層循環(huán),1層i,2層j, 3層k for (int i = 0; i < 3; i++) {for (int j = 0; j < 3; j++) {for (int k= 0; k < 3; k++) {if(j==2)break; //結(jié)束2層 j 循環(huán)System.out.println(j+" "+i+" "+k);}} }

?


問(wèn)題2.

當(dāng)2層循環(huán)j等于2時(shí),停止1層循環(huán)接著運(yùn)行

for (int i = 0; i < 3; i++) {for (int j = 0; j < 3; j++) {if(i==2)continue; //停止當(dāng)次i的循環(huán)System.out.println(j+" "+i);} }

?

?同樣的問(wèn)題也出現(xiàn)在continue上,有時(shí)候算法就是這么“惡心”。同樣的問(wèn)題也可能出現(xiàn)在三層循環(huán)中

for (int i = 0; i < 3; i++) {for (int j = 0; j < 3; j++) {for (int k= 0; k < 3; k++) {if(j==2)continue; //停止當(dāng)前j層循環(huán)System.out.println(j+" "+i+" "+k);}} }

?


提了兩個(gè)問(wèn)題就開(kāi)始介紹“標(biāo)簽”了。

格式: 標(biāo)簽名 : 代碼塊

介紹:標(biāo)簽名 ? 就是英文單詞隨意寫

????? 代碼塊 ? 這個(gè)地方經(jīng)測(cè)試 只要被 “{ }”包裹的代碼塊都可以使用。

實(shí)驗(yàn):

//代碼1 lable1:for (int i = 0; i < 3; i++) {lable2:for (int j = 0; j < 3; j++) {if(i==2)break lable1; //停止lable1System.out.println(j+" "+i);} }//代碼2 Integer[] a ={1,2,3,4}; Integer[] b ={1,2,3,4}; lable1:for (Integer a1 : a) {lable2:for (Integer a2 : b) {if(a1==1)break lable1; //停止lable1 } }//代碼3 Integer a=1; boolean c=true; boolean d=true; lable1:while (c) {lable2:while (d) {a++;if(a==3)break lable1; //停止lable1 System.out.println(a);} }//代碼4 重點(diǎn)介紹 Integer a= 1; label1:{System.out.println(a++);if(a==2) break label1; //停止lable1 }

?

重點(diǎn)介紹代碼4,為什么呢?

因?yàn)檫@個(gè)就是標(biāo)簽的魅力了,你完全可以套很多層。甚至可以編寫一套自己邏輯的循環(huán)體。

Integer a= 1; label1:{lable2:{System.out.println(a++);if(a==2) break label1;} }

?

????“標(biāo)簽”的特點(diǎn)就是做標(biāo)記,利用break和continue關(guān)鍵字就可以任意跳轉(zhuǎn)和跳出。從而解決上面兩個(gè)問(wèn)題了。?

????合理的運(yùn)用break和continue配合“標(biāo)簽”的使用,可以寫出很好的算法,解決算法中奇葩的跳出和跳轉(zhuǎn)。但是缺點(diǎn)也是明顯的就是“思路很亂”。不會(huì)的慎用!!!



?

?

?

?

?

轉(zhuǎn)載于:https://www.cnblogs.com/wy51/p/4421940.html

總結(jié)

以上是生活随笔為你收集整理的break和continue特殊玩法“标签”的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。