int i = 0;
  i = i++;
  i = i++;请问运行之后,结果是什么?
答:i = 0; 解释下原因,谢谢了~~

解决方案 »

  1.   

    http://hi.baidu.com/freish/blog/item/aa947f8b42c4e118c9fc7a07.html
    或者看《java解惑》所以说书还是要多看的
      

  2.   

    这个,额!i = i ++;  // i 先赋值,然后在自加,当然,在这里 i = 0;
    i = i++;   //这里的 i 又是怎么样的呢?在上面语句中,i 已经自加了,这个又怎么看呢?
      

  3.   


    i = i++;//等效于下面的语句:int temp = i;//这个temp就是i++这个表达式的值
    i++; //i自增
    i = temp;//最终,将表达式的值赋值给i
      

  4.   

    你程序里是同一个变量,但在java虚拟机里执行的时候弄了一个临时变量
      

  5.   

    第一句
    i = i++//意思是把i的值给i,然后再自己加一下,自加后的值你不赋值给其它的对象就变成了垃圾在内存的某一个角落里面,由垃圾回收机制在适当的时候回收掉。换句话说第一句运行完了之后i的值依然是0
    那么第二句你明白了吧,还是0
      

  6.   

    学习了:
    i = i++;//等效于下面的语句:int temp = i;//这个temp就是i++这个表达式的值
    i++; //i自增 自加后的值你不赋值给其它的对象就变成了垃圾在内存的某一个角落里面,由垃圾回收机制在
    //适当的时候回收掉。换句话说第一句运行完了之后i的值依然是0i = temp;//最终,将表达式的值赋值给i