簡體   English   中英

雙引號內的內容不會打印到System.out

[英]The content inside double quotes is not printing to System.out

在這個程序中,我使用了System.out.println

雙引號內的內容沒有打印出來?

public class Demo1 {

    public static void main(String[] args) {

        String s1 = new String("suresh");
        String s2 = "suresh";

        System.out.println("s2==s1::"+s2==s1);
    }
}

預期輸出: s2==s1::FALSE
實際輸出: FALSE

由於運算符優先級, +運算符的優先級高於==運算符。

這個表達式: "s2==s1::"+s2==s1與:( ("s2==s1::" + s2) == s1

換句話說,它檢查"s2==s1::" + s2是否等於s1 ,然后打印該比較的結果(這是false )。

試試這個:

System.out.println("s2==s1::" + (s2 == s1));

這樣做

System.out.println("s2==s1::"+s2==s1);

和做的一樣

System.out.println(("s2==s1::"+s2)==s1);

由於運算符的優先級: +運算符的優先級高於==運算符。

所以你只會得到truefalse

因為你將字符串文字s2==s1::與變量s2 AND連接起來然后將該引用與變量s1進行比較

使用括號將解決問題

s2==s1放入括號中以更改運算符的優先級。

System.out.println("s2==s1::"+(s2==s1));

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM