我读过Effective Java中的一篇文章,内容是关于For
循环到While
循环。
For
循环比While
循环有许多优点。但是在选择For
到While
时是否有缺点?While循环比For循环更好吗?
回答
没有缺点。但是对于下面的情况,使用while循环更传统
bool condition = false;
while(!condition)
{
}
看起来好像没有缺点,因为只有一个非主题答案。 – Chechulin
for循环while循环的主要优点是可读性。 For循环更清洁,更好看。使用while循环陷入无限循环也容易得多。我会说我同意你的知识,如果你可以使用for循环,你应该,所以只要你坚持这一点,你的编程经验将会更加愉快。
该项目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
这是根据书中所有是优选的。
+1正确答案。 – NINCOMPOOP
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();
}
,想到的第一件事是为循环更容易因此更容易,如果我们知道一个循环将执行那么我们就可以把它打开的次数被应用,即JIT的优化。
循环的优化的一些讨论和JIT
- 1. WHILE循环显示出比FOR循环
- 2. Usind for while while循环更好
- 3. 什么时候do-while循环比while循环更好?
- 4. For循环到While循环
- 5. For循环vs While循环
- 6. for循环while循环
- 7. 在Perl中,while循环通常比for循环快吗?
- 8. PHP for循环while while循环
- 9. 为什么while循环比for循环更有效率?
- 10. 将每个循环更改为for循环和while循环
- 11. Perl while while循环只在for循环中循环一次
- 12. for和while循环
- 13. For和While循环
- 14. PHP For循环到While循环转换
- 15. C++ for循环转换为while循环
- 16. 将for循环转换为while循环
- 17. While循环嵌套for循环
- 18. 将'for'循环转换为'while'循环
- 19. 转换For循环While循环(列表)
- 20. Do-while循环里面的for循环
- 21. For循环代替while循环
- 22. 转换for循环到while循环
- 23. 在for循环中编写while循环
- 24. for循环嵌套在while循环中
- 25. python while循环和for循环
- 26. While循环内的C++ For循环
- 27. 将while循环转换为for循环
- 28. 将while循环转换为for循环
- 29. Python双循环? while和for循环?
- 30. Seq.map比普通for循环更快吗?
什么是'for'环的优势在哪里? – DevZer0
[Java for loop vs. while循环可能出现重复。性能差异?](http://stackoverflow.com/questions/1165457/java-for-loop-vs-while-loop-performance-difference) –
'for'循环和'while'循环是一样的。 –