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

练习的14行这样写为什么是直接输出的false?

System.out.println("s1和s3内存地址相同吗?"+s1==s3);


正在回答

1 回答

这个应该是运算符优先级的问题,

"s1和s3内存地址相同吗?"+s1==s3

正确的操作是System.out.println("s1和s3内存地址相同吗?"+(s1==s3));先判断s1==s3是真假,然后与前面的字符串拼接;

如果后面的等式判断不加括号的话,会形成("s1和s3内存地址相同吗?"+s1)==(s3)的判断;前面的字符串与s1的拼接与后面的字符串s3肯定不是相同的,所以等式判断返回false-----


0 回复 有任何疑惑可以回复我~
#1

qq_天大小霸王

兄弟 你看清楚了吗
2016-07-13 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

练习的14行这样写为什么是直接输出的false?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信