【发布时间】:2020-01-25 04:09:25
【问题描述】:
for(int x = 0; x < 5; x++)
stop2: {
System.out.println("Count");
if (x == 2)
break stop2;
}
stop3: for(int x = 0; x < 5; x++) {
System.out.println("Second");
if (x == 2)
break stop3;
}
在学习 Java 中的标记中断时,我注意到将标签放在 for 语句之前和之后会产生不同的结果。在上面的代码中,带有 stop2 的 for 循环在打印“Count” 3 次后并没有停止,而另一个则停止了。有人可以解释这两者之间的区别吗?我认为标记的 break 会在标签之后立即破坏身体......
【问题讨论】:
-
第一个例子是不合法的。我很惊讶它可以编译。
-
@user207421 - 试试看......并检查我的答案中的 JLS 链接。
标签: java for-loop break labeled-statements