【发布时间】:2018-10-21 01:31:50
【问题描述】:
哪组条件更适合在 Java 中循环?我觉得他们会做同样的事情,但我不确定我是否没有看到引擎盖下的东西。
For(int i = 0; i
For(int i = 0; i
【问题讨论】:
-
我更喜欢第一个;编译器可能将第二个转换为第一个。但是执行
<=比<更昂贵,更不用说每次迭代都需要做额外的数学运算比没有更昂贵。当然,正如我所提到的,编译器可能会解决这个问题并使讨论变得毫无意义。 -
嗯。考虑到两个选项都不能证明是更好的选择,一半会选择一个,一半会选择另一个。
-
这两个版本反映了程序员是如何思考这个问题的。不同的人有不同的想法。 (在这个现代世界中,我们需要处理这样一个事实,即有些人的想法与我们不同......不要给他们贴上“异端”或“假新闻”的标签。)
-
@flake - 你是“气候变化”。你不存在......并且(记录在案)我既不使用 Mac 也不使用 PC :-)(注意 - 这是为了幽默/荒谬......)
-
@ElliottFrisch 好的,这是另一个链接:Is performance of “less/greater than than” better than “less/greater than or equal to”:“几乎在每个现代 CPU 上,都有比较/无跳转和比较/跳转等指令,它们花费的时间完全相同” --- 现在有 2 个文章链接说没有区别,我还没有看到你提供任何参考来支持你的陈述。如果你有“真正的 CPU”,我有兴趣看到它。
标签: arrays loops object conditional-statements