天天看點

java停止循環label_Java中的break Label 和continue Label 例子(跳出多重循環)(轉)...

Java中的break Label 和continue Label 例子(跳出多重循環)(轉)

(2011-03-14 16:20:32)

标簽:

it

1:break break語句提供了一種友善的跳出循環的方法,一般隻退出一重循環。

boolean test=true;

int i=0;

while(test){

i++;

if(i>=10) break;

}

執行這段程式時,盡管while條件表達式始終為真,全循環隻運作10次。

2:标号label

标号提供了一種簡單的break語句所不能實作的控制循環的方法,當在循環語句中碰到break時,不管其它控制變量,都會終止。但是,當你嵌套在幾層循環中想退出循環時又怎麼辦呢?break隻退出一重循環,但你可以用标号label标出你想退出哪一個語句。規定标号label必需放在循環之前(意味着循環必需緊跟着标号)

例子一:

char a;

System.out.println("請輸入一個字母");

outer: //System.out.println("請輸入一個字母");//

如果在這個地方列印語句的話,編譯時就會在下面藍色語句的地方報The label outer is

missing,因為這樣會造成标号沒有放在循環之前

for (int i = 0; i < 10; i++) {

for (int j = 0; j < 10; j++) {

a = (char) System.in.read();

if (a == 'b')

break outer;

if (a == 'c')

continue outer;

}

}

在這個例子中,循環從鍵盤接受100個輸入字元,輸入“b”字元時,break outer語句會結束兩重循環,注重continue

outer語句,它告訴計算機退出現在的循環并繼續執行outer循環。

在Java中可以使用 break/continue 語句來控制多重嵌套循環的跳轉。

例子二:

label1: for (int i = 0; i < 10; i++) {

System.out.println("i = " + i);

for (int x = 0; x < 10; x++) {

System.out.println("x = " + x);

continue label1;

}

}

在這個例子中,我們使用continue label1中斷目前循環,繼續上層循環的執行。而如果使用break

label1的話,則跳出所有label1後面的嵌套循環。類似的功能我們在C#中隻能用goto進行,Java雖然保留了goto關鍵詞,卻不允許使用

(goto為保留字)。需要注意的是Label和下面的循環語句間不能有其他代碼。

從設計角度來說是用Label、goto都不是好主意。

分享:

java停止循環label_Java中的break Label 和continue Label 例子(跳出多重循環)(轉)...

喜歡

java停止循環label_Java中的break Label 和continue Label 例子(跳出多重循環)(轉)...

贈金筆

加載中,請稍候......

評論加載中,請稍候...

發評論

登入名: 密碼: 找回密碼 注冊記住登入狀态

昵   稱:

評論并轉載此博文

java停止循環label_Java中的break Label 和continue Label 例子(跳出多重循環)(轉)...

發評論

以上網友發言隻代表其個人觀點,不代表新浪網的觀點或立場。