简而言之,为什么允许这样做?
label1: while (condition)
label2: if (condition)
label3: break label3;
我可以理解标记 thewhile这样你就可以提前结束,或者if你可以打破一个if而不是另一个,但是为什么break呢?你什么时候需要break脱离当前break?
测试后,我发现它label3: break label3;运行了,但什么也没做,继续下一行。这个有什么作用?
另请注意,Java 不允许您破坏所有语句。例如,label: Object o = new Object();给出编译器错误,指出它不是语句,并且 a;是预期的,即使它确实运行Object的构造函数方法(并且,正如我们在为什么 Java 允许在任意语句上标记中断?,Java 允许你标记方法调用;label: new Object();编译得很好)。