问答详情
源自:3-4 Java中的比较运算符

求大神解决

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

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

提问者:忆_卿 2020-08-13 22:16

个回答

  • 祸用
    2020-08-21 14:16:15

    这不是常识问题吗,,因为我们拼接了字符串 我们要把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  这不通顺呀

  • 柯一梦
    2020-08-14 15:03:06

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