我可以看到下面的代码用Java编译,但无法理解可能是什么原因?
public class test {
@SuppressWarnings("unused")
public static void main(String[] args) {
abc:System.out.println(9);
}
}
答案 0 :(得分:4)
main
中的行是labelled statement。
这些标签在隔离方面没有多大用处,但它们可以与break
和continue
语句一起使用。
答案 1 :(得分:2)
嗯...因为它是有效的Java
代码。
如果您询问abc:System.out.println(9);
abc
只是标签声明的标签,这在Java中是合法的,但是如果您必须使用它,则意味着您的代码出错了。
它们最常用于标记嵌套循环:
abc: for (int i = 0; i < 5; i++) {
for (int j = i; j < 10; j ++) {
if (j == 4) {
break abc; //breaks the outer loop.
}
}
}