導航:首頁 > 編程語言 > javaforbreaklabel

javaforbreaklabel

發布時間:2022-04-24 11:03:25

java,嵌套break,continue

你break在哪個層次被調用就跳出改層次,只挑出一層。

特殊的,你可以對某一個循環做標記,然後用 break label的方式直接跳出那個層次的循環。例如
例如:
public static void main(String[] args) {
// 對外層的for 做標記,標記名字是 "outFor"
outFor:
for (int i = 0; i < 10; i++) {
for (int j = 0; j < 10; j++) {
if(j == 5){
// 1. 跳出內層循環
break;
}
// 2. 從內循環直接跳出外層循環
break outFor;
}
// 3. 在外循環,跳出外層循環
break;
}
}

Ⅱ java里break的作用

return語句的作用(1)return從當前的方法中退出,返回到該調用的方法的語句處,繼續執行。(2)return返回一個值給調用該方法的語句,返回值的數據類型必須與方法的聲明中的返回值的類型一致。(3)return後面也可以不帶參數,不帶參數就是返回空,其實主要目的就是用於想中斷函數執行,返回調用函數處。break語句的作用(1)break在循環體內,強行結束循環的執行,也就是結束整個循環過程,不在判斷執行循環的條件是否成立,直接轉向循環語句下面的語句。(2)當break出現在循環體中的switch語句體內時,其作用只是跳出該switch語句體。

Ⅲ Java 標簽的用法...

java的標簽在循環中可以改變循環執行的流程,如下代碼:

inti=0;
System.out.println("label1");
label1:for(intk=0;k<5;k++){
i++;
if(k==2){
breaklabel1;//break標簽,跳出本次循環
}
System.out.println(i);


輸出結果是:

label1

1

2

Ⅳ 什麼是java帶標簽的break和continue語句

break, continue不加標簽,只能跳出或者繼續當前循環,據個例子給你
Lable1: for(int i = 0; i < 5; i++){
label2: for(int j = 0; j < 33; j++){
if(j == 3){
break;//跳出j循環,繼續i循環
break Lable1://調出i循環,所有循環結束
break lable2://跳出j循環,繼續i循環

continue;//繼續j循環
continue Lable1://跳轉到i循環,開始下一次循環
continue lable2://繼續j循環

}

}

}

Ⅳ JAVA返回語句

有 5.3.1 使用break 語句在Java 中,break語句有3種作用。第一,你已經看到,在switch語句中,它被用來終止一個語句序列。第二,它能被用來退出一個循環。第三,它能作為一種「先進」goto 語句來使用。下面對最後 2種用法進行解釋。 使用break 退出循環 可以使用break 語句直接強行退出循環,忽略循環體中任何其他語句和循環條件測試。在循環中遇到break語句時,循環被終止,程序控制在循環後面語句重新開始。下面是一個簡單例子: // Using break to exit a loop. class BreakLoop { public static void main(String args[]) { for(int i=0; i<100; i++) { if(i == 10) break; // terminate loop if i is 10 System.out.println("i: " + i); } System.out.println("Loop complete."); } } 該程序產生如下輸出: i: 0 i: 1 i: 2 i: 3 i: 4 i: 5 i: 6 i: 7 i: 8 i: 9 Loop complete. 正如你看到那樣,盡管for 循環被設計為從 0執行到99,但是當i等於10時,break語句終止程序。break語句能用於任何 Java 循環中,包括人們有意設置無限循環。例如,將上一個程序用while 循環改寫如下。該程序輸出和剛才看到輸出一樣。 // Using break to exit a while loop. class BreakLoop2 { public static void main(String args[]) { int i = 0; while(i < 100) { if(i == 10) break; // terminate loop if i is 10 System.out.println("i: " + i); i++; } System.out.println("Loop complete."); } } 在一系列嵌套循環中使用break 語句時,它將僅僅終止最裡面循環。例如: // Using break with nested loops. class BreakLoop3 { public static void main(String args[]) { for(int i=0; i<3; i++) { System.out.print("Pass " + i + ": "); for(int j=0; j<100; j++) { if(j == 10) break; // terminate loop if j is 10 System.out.print(j + " "); } System.out.println(); } System.out.println("Loops complete."); } } 該程序產生如下輸出: Pass 0: 0 1 2 3 4 5 6 7 8 9 Pass 1: 0 1 2 3 4 5 6 7 8 9 Pass 2: 0 1 2 3 4 5 6 7 8 9 Loops complete. 從中可以看出,在內部循環中break語句僅僅終止該循環,外部循環不受影響。 break ,在這里要記住兩點。首先,一個循環中可以有一個以上break 語句。但要小心,太多break 語句會破壞你代碼結構。其次,switch語句中break僅僅影響該switch 語句,而不會影響其中任何循環。 注意:break 不是被設計來提供一種正常循環終止方法。循環條件語句是專門用來終止循環。只有在某類特殊情況下,才用break 語句來取消一個循環。 把break 當作goto 一種形式來用 break語句除在switch語句和循環中使用之外,它還能作為goto 語句一種「文明」形式來使用。Java 中沒有 goto 語句,因為goto 語句提供一種改變程序運行流程非結構化方式。這通常使程序難以理解和難於維護。它也阻止某些編譯器優化。但是,有些地方goto 語句對於構造流程式控制制是有用而且是合法。例如,從嵌套很深循環中退出時, goto 語句就很有幫助。因此,Java 定義break 語句一種擴展形式來處理這種情況。通過使用這種形式break,你可以終止一個或者幾個代碼塊。這些代碼塊不必是一個循環或一個switch語句一部分,它們可以是任何塊。而且,由於這種形式break 語句帶有標簽,你可以明確指定執行從何處重新開始。你將看到,break帶給你是goto 益處,並舍棄goto 語句帶來麻煩。 標簽break 語句通用格式如下所示: break label; 這里,標簽label 是標識代碼塊標簽。當這種形式break執行時,控制被傳遞出指定代碼塊。被加標簽代碼塊必須包圍break 語句,但是它不需要是直接包圍break塊。這意味著你可以使用一個加標簽break 語句退出一系列嵌套塊。但是你不能使用break 語句將控制傳遞到不包含break 語句代碼塊。 要指定一個代碼塊,在其開頭加一個標簽即可。標簽(label )可以是任何合法有效Java 標識符後跟一個冒號。一旦你給一個塊加上標簽後,你就可以使用這個標簽作為break 語句對象。這樣做會使執行在加標簽塊結尾重新開始。例如,下面程序示例 3 個嵌套塊,每一個都有它自己標簽。break語句使執行向前跳,調過定義為標簽second 代碼塊結尾,跳過2個println ( ) 語句。 // Using break as a civilized form of goto. class Break { public static void main(String args[]) { boolean t = true; first: { second: { third: {System.out.println("Before the break.");if(t) break second; // break out of second blockSystem.out.println("This won't execute"); } System.out.println("This won't execute");}System.out.println("This is after second block."); } } } 運行該程序,產生如下輸出: Before the break. This is after second block. 標簽break 語句一個最普遍用法是退出循環嵌套。例如,下面程序中,外層循環只執行一次: // Using break to exit from nested loops class BreakLoop4 { public static void main(String args[]) { outer: for(int i=0; i<3; i++) { System.out.print("Pass " + i + ": "); for(int j=0; j<100; j++) { if(j == 10) break outer; // exit both loops System.out.print(j + " "); } System.out.println("This will not print"); } System.out.println("Loops complete."); } } 該程序產生如下輸出: Pass 0: 0 1 2 3 4 5 6 7 8 9 Loops complete. 你可以看到,當內部循環退到外部循環時,兩個循環都被終止。記住如果一個標簽不在包圍break塊中定義,你就不能break 到該標簽。例如,下面程序就是非法,且不會被編譯: // This program contains an error. class BreakErr { public static void main(String args[]) { one: for(int i=0; i<3; i++) { System.out.print("Pass " + i + ": "); } for(int j=0; j<100; j++) { if(j == 10) break one; // WRONG System.out.print(j + " "); } } } 因為標簽為one循環沒有包圍break 語句,所以不能將控制傳遞到該塊。 5.3.2 使用continue 語句有時強迫一個循環提早反復是有用。也就是,你可能想要繼續運行循環,但是要忽略這次重復剩餘循環體語句。實際上,goto 只不過是跳過循環體,到達循環尾部。continue 語句是break語句補充。在while 和do while 循環中,continue 語句使控制直接轉移給控制循環條件表達式,然後繼續循環過程。在for 循環中,循環反復表達式被求值,然後執行條件表達式,循環繼續執行。對於這3種循環,任何中間代碼將被旁路。 下例使用continue 語句,使每行列印2個數字: // Demonstrate continue. class Continue { public static void main(String args[]) { for(int i=0; i<10; i++) { System.out.print(i + " "); if (i%2 == 0) continue; System.out.println(""); } } } 該程序使用%(模)運算符來檢驗變數i是否為偶數,如果是,循環繼續執行而不輸出一個新行。該程序結果如下: 0 1 2 3 4 5 6 7 8 9 對於break語句,continue 可以指定一個標簽來說明繼續哪個包圍循環。下面例子運用continue 語句來列印0到9三角形乘法表: // Using continue with a label. class ContinueLabel { public static void main(String args[]) { outer: for (int i=0; i<10; i++) { for(int j=0; j<10; j++) { if(j > i) { System.out.println(); continue outer; } System.out.print(" " + (i * j)); }} System.out.println(); } } 在本例中continue 語句終止計數j循環而繼續計數i下一次循環反復。該程序輸出如下: 0 0 1 0 2 4 0 3 6 9 0 4 8 12 16 0 5 10 15 20 25 0 6 12 18 24 30 36 0 7 14 21 28 35 42 49 0 8 16 24 32 40 48 56 64 0 9 18 27 36 45 54 63 72 81 很好利用continue 語句情況很少,一個原因是Java 提供一系列豐富循環語句,可以適用於絕大多數應用程序。但是,對於那些需要提早反復特殊情形,continue 語句提供一個結構化方法來實現。 5.3.3 使用return語句最後一個控制語句是return。return語句用來明確地從一個方法返回。也就是,return 語句使程序控制返回到調用它方法。因此,將它分類為跳轉語句。盡管對return 語句詳細討論在第 7 章開始,這里對其作簡要地介紹。 在一個方法任何時間,return 語句可被用來使正在執行分支程序返回到調用它方法。下面例子說明這一點。下例中,由於是Java 運行系統調用main() ,因此,return語句使程序執行返回到Java 運行系統。 // Demonstrate return. class Return { public static void main(String args[]) { boolean t = true; System.out.println("Before the return."); if(t) return; // return to caller System.out.println("This won't execute."); } } 該程序結果如下: Before the return. 正如你看到一樣,最後println( ) 語句沒有被執行。一旦return語句被執行,程序控制傳遞到它調用者。 最後一點:在上面程序中,if(t)語句是必要。沒有它,Java 編譯器將標記「執行不到代碼」(unreachable code )錯誤,因為編譯器知道最後println ()語句將永遠不會被執行。為阻止這個錯誤,為這個例子能夠執行,在這里使用if語句來「蒙騙」編譯器。

Ⅵ 求高手看下 java 使用break 跳出到標簽,一直提示標簽未定義

break 跳出當前 switch、while、do、for 語句,break label 跳出 label 標記的 switch、while、do、for。注意,是「跳出」。break 不是 goto,它的作用不是跳轉到程序中指定 label 處。在 Java 中 goto 雖然是保留字,但未啟用。

Ⅶ java裡面的一個break是跳出一層for循環,還是可以跳出幾層

一個break只跳出一層。

Ⅷ 在JAVA中如何跳出當前的多重嵌套循環

在java中,要想跳出多重循環,可以在外面的循環語句前定義一個標號,然後在里層循環體的代碼中使用帶有標號的的break語句,即可跳出外層循環。例如:
ok:
for(int i=0;i<10;i++)
{
for(int j=0;j<10;j++)
{
system.out.println("i="+i+",j="+j);
if(j==5)break ok;
}
}
不過我個人覺得通常不使用標號這種方式,而是讓外層的循環條件表達式的結果可以收到里層循環體代碼的控制,例如,要在二維數組中查找到某個數字。
int arr[][]={{1,2,2},{2,2,5},{4,4}};
boolean found =false;
for(int i=0;i<arr.length&&!found;i++)
{
for(int j=0;j<arr[i].length;j++)
{
system.out.println("i="+i+",j="+j);
if(arr[i][j]==5)
{
found=true;
break;
}
}
}

Ⅸ JAVA break語句 在讀java核心技術的時候看到了break語句,然後自己在eclipse上跑了如下代碼:

因為你while寫的是true,一定會進入循環體,所以a一定會初始化,而for循環寫的是條件,不一定會進循環體,所以會報錯

閱讀全文

與javaforbreaklabel相關的資料

熱點內容
單片機液晶顯示屏出現雪花 瀏覽:890
解壓器用哪個好一點 瀏覽:771
什麼app看小說全免費 瀏覽:503
sha和ras加密 瀏覽:823
韓順平php視頻筆記 瀏覽:636
阿里雲ecs伺服器如何設置自動重啟 瀏覽:596
三星電視怎麼卸掉app 瀏覽:317
如何將pdf轉換成docx文件 瀏覽:32
dos命令批量改名 瀏覽:376
centosphp環境包 瀏覽:601
mfipdf 瀏覽:534
電腦解壓後電腦藍屏 瀏覽:295
外網訪問內網伺服器如何在路由器設置 瀏覽:856
2014統計年鑒pdf 瀏覽:434
linuxoracle用戶密碼 瀏覽:757
股票交易pdf 瀏覽:898
p2papp源碼 瀏覽:308
記錄睡眠軟體app哪個好用 瀏覽:140
液壓助力車壓縮比 瀏覽:217
文件伺服器上如何查看 瀏覽:975