gpt4 book ai didi

java - 检查循环内的条件

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:51:49 26 4
gpt4 key购买 nike

如果“flag”为真,我必须执行第 no 步。 1 否则跳过它。有没有办法在循环中跳过这种不必要的重复检查。 (因为标志的值在循环执行时没有改变)

private void method(boolean flag) {
while (man > woman) {
if (flag) {
// Step no. 1
System.out.println(flag);
}
}
}

最佳答案

我不确定在这个级别上担心优化是否有效。通常,让程序正常运行并继续解决下一个问题更为重要。

话虽如此,有一个名为 loop unswitching 的优化 一些编译器会为你做。他们复制循环,一次有条件,一次没有条件,然后向外移动条件以选择循环。 (在您的示例中,您可以使整个循环有条件,但我认为这只是 Stack Overflow 的简化人工产物。)

但这只是不必过多担心优化的另一个原因,至少在您拥有配置文件并且知道该代码区域负责可检测的运行时间之前。

尽管如此,最好还是尽可能干净地编写代码,解决这样的问题会教给你一些好东西...

事实上,循环不变条件 也困扰着我。我不相信有一个普遍的答案。有涉及高阶函数或 lambda 的奇特答案、“留给编译器”的答案、重构整个外部例程的答案……我通常会赞成使代码看起来更小的任何东西。您必须确定优先顺序才能区分...

关于java - 检查循环内的条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1738663/

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