应该在for循环中使用<或<=

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (17)

如果必须遍历一个循环7次,会使用:

for (int i = 0; i < 7; i++)

或:

for (int i = 0; i <= 6; i++)

有两个考虑因素:

  • 性能
  • 可读性

就性能而言,我假设Java或C#。如果使用“小于”或“小于或等于”,是否重要?如果你对一种不同的语言有洞察力,请指出哪一种。

为了提高可读性,我假设基于0的数组。

UPD:我提到的基于0的数组可能会让事情变得混乱。我不是在说迭代数组元素。只是个普通的循环。

下面有一个很好的观点,就是使用一个常量来解释这个神奇的数字是什么。所以如果我有“int NUMBER_OF_THINGS = 7“那么”i <= NUMBER_OF_THINGS - 1“看起来很奇怪,不是吗?”

提问于
用户回答回答于

特别是,它表示(在0的意义上)迭代的次数。当使用基于1的东西(例如JDBC、IIRC)时,我可能会尝试使用<=。因此:

for (int i=0; i < count; i++) // For 0-based APIs

for (int i=1; i <= count; i++) // For 1-based APIs

我认为在实际代码中,性能差异不大。

用户回答回答于

这两个循环迭代7次。我会说,如果你有一个真正的理由,那一个在里面的7是更易读/更清楚,除非你有一个真正的理由另一个。

扫码关注云+社区