关于在 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