2013-07-01 101 views
3

我读过Effective Java中的一篇文章,内容是关于For循环到While循环。
For循环比While循环有许多优点。但是在选择ForWhile时是否有缺点?While循环比For循环更好吗?

+1

什么是'for'环的优势在哪里? – DevZer0

+1

[Java for loop vs. while循环可能出现重复。性能差异?](http://stackoverflow.com/questions/1165457/java-for-loop-vs-while-loop-performance-difference) –

+2

'for'循环和'while'循环是一样的。 –

回答

2

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

bool condition = false; 
while(!condition) 
{ 

} 
+0

看起来好像没有缺点,因为只有一个非主题答案。 – Chechulin

0

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

2

项目45(在本书的第二版)谈论变量的范围。为了最小化局部变量的范围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 

这是根据书中所有是优选的。

+0

+1正确答案。 – NINCOMPOOP

1

For循环是应用广泛的且具有更多的优势超过while循环疗法,但有一些情况下,当while循环perferable
案例1.
当你在玩针对布尔值。在这种情况下,如果使用的是for循环你明确地定义一个变量,以检查或你创造用于与taht情况下,只有条件值循环while循环preferrable

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

被preferrable然后使用

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


案例2.
为更好的可见性和理解。当你在处理迭代器时,最好使用while循环给出更清晰的代码视图。

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