为什么输出为0?

use*_*093 3 java

class T {
    public static void main(String args[]) {
        int x = 0;
        x = x++;
        System.out.println(x);
    }
}
Run Code Online (Sandbox Code Playgroud)

Ric*_*dle 8

因为++是"后增量"运算符 - 它在变量增加之前返回变量的值.

步骤是:

  • 取值i(在递增之前)并记住它
  • 增量 i
  • 将记住的值分配给 i