标题:多次赋值的拆分 例如:a+=a-=a-a;——————>大家请进
只看楼主
封闭
Rank: 9Rank: 9Rank: 9
来 自:广东省汕头市
等 级:蜘蛛侠
威 望:1
帖 子:501
专家分:1084
注 册:2007-9-14
得分:0 
其实这道体题3楼的朋友也说错了。
2009-09-02 17:56
冰雪天
Rank: 2
来 自:陕西咸阳
等 级:论坛游民
帖 子:60
专家分:34
注 册:2009-9-4
得分:0 
a=10;
a+=a-=a-a;
从左向右赋值,
a-a=0,
a-=a-a是a=a-(a-a)=a-0=a,
a+=a-=a-a是a=a+[a-(a-a)]=a+a=2a=20
应该是这样吧

我愛滑板!!!
2009-09-04 23:36
syq361138633
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2009-8-21
得分:0 
是先算 a-a;之后得出的值在拿 a=a-(a-a); 之后就是 那上面的的值赋给a;
  之后就a+a;
       就比方说a=3;
           a+=a-=a-a
               3-3=0;  3-0=3; 再拿这个3赋给a; 之后再加a;就等于6;
                 应该是这样的
2009-09-06 11:08
z68752553
Rank: 1
等 级:新手上路
帖 子:41
专家分:5
注 册:2009-1-20
得分:0 
令a-=a-a为x
得a+=x
根据公式
又得a=a+x
又因公式可得X:a=a-(a-a)即x=a=a-(a-a)
综上所诉可得
a=a+a-(a-a)
所以a=20.

综上所诉,纯属玩笑。
2009-09-13 17:16
ygp_sfec
Rank: 3Rank: 3
等 级:论坛游侠
威 望:2
帖 子:87
专家分:115
注 册:2009-9-8
得分:0 
没必要搞清楚吧?这不是一个好的变成习惯,这样编程,就算这次你搞清楚了,过段时间你自己看自己的程序也会看不懂的。
2009-09-14 00:20
ygp_sfec
Rank: 3Rank: 3
等 级:论坛游侠
威 望:2
帖 子:87
专家分:115
注 册:2009-9-8
得分:0 
其实这是赋值表达式计算顺序问题,和C语言一样,java计算赋值表达式是按照自右向左计算的,即首先计算a-a,得数为零,然后将得数作为其左边的表达式的操作数计算a -= 0;得数为a,最后计算a += a,得数为2a。
2009-09-16 13:31



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-284156-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.135178 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved