while循环java - while for do while java




是否有必须使用while/do-while而不是for?的情况? (3)

“绝对”? 我会说不。 然而 ,在Java中循环测试也需要一个非常复杂的“for”条件。 这使得一个回到布尔绝对值:条件必须评估true或false。

因此,虽然我无法想象编译器无法被操作以执行正确的逻辑的情况,但我可以在非常短的顺序中看到维护程序的任何人可能希望你扔石头(或者可能认为你已经被扔石头)。

在相关的说明中,在Java中无法用机器语言完成任何操作。 但是有很多很多很好的理由不使用机器语言。 当你试图让“可爱”编写代码时,大多数都同样适用。 这一切都很有趣和游戏,直到你在0300与愤怒的客户打电话,或者你的老板,或两者兼而有之。

这是我和老师之间长期争论的焦点。 是否有一种情况, 绝对不能使用for循环代替while / do - while循环? 换句话说,是否存在for -loop不能代替while循环的特定情况; 是/ while - while以任何方式“与众不同”?


不,你总是可以将for循环重写为while循环,并且任何时候都看起来像for循环。

<init>
while (condition) {
...
<increment>
}

相当于:

for (<init>; <condition>; <increment>) {
...
}

其他答案已经涵盖了while循环和for循环之间的等价。 那是,

while(<expr>) {
  <body>
}

相当于

for(;<expr>;) {
}

请注意,使用do - while循环可以进行类似的缩减。 任何do - while循环

do {
  <body>
} while(<expr>);

在功能上等同于

for (boolean firstIter = true; firstIter || <expr>; firstIter = false) {
  <body>
}






do-while