Java运算符 - println使用++的工作原理

nrc*_*001 -4 java

试图理解为什么x ++在打印后计算,而x = x + 1在打印之前计算:

    int x = 3;
    System.out.println("Ans: " + (x++));
    System.out.println("Ans: " + (x=x+1));

    Ans: 3
    Ans: 5
Run Code Online (Sandbox Code Playgroud)

Bar*_*chs 6

因为这是它的定义方式.x++是后增量,如果你使用++x它是预增量,就像x=x+1.

Java文档中的更多信息(强调我的):

可以在操作数之前(前缀)或之后(后缀)应用递增/递减运算符.的代码result++;++result;将结果两端被加一.唯一的区别是前缀version(++result)计算增量值,而后缀version(result++)计算为原始值.如果您只是执行简单的增量/减量,那么选择哪个版本并不重要.但是,如果您在较大的表达式中使用此运算符,则您选择的运算符可能会产生显着差异.