[英]What does the keyword loop in Java do?
public class Test
{
public void add(int a)
{
loop: for (int i = 1; i < 3; i++)
{
for (int j = 1; j < 3; j++)
{
if (a == 5)
{
break loop;
}
System.out.println(i * j);
}
}
}
public static void main(String[] str)
{
Test t=new Test();
t.add(4);s
}
}
這是終止兩個嵌套循環的捷徑。 引用Java教程中的Branching Statements頁面 :
break語句終止帶標簽的語句; 它不會將控制流轉移到標簽上。 控制流緊接在標記(終止)的語句之后轉移到該語句。
和
無標簽的break語句終止for,while或do-while語句的最里面的開關,但是帶標簽的break終止外部的語句。
它不是關鍵字,而是您選擇的標簽。 只需用labelName: ...
標記外部循環labelName: ...
。 然后,您可以通過調用break labelName;
來嵌套循環並從中退出break labelName;
:
yourLabelName: for(int i = 0; i < 3; ++i) {
for (int j = 0; j < 7; ++j) {
break yourLabelName;
}
}
// After calling break yourLabelName, you will end up here
在您的情況下,當a == 5
,兩個循環都退出,並且add()
方法終止(返回)。
首先這個代碼將無法編譯,因為是s
出現在你的代碼。 t.add(4);s
。 刪除s
。 刪除s
您的代碼輸出將為1 2 2 4
。 而循環不是keyword
而是Java中的label expression
其label
語法
label strLabel:
//Labeled block of statements
可以用break
和continue
指定標簽
伴侶,
loop在Java中不是任何關鍵字。 它的標簽。 標簽始終會中斷使用,並繼續傳遞控制流。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.