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