gpt4 book ai didi

java - 在 Java 中,break 如何与嵌套循环交互?

转载 作者:IT老高 更新时间:2023-10-28 20:47:42 25 4
gpt4 key购买 nike

我知道 break 语句会跳出循环,但它是跳出嵌套循环还是仅跳出当前所在的循环?

最佳答案

没有任何修饰,break 将直接跳出最里面的循环。因此在这段代码中:

while (true) { // A
while (true) { // B
break;
}
}

break只退出循环B,所以代码将永远循环。

但是,Java 有一个称为“命名中断”的功能,您可以在其中命名循环,然后指定要中断的循环。例如:

A: while (true) {
B: while (true) {
break A;
}
}

这段代码不会永远循环,因为 break 显式地离开了循环 A

幸运的是,同样的逻辑也适用于 continue。默认情况下,continue 执行包含 continue 语句的最内层循环的下一次迭代,但也可以通过指定标签来跳转到外层循环迭代一个循环继续执行。

在 Java 以外的语言中,例如 C 和 C++,这种“带标签的 break”语句不存在,而且要跳出多重嵌套循环并不容易。它可以使用 goto 语句来完成,尽管这通常是不受欢迎的。例如,假设您愿意忽略 Dijkstra 的建议并使用 goto,下面是 C 中嵌套中断的样子:

while (true) {
while (true) {
goto done;
}
}
done:
// Rest of the code here.

希望这会有所帮助!

关于java - 在 Java 中,break 如何与嵌套循环交互?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5097513/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com