成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Java中跳出多層循環(huán)的簡單方法

開發(fā) 后端
本文詳細(xì)介紹跳出多層循環(huán)的簡單方法(Java版),希望通過本文的學(xué)習(xí),能對你有所幫助。
在Java程序中可能使用多層循環(huán)來處理復(fù)雜的邏輯。但如果要從最內(nèi)層循環(huán)跳出最外層循環(huán)是比較麻煩。下面的代碼是一個(gè)三層循環(huán)的例子:
String[]arr=newString[]{"a","b","c"};    
for(Strings:arr)
{
  for(Stringss:arr)
  {
    for(Stringsss:arr)
    {
      System.out.println(sss);
    }
  }       
}

如果要從第三層循環(huán)跳出第一層循環(huán),可以通過設(shè)置標(biāo)志的方法來實(shí)現(xiàn),但這比較麻煩。當(dāng)然,如何使用過C或C++的開發(fā)人員可以想到使用goto語句,如下面的代碼所示:

String[]arr=newString[]{"a","b","c"};  
 
for(Strings:arr)
{
  for(Stringss:arr)
  {
    for(Stringsss:arr)
    {
      System.out.println(sss);
      goto label;
    }
  }       
}
label:

雖然上面的代碼看似可行,不過Java雖然還有g(shù)oto關(guān)鍵字,但這個(gè)關(guān)鍵字卻不能使用(Java編譯器會拋出異常)。不過Java還提供了另外一種類似goto的解決方案,這就是break n和continue n。其中n表示標(biāo)簽名。只是在Java中只能在for、while、do...while三種循環(huán)語句前面定義,標(biāo)簽與循環(huán)體之間不能有任何其他的語句,如下面的標(biāo)簽定義是合法的:

label: //定義標(biāo)簽
for(inti=0;i<10;i++)
{
  ... ...
}

下面的標(biāo)簽定義是不合法的:

label: //定義標(biāo)簽
System.out.println("abcd"); //此處不能有任何Java語句
for(inti=0;i<10;i++)
{
  ... ...
}

使用break n跳出多層循環(huán)的代碼如下:

labelA:
for(Strings:arr)
{      
  for(Stringss:arr)
  {
    for(Stringsss:arr)
    {
      System.out.print(sss);
      breaklabelA;
    }
  }       
}

上面的代碼只輸出了一個(gè)a,在第三層使用break labelA可以理解為如下的代碼形式(雖然這段代碼并不符合Java語法規(guī)則):

for(Strings:arr)
{      
  for(Stringss:arr)
  {
    for(Stringsss:arr)
    {
      System.out.print(sss);
      gotolabelA;
    }
  }       
}
labelA:

當(dāng)然,還可以使用continue labelA繼續(xù)執(zhí)行某一層的循環(huán),代碼如下:

labelA:
for(Strings:arr)
{      
  for(Stringss:arr)
  {
    for(Stringsss:arr)
    {
      System.out.print(sss);
      continuelabelA;
    }
  }       
}

上面的代碼輸出“aaa”,讀者可以將上面的代碼理解為如下的形式(只是代碼形式,并不符合Java語法規(guī)則):

for(Strings:arr)
{      
  for(Stringss:arr)
  {
    for(Stringsss:arr)
    {
      System.out.print(sss);
      gotolabelA;
    }
  }       
labelA:
}

當(dāng)然,也可以按同樣的方法跳出或繼續(xù)第二層循環(huán),代碼如下:

for(Strings:arr)
{      
  labelA:
  for(Stringss:arr)
  {
    for(Stringsss:arr)
    {
      System.out.print(sss);
      breaklabelA;
    }
  }       
}

上面的代碼輸出“aaa”。

for(Strings:arr)
{      
  labelA:
  for(Stringss:arr)
  {
    for(Stringsss:arr)
    {
      System.out.print(sss);
      continuelabelA;
    }
  }       
}

上面的代碼輸出“aaaaaaaaa”。

【編輯推薦】

  1. 如何用Java實(shí)現(xiàn)FTP服務(wù)器
  2. 如何解決Java ME設(shè)備碎片問題
  3. 如何在Java Web應(yīng)用中獲取Spring的ApplicationContext
  4. Java EE的Web服務(wù)原理和體系結(jié)構(gòu)
責(zé)任編輯:楊鵬飛 來源: BlogJava
相關(guān)推薦

2010-08-06 13:23:58

NFS配置

2010-07-20 14:07:31

更改TELNET端口

2010-06-08 17:46:31

OpenSUSE安裝

2024-08-02 08:43:24

JavaScript開發(fā)者工具箱深拷貝

2010-03-15 14:10:34

ubuntu系統(tǒng)

2010-09-30 14:01:38

2010-11-23 16:21:07

MySQL大表備份

2009-08-12 16:47:36

C#轉(zhuǎn)換農(nóng)歷

2019-12-24 11:16:09

Windows 10Windows任務(wù)欄

2011-05-18 13:37:26

LINQ

2011-04-06 09:09:17

MySQL數(shù)據(jù)庫備份

2010-03-03 13:56:43

Linux ubant

2023-03-16 08:14:57

2011-03-02 10:01:15

2011-03-01 09:53:18

卸載PureFTPd

2019-02-13 14:55:22

Windows 10視頻刪除聲音

2010-08-25 20:37:05

DHCP服務(wù)器

2023-08-26 21:06:25

2020-06-03 11:26:05

算法移動設(shè)技術(shù)

2010-05-17 10:24:44

MySQL數(shù)據(jù)庫
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 狠狠综合久久av一区二区老牛 | 999久久久久久久久6666 | 一级h片| 亚洲高清免费视频 | 亚洲精品久久久久久一区二区 | 成人二区三区 | 亚洲视频一区在线播放 | 亚洲一区电影 | 国产精品一区一区三区 | 国产日韩精品一区 | 国产精品一区二区三区四区 | 日韩一级在线 | 一区二区三区av | 天天玩天天操天天干 | 亚洲成人一区二区 | 亚洲成色777777在线观看影院 | 精品视频999 | 久久久久久免费免费 | 成年人在线观看视频 | www.久久影视| 热99精品视频 | 欧美一级毛片久久99精品蜜桃 | 国产片一区二区三区 | 懂色一区二区三区免费观看 | 中文字幕久久精品 | 亚州春色 | 99热热热热| 日韩综合网 | 亚洲国产小视频 | 欧美一级久久 | 成人久久久 | 欧美视频第二页 | 国产aⅴ精品 | 日本激情视频网 | 97色在线观看免费视频 | 久久久蜜桃一区二区人 | av天空| 少妇诱惑av | 在线看91| 国产精品一区在线 | 亚洲欧美日韩精品久久亚洲区 |