天天看點

java混合運算精度_大話Java混合運算規則

重要規則:

//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等,有什麼問題可以随時留言,大家一起交流學習。感謝朋友們對腳本之家網站的支援。