天天看點

short s1 = 1; s1 = s1 + 1;有什麼錯? short s1 = 1; s1 += 1;有什麼錯?

對于short s1 = 1; s1 = s1 + 1; 由于s1+1運算時會自動提升表達式的類型,是以結果是int型,再指派給short類型s1時,編譯器将報告需要強制轉換類型的錯誤。

對于short s1 = 1; s1 += 1;由于 +=運算符裡已經包括了一個隐式的強制類型轉換,是以Java會把s1+=1計算後的結果進行隐式的強制類型轉換,是以它不會有任何錯誤。

Java Program!