1.i++ 返回原来的值,++i 返回加1后的值。
int i1 = -5;
int i2 = -5;
System.out.println("i1,i2的值为:"+i1);
int a = i1++;//等忙完这个在加一吧
int b = ++i2; //不管三七二十一先加了一再说
System.out.println("i++的值为:"+a);
System.out.println("++i的值为:"+b);
2、i++ 不能作为左值,而++i可以
3、i++前者是先赋值,然后再自增;++i后者是先自增,后赋值。
如果有表达式 a = i++ ;它等价于 a = i;i = i + 1;
如果有表达式 a = ++i;它等价于i = i + 1;a = i;
++i和i++都是分两步完成的。因为++i 是后面一步才赋值的,所以它能够当作一个变量进行级联赋值,++i =;a =b,即++i是一个左值(可被寻址的值);i++ 的后面一步是自增,不是左值。
转载:https://www.kuxiaotu.com/1/11/125365.html