重要規則:
1
2
3
4
5
6
|
//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<short<int<long<float<double<char<
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;
重要語法:
擴展運算符不改變運算結果類型:
1
2
|
byte a = 10 ; a += a; //相當于 a = (byte) a + a; |
總結
以上就是本文關于大話Java混合運算規則的全部內容,希望對大家了解Java有所幫助。有什么問題可以隨時留言,大家一起交流學習。感謝朋友們對服務器之家網站的支持。
原文鏈接:http://blog.csdn.net/zhangbingtao2011/article/details/54582302