java-i++的原理探究


先看例子:

package com.test;

  publick class Auto{

    public static void main(String[] args){

      Auto inc=new Auto();

      int i=0;

      i=i++;

      System.out.println(i);

  }

}

看输出结果:

如果把i=i++;换成i++呢;

package com.test;

  publick class Auto{

    public static void main(String[] args){

      Auto inc=new Auto();

      int i=0;

      i++;

      System.out.println(i);

  }

}

看输出结果:

 

如果将i=i++和i++放入循环中是什么情况呢?

package com.test;

  publick class Auto{

    public static void main(String[] args){

      Auto inc=new Auto();

      int i=0;

      for(int j=0;j<100;j++){
        i=i++;
      }

      System.out.println(i);

  }

}

 

结论:1、i++有三项操作,将值赋给中间变量int temp=i;i=i+1;return i;

   2、i=i++有四项操作,将值赋给中间变量int temp=i;i=i+1;i=temp;return i;


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM