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

求大神解决

http://img1.sycdn.imooc.com//5f354a580001ce5609280575.jpg为什么System.out.println("a等于b:"+a==b);会报错? 

 System.out.println("a等于b:"+(a==b));       a==b 加() 就不会报错, 为什么要加括号  谁知道什么原因么?

正在回答

2 回答

这不是常识问题吗,,因为我们拼接了字符串 我们要把a==b当成一个整体来比较啊,才能看是true还是false。就像你要比较1+1和2+2谁大,不运算结果的情况下不就是 加括号吗(1+1)(2+2)要当成整体。 
System.out.println("a等于b吗:"+(a==b));  把他当成整体来看,如果不是整体,那不就是"a等于b吗"+a==b;不当成整体就读不顺 报错了。我们本来加号只是做拼接作用,你不加括号就变成了赋值运算,把b赋值给a  这不通顺呀

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

忆_卿 提问者

a==b应该是比较运算符吧, a=b才是赋值。
2020-08-24 回复 有任何疑惑可以回复我~

运算顺序问题吧,加()优先级高

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

举报

0/150
提交
取消
Java入门第一季(IDEA工具)升级版
  • 参与学习       1165458    人
  • 解答问题       17585    个

0基础萌新入门第一课,从Java环境搭建、工具使用、基础语法开始

进入课程

求大神解决

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