是否有任何一点,While循环优于For循环?

时间:2013-07-01 06:59:08

标签: java for-loop while-loop

我在Effective Java中读过一篇关于偏好For循环到While循环的文章。
For循环比While循环有很多优点。但是,首选ForWhile是否有任何缺点?

5 个答案:

答案 0 :(得分:2)

没有缺点。但对于以下情况,使用while循环更为传统

bool condition = false;
while(!condition)
{

}

答案 1 :(得分: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

根据这本书,这是最好的选择。

答案 2 :(得分:1)

for循环被广泛使用并且比循环具有更多优点但是在某些情况下while循环是合适的 案例1.
当你在玩布尔时玩。在这种情况下,如果你使用for循环,你明确定义一个要检查的变量,或者你创建for循环,只有条件值在taht情况下,而循环是可取的

Boolean condition = false;
while(!condition)
{
    condition = doSomething();
}

比较优先使用

 Boolean condition = false;
 for(;condition;)
 {
     condition = doSomething();
 }


案例2.
为了更好的可见性和理解。当您使用迭代器时,最好使用while循环,它可以提供更清晰的代码视图。

while (iterator.hasNext()) {
    String string = (String) iterator.next();
}

答案 3 :(得分:0)

for循环在while循环中的主要优点是可读性。 For循环更清洁,更好看。使用while循环陷入无限循环也更容易。我会说,我同意你的知识,如果你可以使用for循环,你应该,所以只要你坚持这一点,你的编程经验将会更加愉快。

答案 4 :(得分:0)

首先想到的是for循环的JIT优化更容易应用,即如果我们知道循环执行的次数,那么我们可以展开它。

关于循环优化和JIT

的一些讨论