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

Java中跳出多層循環的簡單方法

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

如果要從第三層循環跳出第一層循環,可以通過設置標志的方法來實現,但這比較麻煩。當然,如何使用過C或C++的開發人員可以想到使用goto語句,如下面的代碼所示:

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

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

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

下面的標簽定義是不合法的:

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

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

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

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

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

當然,還可以使用continue labelA繼續執行某一層的循環,代碼如下:

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

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

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

當然,也可以按同樣的方法跳出或繼續第二層循環,代碼如下:

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實現FTP服務器
  2. 如何解決Java ME設備碎片問題
  3. 如何在Java Web應用中獲取Spring的ApplicationContext
  4. Java EE的Web服務原理和體系結構
責任編輯:楊鵬飛 來源: BlogJava
相關推薦

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開發者工具箱深拷貝

2010-03-15 14:10:34

ubuntu系統

2010-09-30 14:01:38

2009-08-12 16:47:36

C#轉換農歷

2010-11-23 16:21:07

MySQL大表備份

2019-12-24 11:16:09

Windows 10Windows任務欄

2011-05-18 13:37:26

LINQ

2011-04-06 09:09:17

MySQL數據庫備份

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

2010-08-25 20:37:05

DHCP服務器

2023-08-26 21:06:25

2019-02-13 14:55:22

Windows 10視頻刪除聲音

2020-06-03 11:26:05

算法移動設技術

2010-05-17 10:24:44

MySQL數據庫
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 不卡在线一区 | 1级毛片| 中国一级特黄真人毛片免费观看 | 亚洲视频在线看 | 超碰男人天堂 | 国产高清久久 | 亚洲精品粉嫩美女一区 | 99精品视频一区二区三区 | 欧美日韩网站 | 日本韩国电影免费观看 | av先锋资源 | 国产免费观看一区 | 97国产一区二区 | 久久久久久天堂 | 日韩一区二区三区在线 | 人成在线 | 视频一区在线 | 精品一二区 | 一区二区在线不卡 | 国产精品亚洲一区 | 黑人巨大精品欧美一区二区免费 | 日韩在线免费视频 | 亚洲国产欧美在线 | 99久久婷婷国产精品综合 | 伊人久操 | 亚洲毛片网站 | 国产精品久久久久久久久久久久 | 黄色免费在线网址 | 久久久久久久久蜜桃 | 亚洲欧美日韩在线不卡 | 国产精品色哟哟网站 | 国产精品视频999 | 91久久综合亚洲鲁鲁五月天 | 欧美日韩在线看 | 亚洲视频一区二区三区四区 | 瑟瑟免费视频 | 91传媒在线观看 | 日韩欧美在线视频 | 一级毛片观看 | 日韩免费高清视频 | 一区二区三区视频在线免费观看 |