以“true”作为停止条件的java for循环?

以“true”作为停止条件的java for循环?,java,for-loop,Java,For Loop,我有一个需要实现的程序,它有以下代码: for (int n = 1024; true; n+=n) 我找不到任何其他具有这种格式的java循环示例。这是什么意思?我试着研究它,但我甚至不知道要搜索什么-这对我来说完全是陌生的。为什么不使用另一个循环?例如,使用do while代替do while for (int n = 1024; true; n+=n) 您可以通过以下方式进行变通: int n=1024; do{ //your code n+=n; }while(condition=

我有一个需要实现的程序,它有以下代码:

for (int n = 1024; true; n+=n)

我找不到任何其他具有这种格式的java循环示例。这是什么意思?我试着研究它,但我甚至不知道要搜索什么-这对我来说完全是陌生的。

为什么不使用另一个循环?例如,使用do while代替do while

for (int n = 1024; true; n+=n)
您可以通过以下方式进行变通:

int n=1024;
do{ 
//your code
n+=n;
}while(condition==false);
基本声明:

当表达式为真时,您正在询问该情况。上面的方括号表示它是可选的

其含义如下所述:

如果表达式不存在,或者它存在,并且其计算结果(包括任何可能的取消装箱)为true,则执行包含的语句

如果表达式存在且其计算结果(包括任何可能的取消装箱)为假,则不采取进一步的操作,forstatement正常完成。 所以,表达式存在并计算为true,因为true计算为true。所以,语句被执行,并将继续执行,因为表达式仍然为true


因此,除非循环中存在中断、返回、抛出或System.exit,否则它是一个无限循环。

这意味着循环将永远运行,给出或接受中断语句。这是有道理的,但听起来非常鲁莽![耸耸肩]如果这是你需要它做的,那就不是鲁莽的。有时,这可能需要一个循环永远持续下去,直到某件事情发生,而这不能作为条件写入,因此循环使用break或return退出,因为for循环中的条件是可选的,默认为true,你通常不会看到一个明确的事实;您将看到int n=1024;n+=n。
for ( [ForInit] ; [Expression] ; [ForUpdate] ) Statement