java运算求解

inta=10;a+=a-=a*=a;最后a的结果是-80为什么???求高手列一下详细步骤,如何运算的?... int a=10;
a+=a-=a*=a;
最后a的结果是-80为什么??? 求高手列一下详细步骤,如何运算的?
展开
 我来答
hy00870
2012-05-03 · 超过38用户采纳过TA的回答
知道小有建树答主
回答量:146
采纳率:100%
帮助的人:97.5万
展开全部
我在下面列出了他的运算顺序,java他遵循先运算后赋值的顺序,并且赋值的顺序是从右到左进行赋值的,所以根据这原理就能得出下面的表达式,然后一计算就得到-80了;
a=a+ (a=a-(a=a*a))
a=10+(10-100)
结果:-80
帐号已注销
2012-05-03 · TA获得超过475个赞
知道小有建树答主
回答量:401
采纳率:0%
帮助的人:225万
展开全部
是不是因为有操作优先级啊。
乘法运算级别高,然后加减法运算级别相同。
先做乘法,再做加法,然后做减法。
a*=a;a=100
a+=a;a=20
20-100=-80
如果想先做加减法你就加括号吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
vjhb5149
2012-05-03
知道答主
回答量:37
采纳率:0%
帮助的人:13.5万
展开全部
1.赋值x=0 判断 x==0 true || 短路打印y=10 2. 赋值b=0 判断b==a|b形式,因为是一个|,所以是按位或,不是短路运算符,都要计算 b=0
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式