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