为了账号安全,请及时绑定邮箱和手机立即绑定

Java 每日一题:2016-06-19

Java 每日一题:2016-06-19

慕莱坞9220042 2016-06-19 18:14:59
每天在这里贴一道 Java 题,借用java贴吧题目,来提高各位学习的兴趣和质量,希望多多支持!回答正确与否没有关系,重在讨论,借鉴别人的思路。请问 x,y,z 的值分别是多少?
查看完整描述

17 回答

已采纳
?
冰山点水

TA贡献109条经验 获得超149个赞

答案都是17,但是应该这么理解:赋值运算符=是从右往左执行的,先将17赋值给z,再将z赋值给y,最后将y赋值给x。

查看完整回答
5 反对 回复 2016-06-20
?
慕沐4306525

TA贡献1条经验 获得超5个赞

代码结果:

17
17
17


查看完整回答
5 反对 回复 2016-06-20
?
慕莱坞9220042

TA贡献377条经验 获得超508个赞

推荐答案:

x = y = z = 17;
上面的表达式中有 三个 等号 操作符。当有多个等号时,等号运算遵循右结合律,即从右到左进行运算。所以上面的表达式等价于:
x = (y = (z = 17));

查看完整回答
2 反对 回复 2016-06-20
?
玄鉴

TA贡献16条经验 获得超4个赞

输出的结果必须是值17,也即是变量必须赋值,才能操作。所以无所谓左右,前后。只要有值,且有等号赋值联系,不管中间的过程,结果必然是值。

查看完整回答
1 反对 回复 2016-06-20
?
fireflyer

TA贡献3条经验 获得超1个赞

x  17,y  17,z  17。因为都赋了同一个值17!

查看完整回答
1 反对 回复 2016-06-19
?
慕粉小蜗牛

TA贡献16条经验 获得超23个赞

输出结果17   17    17,也就是x,y,z都是17

查看完整回答
1 反对 回复 2016-06-19
?
陪你Sunset

TA贡献16条经验 获得超4个赞

都是17,第11行代码

查看完整回答
反对 回复 2016-09-07
?
SoyaDokio

TA贡献17条经验 获得超5个赞

Java运算符按结合方向可以分为两种:从左往右和从右往左。而赋值号属于后者,所以

x = y = z = 17;

这段代码可以等效写作:

(x = (y = (z = 17)));


查看完整回答
反对 回复 2016-06-25
?
RedKeyer

TA贡献3条经验 获得超0个赞

Z=17,

y=z, 

x=y

查看完整回答
反对 回复 2016-06-20
?
慕粉1465883331

TA贡献2条经验 获得超0个赞

17,17,17

查看完整回答
反对 回复 2016-06-20
?
慕粉1465726214

TA贡献5条经验 获得超1个赞

都是17

查看完整回答
反对 回复 2016-06-20
?
慕粉1465726214

TA贡献5条经验 获得超1个赞

都是17

查看完整回答
反对 回复 2016-06-20
?
一杯2块的奶茶

TA贡献226条经验 获得超75个赞

三个17

查看完整回答
反对 回复 2016-06-20
?
WebView

TA贡献2条经验 获得超0个赞

不懂java,但是有编程基础的人都会说是17

查看完整回答
反对 回复 2016-06-20
?
qq_慕九州4194671

TA贡献1条经验 获得超0个赞

都是17

查看完整回答
反对 回复 2016-06-20
?
风云7857

TA贡献13条经验 获得超4个赞

x,y,z的值都是17。

查看完整回答
反对 回复 2016-06-19
?
予远方

TA贡献17条经验 获得超12个赞

这个都是17吧,都把17赋值给了。

查看完整回答
反对 回复 2016-06-19
  • 17 回答
  • 3 关注
  • 3109 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信