【发布时间】:2013-02-25 19:14:46
【问题描述】:
我正在用 JAVA 编码,突然我写了一些这样的代码:
int x = 10;
boolean b = true;
l1: b = x > 1;
l2: while (b) {
// some code
break l2;
}
令我惊讶的是,代码编译并正常运行。我对我的l1 标签什么也没做,但为什么它可以用这个语句正确编译?
我知道 java 中的 goto 存在但未使用 (Java Language Keywords) 但无论如何我可以跳转到它吗?
【问题讨论】:
-
标签在这里用于您想要跳出许多嵌套循环的情况。您将无法转至
l1。 -
Iirc,这是因为您可能有 2 个嵌套循环,并且您可能想要突破到外部循环。
-
为什么你认为它不应该工作?如果语法正确,它应该可以编译。
-
@VishalK 它什么也没做
-
我的错误。这是错误的说法..