Java在一个循环上有两个标签
我知道可以通过以下方式使用循环标签:Java在一个循环上有两个标签,java,loops,Java,Loops,我知道可以通过以下方式使用循环标签: foo: while (something) { // ... while (somethingElse) { if (yetAnotherCondition) { break foo; } } } 然而,我注意到一个循环有两个标签并不是一个语法错误。例如(我知道标签是不必要的,循环只执行一次,但只是为了显示一个循环上两个标签的余量): foo: 酒吧: 对于(int i=0;
foo:
while (something) {
// ...
while (somethingElse) {
if (yetAnotherCondition) {
break foo;
}
}
}
然而,我注意到一个循环有两个标签并不是一个语法错误。例如(我知道标签是不必要的,循环只执行一次,但只是为了显示一个循环上两个标签的余量):
foo:
酒吧:
对于(int i=0;i<5;i++){
破福;
}
相当于
foo:
bar:
for (int i = 0; i < 5; i++) {
break bar;
}
foo:
酒吧:
对于(int i=0;i<5;i++){
断杆;
}
有人知道什么时候一个循环只需要两个标签吗?运行此程序时,我预期会出现编译错误,但没有出现编译错误。假设您有两种不同的结果,需要转换为不同的代码。在测试过程中,您可能会注释掉中间的代码。这样,它仍然可以工作,而不是中断。标签是任意的,并且(在
switch
语句之外)它们实际上是用于嵌套循环中的。您不需要它,但它们从来不会拒绝它,因此编译器接受它。
foo:
bar:
for (int i = 0; i < 5; i++) {
break bar;
}