我在Effective Java中读过一篇关于优先使用For
循环而不是循环的文章While
。
For
与循环相比,循环有很多优点While
。但是偏爱有什么缺点For
吗While
?
问问题
3613 次
5 回答
2
没有缺点。但是对于以下情况,使用 while 循环更为传统
bool condition = false;
while(!condition)
{
}
于 2013-07-01T07:03:03.723 回答
2
第45条(在本书的第 2 版中)讨论了变量的范围。为了最小化局部变量的范围,while
循环有一个缺点:
boolean condition = false;
while (!condition) {
// do stuff
}
// Here the variable condition still exists
for
循环可以限制可见性
for (boolean condition = false; !condition;) {
// do stuff
}
// Here the variable condition is out of scope and can be garbage collected
根据这本书,这就是最好的。
于 2013-07-01T07:06:55.383 回答
1
For 循环被广泛使用,并且比 while 循环具有更多优势,但在某些情况下,while 循环是可取的
情况 1.
当您在布尔值上播放时。在这种情况下,如果您使用 for 循环,则明确定义要检查的变量,或者在这种情况下仅使用条件值创建 for 循环,而循环是可取的
Boolean condition = false;
while(!condition)
{
condition = doSomething();
}
是最好的,然后使用
Boolean condition = false;
for(;condition;)
{
condition = doSomething();
}
案例 2.
为了更好地了解和了解。当您使用迭代器时,最好使用 while 循环,它可以更清晰地查看代码。
while (iterator.hasNext()) {
String string = (String) iterator.next();
}
于 2013-07-01T07:10:20.773 回答
0
for 循环优于 while 循环的主要优点是可读性。For 循环更干净,也更美观。使用while循环陷入无限循环也容易得多。我会说我同意你的知识,如果你可以使用 for 循环,你应该这样做,所以只要你坚持下去,你的编程体验将会更加愉快。
于 2013-07-01T07:04:38.700 回答
0
首先想到的是 for 循环的 JIT 优化更容易,因此更有可能被应用,即如果我们知道循环将执行的次数,那么我们就可以展开它。
关于循环优化和 JIT 的一些讨论
于 2013-07-01T07:31:42.803 回答