我是Java新手,正在使用簡單的打印。首先,我執行:奇怪的java打印輸出
System.out.println(1 + 2 + "3");
輸出:33
我由邏輯1和2將被添加和3將被打印爲是。
然後,我嘗試這樣做:
System.out.println ("1" + 2 + 3);
輸出:123
運用這個邏輯我回答15,不能工作出正確的答案,所以我需要你的幫助, SO朋友。
我是Java新手,正在使用簡單的打印。首先,我執行:奇怪的java打印輸出
System.out.println(1 + 2 + "3");
輸出:33
我由邏輯1和2將被添加和3將被打印爲是。
然後,我嘗試這樣做:
System.out.println ("1" + 2 + 3);
輸出:123
運用這個邏輯我回答15,不能工作出正確的答案,所以我需要你的幫助, SO朋友。
操作+
從左邊,這樣你的第二個例子是這樣解釋的評價:
System.out.println (((「1」+2)+3));
====================> "12"+3
====================> "123"
如果你想顯示15
那麼你應該做到以下幾點:
System.out.println (「1」+(2+3));
這樣將首先評估。
表達1 + 2
爲int
。
然後,您將"3"
連接到該int。
表達式是String
。
然後,您將3
連接到String
。
你在考慮"1" + (2 + 3)
,因爲Java是左關聯的,所以沒有發生。
在第一種情況下,Java添加數字以獲得結果3,並且追加字符串3使其成爲連接字符串:「33」。
在第二種情況下,結果是因爲「1」的字符串和別人得到串聯成爲「123」