Java 強制類型轉換【面試題】

1、面試題:看下面的程序是否有問題,如果有問題,請指出並說明理由。

class DataTypeConversion{
	public static void main(String[] args){
		byte b1 = 3;
		byte b2 = 4;
		byte b3 = b1 + b2;
		System.out.println(b3);
	}
}

從兩個方面:

  • byte與byte(或short,char)進行運算的時候會提升爲int,兩個int類型相加的結果頁是int類型
  • b1和b2是兩個變量,變量存儲的值是變化,在編譯的時候無法判斷裏面具體的值,相加有可能會超出byte的取值範圍。

2、下面代碼可以正常輸出結果爲:7

class DataTypeConversion{
	public static void main(String[] args){
		byte b3 = 3 + 4;
		System.out.println(b3);
	}
}

Java編譯器有常量優化機制,判斷3+4結果爲7byte的範圍內,所以可以正常編譯通過。

3、當我們直接聲明的值超出byte類型時:

class DataTypeConversion{
	public static void main(String[] args){
		byte v = 300;
		System.out.println(v);
	}
}

則會直接報錯:提示我們強制轉換爲byte或直接改變數據類型爲int。
在這裏插入圖片描述
你要去做一個大人,不要回頭,不要難過。

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