short s1 = 1; s1 = s1 + 1;有錯嗎?short s1 = 1; s1 += 1;有錯嗎?
其中第一個是錯誤的,無法編譯通過,因爲1是int類型,s1+1仍然是int類型,和short類型不符合;
第二個可以編譯通過,因爲+=有內置的類型轉換,
s1+=1相當於s1=(short)(s1+1);
short s1 = 1; s1 = s1 + 1;有錯嗎?short s1 = 1; s1 += 1;有錯嗎?
其中第一個是錯誤的,無法編譯通過,因爲1是int類型,s1+1仍然是int類型,和short類型不符合;
第二個可以編譯通過,因爲+=有內置的類型轉換,
s1+=1相當於s1=(short)(s1+1);