while(或任何其他 Java 循环)的主体可以为空。这是因为空语句(仅由分号组成的语句)在 Java 中在句法上是有效的。 现在考虑一下:
i = 100
j = 200
while(++i < --j); // no body in this loop
system.out.println(i);
system.out.println(j);
我注意到,如果 i 的值小于 j,那么循环会自行重复,当条件不满足时,只会执行下面的 2 个语句。我是正确的还是这背后有任何其他逻辑?
最佳答案
是的,它继续重复自己而不执行任何其他语句。
它将测试条件101 < 199
, 102 < 198
, 依此类推,直到它测试 150 < 150
.然后它跳出循环并执行println
。声明。
输出:
150
150
请注意,它不是无限循环的唯一原因是条件本身正在使用 ++
更改值和 --
运营商。
关于java - Java 中没有主体的 while 循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25772774/