java - Java 中没有主体的 while 循环

标签 java while-loop

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/

相关文章:

java - 用 Java 签署 AWS S3 链接(包括版本控制)

java - 在 weblogic : cannot cast to com. sun.xml.ws.spi.db.DatabindingProvider 上部署 webservice 时出错

java - 如何使用 Spring WebFlux Reactive 方式在处理函数中使用 Mono 和 Flux

python - 什么是IndexError?我不断得到它

python - While 循环在允许 if 语句运行之前要求输入两次

java - 读取非负整数列表并显示最大整数、最小整数以及所有整数的平均值

java - MapBinder 在 Guice 3.0 中不可用

java - 如何防止GWT对话框被拖出屏幕?

c - 带关系运算符的 while 循环

python - python中的while语句