一个循环上的Java两个标签

时间:2014-09-03 17:50:58

标签: java loops

我知道您可以通过以下方式使用循环标签:

foo:
while (something) {
    // ...
    while (somethingElse) {
        if (yetAnotherCondition) {
            break foo;
        }
    }
}

但是,我注意到一个循环有两个标签不是语法错误。一个例子(我知道标签是不必要的,循环只执行一次,但只是为了在一个循环中显示两个标签的容差):

foo:
bar:
for (int i = 0; i < 5; i++) {
    break foo;
}

等效运行

foo:
bar:
for (int i = 0; i < 5; i++) {
    break bar;
}

有人知道什么时候只需一个循环就需要两个标签吗?我在运行时遇到了编译错误,但没有得到。

1 个答案:

答案 0 :(得分:1)

让我们假设您有2种不同的结果需要打破不同的代码。在测试期间,您最终可能会在两者之间注释掉代码。这样它仍然有效而不是破碎。