int i=1;
i=i++;
System.out .print(i); 输出1
a=i++在我的理解是这样的,它先给i赋一个临时变量比如a,即a=i=1,
然后运算 i=i++,
在最后运算的时候 i 的值使用的是被赋值的临时变量a的值,并非变量本身
即 先运算在赋值 int a=i; i=i+1; i=a, return i; 可以看出i=a=1
如要使值自增 第二句应写为:i++ 或者i+=1, 或者++i;
这里再说下++i ,
先赋值在运算:i=i+1; int a=i; return i;,所以结果是i==2
扩展:
int i=1;
i++;
System.out .print(i++); 输出1
System.out .print(i++); 输出2
仅供参考(如有错误,欢迎指出):第一遍是表达式的值,没变,还是原来的i,但是i值变了;
第二遍是表达式值等于原i值,就是i+1.