1. 程式人生 > >Java面試題02_15(第一階段基礎)

Java面試題02_15(第一階段基礎)

02.15_Java語言基礎(面試題之變數相加和常量相加的區別)(掌握)

 面試題:看下面的程式是否有問題,如果有問題,請指出並說明理由。
* byte b1 = 3;
* byte b2 = 4;
* byte b3 = b1 + b2;		//有問題
	* 從兩方面去回答這個題
	* b1和b2是兩個變數,變數裡面儲存的值都是變化的,所以在程式執行中JVM是無法判斷裡面具體的值
	* byte型別的變數在進行運算的時候,會自動型別提升為int型別 

![在這裡插入圖片描述](https://img-blog.csdnimg.cn/20181110233420651.jpg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2JpbmdlX2tvbmc=,size_16,color_FFFFFF,t_70)

* byte b4 = 3 + 4;		//可以
	* 3和4都是常量,java有常量優化機制,就是在編譯的的時候直接把3和4的結果賦值給b4了