问答详情
源自:3-5 Java中的逻辑运算符

System.out.println(a&&b +"未通过");为什么不行啊?原文为什么还要再用个括号啊

System.out.println(a&&b +"未通过");为什么不行啊?原文为什么还要再用个括号啊

提问者:無名小人 2015-10-05 15:54

个回答

  • 天启之魂
    2015-10-05 17:07:50
    已采纳

    不加括号的话 系统会认为+是 算数运算符的+ 而不是 连接字符串和变量的连接符  

    这样 b+"未通过" 编译不能通过

     还有要说的是算术运算符+的优先级高于逻辑运算符&& 所以才要用优先级更高的()来将他们括起来

  • 牛仁强
    2015-10-11 10:15:55

    楼上的哥们讲解得很清楚了啊! 算数运算符 + 的优先级是比逻辑运算符 && 的优先级要高的。所以,如果在你的输出语句中不加括号的话,编译器会先算 b+“未通过”,之后在进行&&的逻辑运算,这是不符合你的本意的。因此,需要用()来改变运算次序。

  • 無名小人
    2015-10-05 16:07:12

    有人在吗?

  • 無名小人
    2015-10-05 15:57:14

    有没有懂的啊