'<=' versus '<' in for loop
只是有一个问题,即下面的任何一个循环更好,或者两者都相同
选项1
1 2 3 4
| for(i=0; i<=3; i++)
{
//Do something
} |
选项2
1 2 3 4
| for(i=0; i<4; i++)
{
//Do something
} |
- 它们是一样的。它们都将从0到3迭代。
- 这是个人的选择。
- 相关的…stackoverflow.com/questions/12135518/is-faster-than
- 只要您想从0迭代到3,它们都是相同的。这是个人风格的问题。作为我自己,我更喜欢后者。
- 它们都归结为一个机器指令leq或lt。
- 我想指出的是,选项2是常见的做法,除非选项1更适合(上限很可能是一个变量,您希望按原样使用它,不要编写i <= length - 1)
- @马可-在你的工作场所的常见做法,也许,我总是使用选项一,因为我发现它更清楚什么是循环的确切终点。
- 我同意马尔科的观点,for(iterationCursor=0;iterationCursor比for(iterationCursor=0;iterationCursor<=collectionLength-1;iterationCursor++)更自然。
这两个循环在执行中是相同的。for表达式的第二部分是用于确定循环连续性的比较;由于您是从零开始并递增1,所以这两个表达式始终会产生相同的结果。