i++: 运算符在后面,所以是先赋值,后运算
++i; 运算符在前面,所以是先运算,后赋值
int i=0;
System.out.println(i++);
System.out.println(++i);
结果是0 2;
不理解话看下面
System.out.println(i++ + ++i);
System.out.println("s1="+i++ + " s2="+ ++i);
s1=0 s2=2;
分析:s1="+i++ 首先是i把值赋给s1, s1=0 然后i++ 此时 s1=0,i=1;
" s2="++i 运算符在前面,所以是先运算,++1 i的结果就是2,其后把2赋值给 s2 此时 s2=2 i=2;
i-- 和--i是一样的道理
下面来看下面的一道题:
int i=5;
int s=(i++)+(++i)+(i--)+(--i);
5+ //i=6
7+//i=7
7+//i=6
5+//i=5
结果就是24
总结:
不管是i++还是i--
给定一个值,不官是i++还是i--的任意一个操作的话最后的结果跟上一个结果是一样的 唯一不一样就是i之后的值。