为什么空的java的空条件语句评估为true



我深表歉意,如果在循环的空循环的某个地方提出了一个问题 - ;

我想知道是否有人知道为什么Java会为其解析器/编译器选择以(;;({}循环为true而不是null或void在a中评估一个空的条件语句?

由用户@mchi链接

https://developer.mozilla.org/en/javascript/reference/reference/statements/for

"在每个循环迭代之前要评估的表达式。如果此表达式评估为true,则执行语句。此条件测试是可选的。如果省略遵循构造之后的第一个表达式。">

我只是好奇。

有条件的语句必须是boolean类型才能控制循环,与if()while()语句中的表达式完全相同,必须是boolean类型。

boolean的唯一有效值是truefalse。因此,nullvoid不适用,它们没有任何意义。

至于空的有条件语句,两个可能的值truefalse中,它们选择了true,因为绝对没有任何循环根本不需要循环的循环,虽然有很多情况我们需要我们需要的循环将永远循环的循环(或直到break。(

最新更新