小编典典

一个for在Java循环结构如下-

for (initialization statement; condition check; update)

loop body;

如你所见,这里有四个语句-

初始化语句:第一次进入循环时,该语句仅执行一次。这是一个可选语句,表示你可以选择将此字段保留为空白。它通常用于某些初始化目的。

有条件的检查:此语句可能是最重要的。它检查以验证某些表达式的计算结果是否为true。如果是,则循环执行继续。你可以选择将此字段保留为空,并将其评估为true。

更新:此语句列表从左到右执行,通常用于递增/递减某些变量。

循环主体:循环的主体,将根据条件检查的真值一次又一次地执行。

基本上,这就是执行过程的方式-首先,当首次进入循环时,初始化语句执行一次。然后执行条件检查以查看其评估结果是否为true。如果是,则执行循环体,否则循环执行完成。之后,将执行Update语句。接下来,再次执行条件检查,如果评估结果为true,则再次执行循环主体,然后执行update语句,然后再次执行条件检查…。

现在介绍你的for( ; ; )语法。它没有初始化语句,因此将不会执行任何操作。它的条件检查语句也是空的,这意味着在执行循环体之后它的评估结果为true。接下来,由于更新语句为空,因此不执行任何操作。然后再次执行条件检查,这将再次评估为true,然后整个过程将再次重复。

因此,你看到的是,这基本上是一个无限循环,没有初始化语句,其条件检查将始终为true,并且没有更新语句。这相当于-

while(true)

{

.....

}

这是Java中另一个流行的循环构造。

当使用这样的无限循环时,请务必注意中断条件,因为在大多数情况下,你不能让循环无限期地运行。要打破这些循环,可以使用break语句。结构如下-

if(some_condition_is_true)

break; // This will cause execution to break out of its nearest loop

要么

if(some_condition_is_false)

break;

2020-03-08