日期:2014-05-19  浏览次数:20732 次

求运算的详细过程!!!
Java code
int x=6,y=8;
x+=y+=x+=y;
System.out.println("x"+x+" y"+y);

输出结果是28,22
不知道是怎么算出来的,求解!!!!!!!!!!!!!!!!!

------解决方案--------------------
从右往左,自己拆开
------解决方案--------------------
有点疼,分给我吧,貌似没人敢那么用。。。。
还是说下过程,我觉得是这样,不对别拍砖
x+=y+=x+=y;
int x=6,y=8;
x = 6+(y+=x+=y)
x = 6 +(y = 8+(x+=y))
x = 6 +(y = 8+(x = 6 + 8))
x = 6 +(y = 8 + 14)
所以 x = 28 y = 22;

------解决方案--------------------
java和C不一样,我觉得是这样,不对荒淫拍砖

x+=y+=x+=y;
x+=(y+=(x+=y));
x = x + (y += (x += y))
x = x + (y = y + (x += y))
x = x + (y = y + (x = x + y))
所以
x 为 x + y + x + y 也就是 6 + 8 + 6 + 8 = 28;
y 为 y + x + y 也就是 8 + 6 + 8 = 22;
------解决方案--------------------
解析的时候从左向右
执行的时候从右向左