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

时间:2018-04-12 12:13:07

标签: java

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

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

    Ans: 3
    Ans: 5

1 个答案:

答案 0 :(得分:6)

因为它是如何定义的。 x++是后增量,如果您使用++x它是预增量,例如x=x+1

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

  

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