可能的重复项:
Iterate with for loop or while loop?
Loops in C - for() or while() - which is BEST?
什么时候应该使用for
循环而不是while
循环?
我认为以下循环是相同的,除了它们的语法。如果是这样,那么为什么选择一个而不是另一个呢?
int i;
for (i = 0; i < arr.length; i++) {
// do work
}
int i = 0;
while (i < arr.length) {
// do work
i++;
}
发布于 2010-10-07 01:14:50
在您的例子中,除了在for
循环中少了一行代码之外,您不会获得太多好处。
但是,如果您像这样声明循环:
for(int i = 0; i < x; i++)
您设法将i
保持在循环的作用域内,而不是让它逃逸到代码的其余部分。
此外,在while循环中,变量声明、条件和增量位于3个不同的位置。使用for循环,所有内容都放在一个方便、易读的地方。
最后的想法:
还有一个重要的注意事项。这两者之间存在语义上的差异。而循环,一般来说,意味着有无限的迭代次数。(即直到文件被read..no (不管其中有多少行),for循环应该有一个更确定的迭代次数。(循环遍历集合中的所有元素,我们可以根据集合的大小对其进行计数。)
发布于 2010-10-07 01:14:15
选择for
而不是while
有一个原因:可读性。
通过使用for
循环,您明确表示您的意图是执行某种类型的操作,这些操作需要初始化、“步骤”操作和完成条件。
另一方面,对于while
,您只是说您需要完成条件。
发布于 2010-10-07 01:14:09
当我不一定需要计数器时,我使用'while‘,例如,当你正在读取一个文件,并且你正在等待访问EOF时。在这种情况下,'for‘可能不是最好的选择。当你遍历数组中的项时,我更喜欢使用'for‘,因为它能更好地表达意图。
https://stackoverflow.com/questions/3875114
复制相似问题