【问题标题】:In which conditional statement(loop) condition is not necessary?在哪个条件语句(循环)中不需要条件?
【发布时间】:2016-11-20 15:32:55
【问题描述】:

在哪个条件语句(循环)中不需要条件? 选项:

  1. for循环
  2. do while
  3. while
  4. 这些都不是

我相信答案是 4。这些都不是。但是经过大量的建议和回答,现在我更困惑的是答案可能是1。 for 循环

由于在没有条件的for循环中,它会被视为无限循环。但在 2 中再次出现。 do while loop .....如果我只想执行一次,则可能不需要条件。好吧,我不确定,所以请指导我。谢谢

【问题讨论】:

  • 我觉得只是句法问题,可以写for(;;),但不能写while ()

标签: java for-loop syntax conditional-statements do-while


【解决方案1】:

正确答案是“1.for循环”。

这是一个语法上合法的 Java 循环:for (;;) {...}
它的行为与for (;true;) {...} 完全相同。

在 do-while 循环中,需要一个条件,例如:do {...} while(true);

在while循环中,需要一个条件,例如:while(true) {...}

【讨论】:

  • 供参考,for 循环的这个属性在JLS 14.14.1 中有描述,特别是“如果不存在表达式[分号之间的部分] ...那么包含的语句[循环体]被执行。”。
【解决方案2】:

来自Java Language Specification*:

  • while (boolean-expression) Statement
  • for ( [ForInit] ; [boolean-Expression] ; [ForUpdate] ) Statement
  • do Statement while ( boolean-Expression )

也就是说,for 语句不需要“条件语句”

*) 为清楚起见,在“表达式”中添加了“布尔-”

【讨论】:

    【解决方案3】:

    如果通过条件你的意思是不输入任何东西并且你知道它会产生一个无限循环,那么 for 循环是理论上的答案。实际上,您的循环必须在某个地方结束,可能是内存、时间或电源下降或任何硬件故障都可以终止整个系统。所以这个问题的上下文在这里不清楚。如果目标是连续运行,则可以在 while 中的某些条件下无限使用任何循环,并执行 while 循环。如果您希望某些代码一次又一次地运行,您可以执行其他解决方法。在网络编程中刷新页面或设置 goto 和标签(老技术,不好)

    【讨论】:

      猜你喜欢
      • 2017-03-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-23
      • 2015-02-10
      • 2019-03-25
      • 2020-11-21
      • 2021-03-03
      相关资源
      最近更新 更多