int x = 5;
int y = 3;
x = x + (x++) + (++x) + y;
System.out.println(x);
输出结果为20。x = x + (x++) + (++x) + y;这条语句是如何计算的呢?能否详细说明一下,谢谢!

解决方案 »

  1.   

    x=5;
    (x++)=5; (先用x的值,之后x再加1, x为6)(++x)=7; (先加 x=7 后运算。)
    y=3.
    和 20。
      

  2.   

    x = x + (x++) + (++x) + y; 
    x = 5 + 6 + 6 + 3; 
    x = 20;
    最后x的值为20,有问题吗?
      

  3.   

    x = x + (x++) + (++x) + y;  
    x = 5 + 5 + 7 + 3;  
    x = 20;搞错了