一个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;
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)