Java 为什么println只打印布尔值

Java 为什么println只打印布尔值,java,Java,守则: class A { public static void main(String[] args) { String str=""; System.out.println(""==str+"and"); } } 结果: E:\test>java A false 在那之后没有“和” 为什么只打印布尔值?System.out.println(“==str+”和“) 因为加法运算符的优先级高于相等运算符 第一个操作是str+”和“”,然

守则:

class A {
    public static void main(String[] args) {
        String str="";
        System.out.println(""==str+"and");
    }
}
结果:

E:\test>java A 
false
在那之后没有“和”

为什么只打印布尔值?System.out.println(“==str+”和“)

因为加法运算符的优先级高于相等运算符

第一个操作是
str+”和“
”,然后
==
将产生
布尔值,即

"" == "and" ? = false

的Java文档如果您只想打印
true/false
条件,请按照@JavaHD的答案进行操作

如果要打印
trueand

然后用pranthesis包装布尔表达式 e、 g:


=
是一个比较运算符。它的结果是布尔值。另外,我怀疑你没有编译给定的代码,因为结果是
false
。你能用简单的英语编辑和写一个问题吗?(我们不是电脑:-@FulndonRong欢迎你:)。。。不,亲爱的,继续前进,不要停止写问题。。。
System.out.println((""==str)+"and");