Java 每日一题:2016-06-19

每天在这里贴一道 Java 题,借用java贴吧题目,来提高各位学习的兴趣和质量,希望多多支持!

回答正确与否没有关系,重在讨论,借鉴别人的思路。

http://img.mukewang.com/5766707c0001630204290342.jpg

请问 x,y,z 的值分别是多少?


慕莱坞9220042
浏览 3111回答 17
17回答

冰山点水

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

慕沐4306525

代码结果:171717

慕莱坞9220042

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

玄鉴

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

fireflyer

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

慕粉小蜗牛

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

陪你Sunset

都是17,第11行代码

SoyaDokio

Java运算符按结合方向可以分为两种:从左往右和从右往左。而赋值号属于后者,所以x = y = z = 17;这段代码可以等效写作:(x = (y = (z = 17)));

RedKeyer

Z=17,y=z, x=y

慕粉1465883331

17,17,17
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java