“loop:”在Java代码中这是什么,为什么要编译?

问题描述

这不是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;
            }
        }
    }

解决方法

这段代码使我凝视了几分钟:

loop:
for (;;) {
    // ...
}

我以前从未见过,而且我也不知道Java有一个“ loop”关键字(NetBeans甚至没有像关键字一样给它上色),并且它在JDK 6中可以很好地编译。

有什么解释?