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;

浙公网安备 33010602011771号