我想用Java做:
int i=5;
while(i-- >0) {
System.out.println(i);
}
Run Code Online (Sandbox Code Playgroud)
运行此程序时,输出为:
4
3
2
1
0
Run Code Online (Sandbox Code Playgroud)
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);
Run Code Online (Sandbox Code Playgroud)
输出:
When i = 5 then:
i-- is 5
--i is 4
Run Code Online (Sandbox Code Playgroud)