在Java中,break
语句用于立即退出当前的循环结构(for
、while
等)。然而,当你的代码中有嵌套循环时,普通的break
只会退出最内层的循环。如果你想从更外层的循环中直接退出,就需要使用带标签的break
语句。
outer:
for (int i = 0; i < 10; i++) {
inner:
for (int j = 0; j < 10; j++) {
if (someCondition) {
break; // 这个break只会退出inner循环
}
// 更多代码...
}
// 如果someCondition为真,我们希望直接退出outer循环
}
在上面的例子中,如果someCondition
为真,普通的break
只会退出inner
循环,然后继续执行outer
循环的下一次迭代。但是,如果我们的意图是当someCondition
为真时,不仅退出inner
循环,还要直接退出outer
循环,我们应该使用带标签的break
:
outer:
for (int i = 0; i < 10; i++) {
inner:
for (int j = 0; j < 10; j++) {
if (someCondition) {
break outer; // 这个break outer会直接退出outer循环
}
// 更多代码...
}
}
现在,当someCondition
为真时,break outer;
语句会直接退出outer
循环,而不是仅仅退出inner
循环。