java中 i =++i;与i=i++;的区别(面试陷阱题)

int j = ++i;//把i自增1,然后结果赋值给j,或者说,先算++i,然后再赋值
int k = i++;//先算赋值,把i的值赋值给k,i原来是3,把3赋值给k,然后i在自增1,i变成4
所以:

i=++i;相当于以下二个语句(编译时出现警告,与i=i;警告相同)

i=i+1;   
i=i;  

i = i++;相当于以下三个语句:

int tmp = i;   
i = i + 1;   
i = tmp;  

猜你喜欢

转载自blog.csdn.net/Mr_zhang66/article/details/113439389