在JAVA里下面打印出来的结果是208,个人不太明白为啥是208,求具体解析思路。
int i = 50;
int j = i++ + i++ + ++i + ++i ;
System.out.println(j);
------解决思路----------------------
50 + 51 + 53 + 54 = 20
怎么可以把代码写成这样呢?
------解决思路----------------------
一楼正解 ,首先我也是初学的,刚好最近也复习过之前的知识,过程如下:
前++ 和后++ 在和其他值进行运算的的时候, 前++ 是先运算再自增 , 后++是先自增再参与运算, 所以
50++ + 50++ + ++50 + ++50 = 50(先运算,后自增,到这里已经自增为51了)+51(和之前一样,先运算,后自增,现在值为52)+53(52先自增,值为53)+54(53先自增,值为54)
前++ 和后++ 若不和其他值进行运算的话,效果是一样的。
------解决思路----------------------
你只要记住i++是先用i的值,在做加法,
++i是先做加法,再用值,
也就是i++ 50 --------先用值,再做加法变为了51,
i++ 51 --------先用值51,在做加法变为52,
++i 53 --------先做加法变为53,在做外面的运算,
++i 54 --------先做加法变为54,在坐外面的加法