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

来源:3-5 Java中的逻辑运算符

無名小人

2015-10-05 15:54

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

写回答 关注

4回答

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

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

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

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

    無名小人 回复天启之魂

    那"未通过" 也是字符串啊

    2015-10-05 19:08:39

    共 4 条回复 >

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

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

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

    有人在吗?

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

    有没有懂的啊

Java入门第一季(IDEA工具)升级版

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

1165172 学习 · 17581 问题

查看课程

相似问题