舉個簡單例子
System.out.println('a' + 7 + "Hello"); System.out.println("Hello" + 'a' + 7);
對於上面兩個語句, 在看java瘋狂講義之前, 我可能會認爲輸出差不多, 都是簡單字符串拼接
實際卻沒想象的這麼簡單
如果是
5+2.3f, 你可能會想到涉及到類型轉化, 向上轉, 一個是int類型, 一個是float類型, 所以最終結果是float類型
此題同理, 沒有特殊符號, 運算順序是從左往右, 字符類型和整形, 在運算的時候後會轉化成整形, 也就是'a' 的ascll碼和7進行運算, 運算結果是104, 在和Hello字符串拼接, 所以最終結果是104Hello
第二個依然從左往右, Hello和 'a', 直接轉化成String類型, 變成Helloa,然後在和7運算, 結果是Helloa7