关于java的自增操做符与中间缓存变量机制

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)。对象

相关文章
相关标签/搜索