public static void main(String[] args){ int i=0; i = (i++)+(i++); System.out.println(i); }
上面结果输出的是1。在java里,执行i=(i++)+(i++);建立了2个临时的整型变量对象,对来存储每次自增运算的结果。java
他们的执行过程以下:spa
temp1 = i; * tepm1==0
i = i + 1;
temp2 = i; * temp2==1
i = i + 1;
i = temp1 + temp2 ; * i== 1
code
问题的关键是:最后是各个临时变量相加而得出结果,而不是自增(自减)的变量(i)。对象