gpt4 book ai didi

java - 这两个循环是否总是等价的

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:24:49 25 4
gpt4 key购买 nike

在Java编程语言中,对于任意表达式exp和循环体body,下面两个循环是否等价?唯一的附带条件应该是新引入的变量 b 没有出现在方法的其他地方(并且没有隐藏属性,...)

while(exp) {
body
}

for(boolean b = exp; b; b = exp) {
body
}

最佳答案

是的,在这些假设下。

for 构造在第一次迭代之前检查条件,因此如果 bfalse,则主体将永远不会执行。换句话说,在您的代码示例中,exp 在每次循环迭代之前被精确计算一次,结果用于决定是否执行该迭代。

但为什么要编写这样的代码?

关于java - 这两个循环是否总是等价的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7407762/

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