【发布时间】:2011-08-28 10:55:40
【问题描述】:
我在看别人的代码,发现了这段代码:
for (;;) {
我不是 Java 专家;这行代码在做什么?
起初,我以为它会创建一个无限循环,但在这个程序员使用的非常相同的类中
while(true)
哪个(如果我错了,请纠正我)是一个无限循环。这两个是一样的吗?为什么有人会改变他们的方法来重复相同的过程?
任何见解都会有所帮助,
谢谢!
【问题讨论】:
标签: java infinite-loop
我在看别人的代码,发现了这段代码:
for (;;) {
我不是 Java 专家;这行代码在做什么?
起初,我以为它会创建一个无限循环,但在这个程序员使用的非常相同的类中
while(true)
哪个(如果我错了,请纠正我)是一个无限循环。这两个是一样的吗?为什么有人会改变他们的方法来重复相同的过程?
任何见解都会有所帮助,
谢谢!
【问题讨论】:
标签: java infinite-loop
这两行将具有相同的效果。除非您想迷惑别人,否则我想不出使用第一个的充分理由。我猜是字符少了。
【讨论】:
记住 for() 的三个子句是 [1] 初始化 [2] 终止和 [3] 递增。由于终止子句为空,因此循环永远不会终止。这直接取自 C 语法。
【讨论】:
它们完全一样,唯一真正的区别是偏好(for 构造可以稍微快一点)
或者 for 表示它是由 break 或 return 中断的某个迭代,而 while 循环表示同一事物的重复部分,直到出现有意义的结果
【讨论】: