当前位置: 代码迷 >> J2EE >> 求答案int j = i++ + i++ + ++i + ++i ;解决方案
  详细解决方案

求答案int j = i++ + i++ + ++i + ++i ;解决方案

热度:614   发布时间:2016-04-17 23:16:35.0
求答案int j = i++ + i++ + ++i + ++i ;
在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,在坐外面的加法
  相关解决方案