重要規則:
//byte short char 做混合運算時,先各自轉換為 int 類型,再做運算
//以下在編譯期就出錯,因為編譯器隻檢查文法,jvm不允許 int 轉換為 byte(丢失精度),雖然結果為30,但是運算是在運作期
byte a = 10;
short b = 20;
byte c = (a + b); //報錯
System.out.println(c);
結論:
關于基本資料類型轉換規則:
1、8中基本資料類型除boolean外都可以互相轉換;
2、小容量向大容量轉換為自動轉換(預設轉換):
byte
3、byte short char 做混合運算時,各自都先轉換為 int 類型在做運算;
4、大容量向小容量轉換是強制類型轉換,需要加強制類型轉換符,這樣編譯器能通過,但運作期可能損失精度;
5、如果整數沒有超出 byte short char 的取值範圍,可以直接将這個整數指派給 byte short char;
6、多種資料類型做運算,先轉換成容量大的那種再做運算。
eg:
int f = 10/3;能否正常運作?
可以,因為10為int,3為int,運算後還為int,10/3=3,再指派給f;
重要文法:
擴充運算符不改變運算結果類型:
byte a = 10;
a += a; //相當于 a = (byte) a + a;
總結
以上就是本文關于大話Java混合運算規則的全部内容,希望對大家了解Java有所幫助。感興趣的朋友可以參閱:Java語言一進制運算符執行個體解析 、 淺談Java變量指派運算符及相關執行個體 、 Java大數字運算之BigInteger等,有什麼問題可以随時留言,大家一起交流學習。感謝朋友們對腳本之家網站的支援。