Java 代码中的“loop:”。这是什么,为什么编译?
2022-08-31 08:56:32
这段代码只是让我盯着屏幕看了几分钟:
loop:
for (;;) {
// ...
}
(137路在这里)
我以前从未见过这个,我不知道Java有一个“循环”关键字(NetBeans甚至没有像关键字一样着色),而且它确实可以与JDK 6编译良好。
这是什么解释?
这段代码只是让我盯着屏幕看了几分钟:
loop:
for (;;) {
// ...
}
(137路在这里)
我以前从未见过这个,我不知道Java有一个“循环”关键字(NetBeans甚至没有像关键字一样着色),而且它确实可以与JDK 6编译良好。
这是什么解释?
它不是一个,它是一个.keyword
label
用法:
label1:
for (; ; ) {
label2:
for (; ; ) {
if (condition1) {
// break outer loop
break label1;
}
if (condition2) {
// break inner loop
break label2;
}
if (condition3) {
// break inner loop
break;
}
}
}
文档。
正如其他海报所说,这是一个标签,而不是一个关键词。使用标签可以执行如下操作:
outer: for(;;) {
inner: for(;;) {
break outer;
}
}
这允许断开外部环路。