最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java中break的第三種用法說明

 更新時(shí)間:2020年11月16日 11:39:16   作者:AI4NLPer  
這篇文章主要介紹了Java中break的第三種用法說明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧

在Java中,break語句有三種用法,第一種是用于終止switch語句中的語句序列,第二種是用于退出循環(huán),然而第三種是用作goto語句的“文明”形式!

我們知道,goto語句會(huì)破壞程序的結(jié)構(gòu),所以我們一般不會(huì)去使用這種功能。但是在某些情況下,goto語句對(duì)于流程控制很有價(jià)值并且結(jié)構(gòu)合法。

比如當(dāng)退出深度嵌套的一系列循環(huán)時(shí),goto語句很好用。雖然Java中保留了goto關(guān)鍵字,但是沒有g(shù)oto語句,也沒有任何用到這個(gè)關(guān)鍵字的地方,所以為了能夠使用類似像goto語句這樣的功能,Java定義了break語句的一種擴(kuò)展形式。

即通過這種形式的break語句,可以中斷一個(gè)或多個(gè)代碼塊。而且這些代碼塊不必是某個(gè)循環(huán)或switch語句的一部分,他們可以是任何代碼塊。

此外這種形式的break語句可以精確指定準(zhǔn)備在哪個(gè)位置繼續(xù)執(zhí)行,因?yàn)檫@種形式的break語句是使用標(biāo)簽來進(jìn)行工作的。

使用標(biāo)簽的break語句的一般語法形式如下:

break label;

label是一個(gè)代碼塊的標(biāo)簽的名稱。它既可以是一個(gè)獨(dú)立的代碼塊,也可以作為另一條語句的目標(biāo)代碼塊。

當(dāng)執(zhí)行這種形式的break語句時(shí),程序的執(zhí)行控制會(huì)跳出由標(biāo)簽命名的代碼塊,具有標(biāo)簽的代碼塊必須包含break語句,但是不必立即包含break語句。

也就是說,可以使用帶有標(biāo)簽的break語句跳出一系列嵌套的代碼。但是不能使用break語句將控制轉(zhuǎn)移出不包含break語句的代碼塊。

為了命名代碼塊,可以在代碼塊之前放一個(gè)標(biāo)簽,標(biāo)簽可以是任何合法的java標(biāo)識(shí)符,后面跟隨一個(gè)冒號(hào)。

只要代碼塊被命名,就可以使用命名標(biāo)簽作為break語句的目標(biāo),這樣一來就可以跳出代碼塊,在標(biāo)識(shí)的代碼塊的末端恢復(fù)執(zhí)行。

如下程序代碼:

class Dome {
 public static void main(String[] args) {
 a:{
  System.out.println("0");
  b:{
  System.out.println("1");
  c:{
  System.out.println("2");
  if(1==1)
  break a;
  }
  System.out.println("3");
  }a
  System.out.println("4");
  }
  System.out.println("5");
 }
}

輸出結(jié)果如下:

0

1

2

5

所以break語句的這種擴(kuò)展形式提供了goto語句的優(yōu)點(diǎn),而沒有g(shù)oto語句的問題。

補(bǔ)充知識(shí):Java多重循環(huán)以及break和continue使用方法

多重循環(huán)

循環(huán)體中包含循環(huán)語句的結(jié)構(gòu)稱為多重循環(huán)。三種循環(huán)語句可以自身嵌套,也可以相互嵌套,最常見的就是二重循環(huán)。在二重循環(huán)中,外層循環(huán)每執(zhí)行一次,內(nèi)層循環(huán)要執(zhí)行一圈。

如下所示:

例如:使用 * 打印長(zhǎng)方形:

實(shí)現(xiàn)代碼為:

執(zhí)行流程:當(dāng) i = 1 時(shí),外層循環(huán)條件成立,進(jìn)入內(nèi)層循環(huán),開始打印第一行內(nèi)容。此時(shí), j 從 1 開始,循環(huán) 8 次,內(nèi)層循環(huán)結(jié)束后換行,實(shí)現(xiàn)第一行 8 個(gè) * 的輸出。

接下來返回外層循環(huán) i 變?yōu)?2 ,準(zhǔn)備打印下一行,依此類推,直到完成長(zhǎng)方形的打印。

 for(int i=0;i<5;i++){
 for(int j=1;j<=5;j++){//i每增加1,也就是for循環(huán)一次,這個(gè)循環(huán)for要循環(huán)完,要循環(huán)5次。也就是一圈。
  }
 }

簡(jiǎn)單的說,就是外層執(zhí)行一次的時(shí)候,里面(第二個(gè)for)已經(jīng)執(zhí)行一遍了

break, continue語句

break與continue語句和都是可以控制循環(huán)的執(zhí)行流程的,其中break語句可以直接強(qiáng)行跳出整個(gè)循環(huán),默認(rèn)情況下直接跳到下一條語句進(jìn)行執(zhí)行。比如我們要輸出類似下面的三角形星號(hào)符。

break可以在if-else中使用直接跳出當(dāng)前循環(huán)。

在多層循環(huán)中, 一個(gè)break語句只向外跳一層。

continue語句的作用是跳過循環(huán)體中剩余的語句并到循環(huán)末尾而強(qiáng)行執(zhí)行下一次循環(huán)。

continue語句只用在for、while、do-while等循環(huán)體中, 常與if條件語句一起使用, 用來加速循環(huán)。

for (int i = 0; i < 3; i++) {
 System.out.println("開始第" + i + "次for循環(huán)");
 if (i == 1) {
   continue;//程序運(yùn)行后面的代碼就不會(huì)執(zhí)行,但循環(huán)不會(huì)退出。
 }
 System.out.println("看看continue后這里執(zhí)行了嗎?");
}

如果以上語句用break的話,1后面的循環(huán)都不會(huì)執(zhí)行

以上這篇Java中break的第三種用法說明就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Java校驗(yàn)是否為連續(xù)的區(qū)間問題

    Java校驗(yàn)是否為連續(xù)的區(qū)間問題

    這篇文章主要介紹了Java校驗(yàn)是否為連續(xù)的區(qū)間問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • JavaWeb開發(fā)入門第一篇必備知識(shí)講解

    JavaWeb開發(fā)入門第一篇必備知識(shí)講解

    JavaWeb開發(fā)入門第一篇主要內(nèi)容介紹的是必備知識(shí)、基礎(chǔ)知識(shí)、搭建JavaWeb應(yīng)用開發(fā)環(huán)境,感興趣的小伙伴們可以參考一下
    2016-04-04
  • idea代碼模板設(shè)置方式

    idea代碼模板設(shè)置方式

    這篇文章主要介紹了idea代碼模板設(shè)置方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • JVM入門之JVM內(nèi)存結(jié)構(gòu)內(nèi)容詳解

    JVM入門之JVM內(nèi)存結(jié)構(gòu)內(nèi)容詳解

    這篇文章主要介紹了JVM入門之JVM內(nèi)存結(jié)構(gòu)內(nèi)容詳解,本篇文章通過簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-09-09
  • 淺談springboot中tk.mapper代碼生成器的用法說明

    淺談springboot中tk.mapper代碼生成器的用法說明

    這篇文章主要介紹了淺談springboot中tk.mapper代碼生成器的用法說明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-09-09
  • Java Calendar日歷與Date日期的相互轉(zhuǎn)換詳解

    Java Calendar日歷與Date日期的相互轉(zhuǎn)換詳解

    這篇文章主要介紹了Java Calendar日歷與Date日期的相互轉(zhuǎn)換詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08
  • 使用Homebrew配置Java開發(fā)環(huán)境操作方法

    使用Homebrew配置Java開發(fā)環(huán)境操作方法

    下面小編就為大家?guī)硪黄褂肏omebrew配置Java開發(fā)環(huán)境操作方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-06-06
  • Java中的關(guān)鍵字之final詳解

    Java中的關(guān)鍵字之final詳解

    這篇文章主要介紹了Java中的關(guān)鍵字之final詳解,final關(guān)鍵字算是個(gè)高頻的java基礎(chǔ)問題了,面試官可能會(huì)問說說final,final修飾的抽象類能夠被繼承嗎等等,下面匯總關(guān)于final關(guān)鍵字的知識(shí)點(diǎn),需要的朋友可以參考下
    2024-01-01
  • Java設(shè)計(jì)模式之策略模式示例詳解

    Java設(shè)計(jì)模式之策略模式示例詳解

    策略模式屬于Java?23種設(shè)計(jì)模式中行為模式之一,該模式定義了一系列算法,并將每個(gè)算法封裝起來,使它們可以相互替換,且算法的變化不會(huì)影響使用算法的客戶。本文將通過示例詳細(xì)講解這一模式,需要的可以參考一下
    2022-08-08
  • java編程abstract類和方法詳解

    java編程abstract類和方法詳解

    這篇文章主要介紹了java編程abstract類和方法詳解,具有一定借鑒價(jià)值,需要的朋友可以參考下。
    2017-12-12

最新評(píng)論

昌图县| 乃东县| 买车| 新建县| 西乌| 宜兰县| 原阳县| 蒙阴县| 三明市| 灵武市| 科技| 新余市| 东山县| 樟树市| 道真| 普洱| 清镇市| 千阳县| 菏泽市| 沙坪坝区| 新龙县| 华池县| 黎城县| 都江堰市| 乌兰察布市| 维西| 临澧县| 蓝山县| 正蓝旗| 琼结县| 喀喇沁旗| 浦江县| 汶上县| 蓬安县| 靖远县| 绥棱县| 瑞金市| 交城县| 富源县| 北宁市| 乡城县|