[英]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.