2021/9/28-java中++i与i++的理解

问题来源:

int x=5;int j=1;

j=x-j++; 运行结果为4,按照之前的认知为5,故出现了问题。。

资料来源:CSDN 作者:android_cai_niao

发现之前的理解错误:有很多的人写的文章上都是说i++是先返回i的值,然后再自增,这是错误,是先自增,然后再返回自增之前的值,你可能会问,这有区别吗?答案:有的。只要这个没理解对,则你在计算i++的相关问题时就有可能算错。

几个典型代码实例:

 

 

 

 

 

 

 

 

 原理:i++ 即后加加,原理是:先自增,然后返回自增之前的值,++i 即前加加,原理是:先自增,然后返回自增之后的值

重点:这是一般人所不知道的,记住:不论是前++还是后++,都有个共同点是先自增。

例五:

a = a++; a++之后a的值为1,并返回0,所以a的值由1又变回了0
b = a++; a++之后a的值为1,并返回0,0赋值给b,所以b为0,而a还是1哦!!

总结:

i++ 即后加加,原理是:先自增,然后返回自增之前的值
++i 即前加加,原理是:先自增,然后返回自增之后的值
一个变量也是表达式,多个表达式的加减法运算都是从左到右进行的

posted @ 2021-09-28 23:06  _Pi  阅读(395)  评论(0)    收藏  举报