麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁(yè) > 開(kāi)發(fā) > Java > 正文

Java的“Goto”與標(biāo)簽及使用詳解

2024-07-14 08:42:43
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

goto在Java中是一個(gè)保留字,但在語(yǔ)言中并沒(méi)有用到它;Java沒(méi)有g(shù)oto。但是,Java也能完成一些類似于跳轉(zhuǎn)的操作,主要是依靠:標(biāo)簽。

為什么要使用標(biāo)簽

在迭代語(yǔ)句中,我們可以使用break和continue來(lái)中斷當(dāng)前循環(huán)。但如果出現(xiàn)循環(huán)嵌套的情況,使用break和continue只能中斷內(nèi)層循環(huán),無(wú)法控制到外層的循環(huán)。這時(shí),我們就可以使用標(biāo)簽結(jié)合break和continue,中斷內(nèi)層循環(huán),跳轉(zhuǎn)到標(biāo)簽所在的地方。

標(biāo)簽聲明

標(biāo)簽的聲明很簡(jiǎn)單,加個(gè)冒號(hào)就行,就像下面這樣:

label1:

標(biāo)簽使用

在Java中,標(biāo)簽起作用的唯一地方是在迭代語(yǔ)句之前,注意“唯一”,也就是說(shuō)不能在其它地方單獨(dú)使用,只能結(jié)合迭代語(yǔ)句共同使用。

下面這個(gè)例子展示了帶標(biāo)簽的break以及continue語(yǔ)句在while循環(huán)中的用法:

/** * @author zouqingfeng */public class GotoLabelTest {  public static void main(String[] args) {    int i = 0;    label1: while (true) {      System.out.println("----------------外層循環(huán)開(kāi)始----------------");      while (true) {        i++;        System.out.println("i=" + i);        if (i == 1) {          System.out.println("continue");          continue;        }        if (i == 3) {          System.out.println("continue label1");          continue label1;        }        if (i == 5) {          System.out.println("break");          break;        }        if (i == 7) {          System.out.println("break label1");          break label1;        }        System.out.println("----------------內(nèi)層循環(huán)結(jié)束----------------");      }      System.out.println("----------------外層循環(huán)結(jié)束----------------");    }    System.out.println("End");    /* Output:      ----------------外層循環(huán)開(kāi)始----------------      i=1      continue      i=2      ----------------內(nèi)層循環(huán)結(jié)束----------------      i=3      continue label1      ----------------外層循環(huán)開(kāi)始----------------      i=4      ----------------內(nèi)層循環(huán)結(jié)束----------------      i=5      break      ----------------外層循環(huán)結(jié)束----------------      ----------------外層循環(huán)開(kāi)始----------------      i=6      ----------------內(nèi)層循環(huán)結(jié)束----------------      i=7      break label1      End     */      }}

 從打印的結(jié)果可以看出

當(dāng)i==1時(shí),執(zhí)行continue后,沒(méi)有執(zhí)行“內(nèi)層循環(huán)結(jié)束”打印語(yǔ)句,而是打印了“i=2”,說(shuō)明continue使執(zhí)行點(diǎn)回到內(nèi)層循環(huán)起始處,并繼續(xù)下一次迭代。

當(dāng)i==3時(shí),執(zhí)行continue label1后,沒(méi)有執(zhí)行“內(nèi)層循環(huán)結(jié)束”打印語(yǔ)句,也沒(méi)有執(zhí)行“外層循環(huán)結(jié)束”,而是打印了“外層循環(huán)開(kāi)始”,說(shuō)明帶標(biāo)簽的continue,對(duì)內(nèi)外層循環(huán)都起作用,continue label1同時(shí)中斷內(nèi)外層循環(huán),直接跳轉(zhuǎn)到label1標(biāo)簽處,隨后,從外部循環(huán)開(kāi)始下一次的迭代。

當(dāng)i==5時(shí),執(zhí)行break后,沒(méi)有執(zhí)行“內(nèi)層循環(huán)結(jié)束”,但執(zhí)行了“外層循環(huán)結(jié)束”,說(shuō)明break只中斷并跳出內(nèi)層循環(huán),回到了外層循環(huán)中。

當(dāng)i==7時(shí),執(zhí)行break label1后,直接打印了“End”,說(shuō)明帶標(biāo)簽的break,對(duì)內(nèi)外層循環(huán)都起作用,break label1同時(shí)中斷內(nèi)外層循環(huán),直接跳轉(zhuǎn)到label1標(biāo)簽處,但并不重新進(jìn)入迭代。也就是說(shuō),break label1完全終止了兩個(gè)循環(huán)。

總結(jié)

1.一般的continue只會(huì)對(duì)其所在的循環(huán)起作用,退回循環(huán)的開(kāi)頭,并繼續(xù)執(zhí)行。
2.帶標(biāo)簽的continue會(huì)使執(zhí)行點(diǎn)到達(dá)標(biāo)簽的位置,并重新進(jìn)入緊接在標(biāo)簽后的循環(huán)。
3.一般的break會(huì)中斷并跳出當(dāng)前循環(huán)。
4.帶標(biāo)簽的break會(huì)中斷并跳出標(biāo)簽所指的循環(huán)。
5.在Java中,標(biāo)簽起作用的唯一地方是在迭代語(yǔ)句之前。
6.在Java中,使用標(biāo)簽的唯一理由是有嵌套循環(huán)存在,并且想從多層嵌套中break或continue。


注:相關(guān)教程知識(shí)閱讀請(qǐng)移步到JAVA教程頻道。
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 久久久久国| 中文字幕在线观看精品 | 国产一区二区高清在线 | 性生活视频一级 | 国产精品剧情一区二区在线观看 | 欧美色大成网站www永久男同 | 香蕉成人在线视频 | 久久精品无码一区二区三区 | 久久久婷婷 | 成年人视频免费 | 91美女视频在线观看 | 日韩精品久久久久久久电影99爱 | 最新福利在线 | 精品国产91一区二区三区 | 一区二区三区播放 | 91精品国产综合久久婷婷香蕉 | 欧美性激情视频 | 性欧美极品xxxx欧美一区二区 | 一区二区三区四区高清视频 | 国产永久免费观看 | 国产精品www | 成人一区二区三区在线 | 久久男人| 午夜小视频免费观看 | 中文字幕一区在线观看视频 | 少妇的肉体k8经典 | 激情小说激情图片激情电影 | 国产成人在线一区 | 99最新地址 | 黄视频免费在线观看 | 国产欧美在线观看不卡一 | 国产精品久久久久无码av | 国产系列 视频二区 | 91av在线影院 | 日韩欧美激情视频 | 中文字幕偷拍 | 87成人免费看片 | 午夜爱爱福利 | 久久精品视频16 | 深夜影院a | 亚洲天堂成人在线 |