简而言之,为什么允许这样做?
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();
编译得很好)。