Java 面試題 short a = 5, a = a + 3 ,和 a += 3 區別?

1. 題目:定義 short s = 5; 下面兩句代碼的區別。(畢2-11)

short a = 5;

(1)

a = a + 3;

(2)

a += 3

回答:
(1) 會編譯不通過

在這裏插入圖片描述
(1) 是2步驟操作(計算+賦值), a + 3 類型自動轉換爲 int 類型,int 不能等於 short 所以報錯
(2) a += 3 只有一步操作(賦值),更快,而且3會自動轉換爲 short 類型.

問題:a += 3 ;後的類型是什麼呢?

package Git.Gitee.javalab.Lab9;

public class Demo {
    private  static String getType(Object object){
        return object.getClass().toString();
    }
    public static void main(String[] args) {
        short a = 5;
        a += 3;
        System.out.println("a的類型爲:"+getType(a));
    }
}

Run:
a的類型爲:class java.lang.Short

Process finished with exit code 0
short

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章