我正在尝试用 Java 做:
int i=5;
while(i-- >0) {
System.out.println(i);
}
运行该程序时,输出为:
4
3
2
1
0
我很惊讶地在输出中看到 0
。我是新开发的。谁能证明这一点吗?
最佳答案
在 while
条件 i--> 0
中,首先对变量 i
求值,然后递减.
当i
达到值1
时,它将通过循环测试,然后递减到0
。这就是 print 语句在输出中显示 0
的原因。
下面是一个助记符,您可以使用它来跟踪减量和增量运算符的工作原理:
int i = 5;
System.out.println("When i = 5 then:");
System.out.println("i-- is " + i--);
i = 5;
System.out.println("--i is " + --i);
输出:
When i = 5 then:
i-- is 5
--i is 4
关于java - 为什么 while 循环在条件为假时被处理为真?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36468339/