关于在 java 中打印 i++ 的循环问题
While loop question about printing i++ in java
int i=10;
while(i<=10) {
System.out.println(i++);
}
为什么这段代码输出一次10,背后的原理是什么?
变量i
在执行System.out.println(i++)
时已经等于10所以输出将是10。之后i
因为i++
变成11但是它会不被打印,因为当 i
为 11.
时 while
语句将为假
如果我们在 System.out.println(++i)
中将 i++
更改为 ++i
,我们将得到不同的结果。变量i
会先递增成为11,然后println
语句会发生;所以输出将是 11.
好吧,道理很简单。 i++ 是 post-increment,它在应用它的变量的值中加 1。
例如:
int a = 10; System.out.println(a++); // it will print 10 System.out.println(a); // it will print 11
int i=10;
while(i<=10) {
System.out.println(i++);
}
为什么这段代码输出一次10,背后的原理是什么?
变量i
在执行System.out.println(i++)
时已经等于10所以输出将是10。之后i
因为i++
变成11但是它会不被打印,因为当 i
为 11.
while
语句将为假
如果我们在 System.out.println(++i)
中将 i++
更改为 ++i
,我们将得到不同的结果。变量i
会先递增成为11,然后println
语句会发生;所以输出将是 11.
好吧,道理很简单。 i++ 是 post-increment,它在应用它的变量的值中加 1。 例如:
int a = 10; System.out.println(a++); // it will print 10 System.out.println(a); // it will print 11