gpt4 book ai didi

java - for 循环如何工作,特别是 for(;;)?

转载 作者:IT老高 更新时间:2023-10-28 13:53:56 25 4
gpt4 key购买 nike

查看一些旧的公司代码,我发现了一个看起来像这样的 for 循环:

for (;;) {
//Some stuff
}

我尝试了 Google,但找不到任何答案。我是在编程课上睡着了还是这是一个不寻常的循环?

最佳答案

java 中的 for 循环具有以下结构 -

for (initialization statement; condition check; update)
loop body;

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

  1. 初始化语句:该语句只执行一次,在第一次进入循环时。这是一个可选语句,意味着您可以选择将此字段留空。它通常用于某些初始化目的。
  2. 条件检查:这个语句可能是最重要的一个。它检查以验证某个表达式的计算结果是否为真。如果是,则循环执行继续。您可以选择将此字段保留为空,该字段将被评估为 true
  3. 更新:这个语句列表从左到右执行,通常用于增加/减少一些变量。
  4. 循环体:循环体,会根据条件检查的真值反复执行。

基本上这就是执行的方式——首先,当第一次进入循环时,初始化语句执行一次。然后执行条件检查以查看它是否评估为真。如果是,则执行循环体,否则循环执行结束。之后,执行更新语句。接下来,再次执行条件检查,如果结果为真,则再次执行循环体,然后执行更新语句,然后再次执行条件检查......你得到了图片。

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

所以你看,这基本上是一个无限循环,它没有初始化语句,其条件检查将始终评估为真,并且没有更新语句。这相当于 -

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;

关于java - for 循环如何工作,特别是 for(;;)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7081339/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com