Java困惑:为什么c的值是8而不是9?

use*_*782 0 java

我很困惑为什么下面的代码中 c = 8 而不是 9。

int a = 5, b = 3;
System.out.println(a + b);
int c = a + b++; //
b++;
System.out.println(a + b);
System.out.format("a=%d, b=%d, c=%d %n", a,b,c);
    
    
Run Code Online (Sandbox Code Playgroud)

WJS*_*WJS 6

后自增(b++)或自减(b--)是指先读取值,然后修改。预增(++b)或预减(--b)是指先修改值再读取。