gpt4 book ai didi

java - do-while 循环的范围?

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:05:56 25 4
gpt4 key购买 nike

在 Java 中,do-while 循环体和循环条件不属于同一范围。所以下面的代码不会编译:

do {
boolean b = false;
} while (b); // b cannot be resolved to a variable

但这段代码对我来说确实有意义。

此外,如果正文和条件在同一范围内,我找不到任何陷阱;因为主体总是会被执行,而 Java 没有 Goto,所以我不知道如何跳过最外层 do-while 主体范围中的变量声明。即使有可能,编译器也总能检测到这种可能性,然后产生编译时错误。

这种行为是否有任何原因(除了将 do-while 循环保持为与 while 相同的格式)?我真的很好奇。感谢您的任何意见!

最佳答案

按照您的逻辑,b 在第一次使用之前不会被定义:

do {
continue;
boolean b = false;
} while (b); // b cannot be resolved to a variable

请注意,boolean 标志通常是一种代码味道,请尽量避免使用它们而不是与之抗争。

关于java - do-while 循环的范围?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8068814/

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