一、自動類型轉(zhuǎn)換
整型、實型(常量)、字符型數(shù)據(jù)可以混合運算。運算中,不同類型的數(shù)據(jù)先轉(zhuǎn)化為同一類型,然后進行運算。
數(shù)據(jù)類型轉(zhuǎn)換必須滿足如下規(guī)則:
1、不能對boolean類型進行類型轉(zhuǎn)換。
2、不能把對象類型轉(zhuǎn)換成不相關(guān)類的對象。
3、在把容量大的類型轉(zhuǎn)換為容量小的類型時必須使用強制類型轉(zhuǎn)換。
(視頻教程推薦:java視頻)
4、轉(zhuǎn)換過程中可能導(dǎo)致溢出或損失精度,例如:
int i =128; byte b = (byte)i;
因為 byte 類型是 8 位,最大值為127,所以當(dāng) int 強制轉(zhuǎn)換為 byte 類型時,值 128 時候就會導(dǎo)致溢出。
5、浮點數(shù)到整數(shù)的轉(zhuǎn)換是通過舍棄小數(shù)得到,而不是四舍五入,例如:
(int)23.7 == 23; (int)-45.89f == -45
注意:必須滿足轉(zhuǎn)換前的數(shù)據(jù)類型的位數(shù)要低于轉(zhuǎn)換后的數(shù)據(jù)類型。
二、強制類型轉(zhuǎn)換
1、條件是轉(zhuǎn)換的數(shù)據(jù)類型必須是兼容的。
2、格式:(type)value type是要強制類型轉(zhuǎn)換后的數(shù)據(jù)類型。
我們來看以下的例子:
輸出結(jié)果為:
三、隱含強制類型轉(zhuǎn)換
1、整數(shù)的默認類型是 int。
2、浮點型不存在這種情況,因為在定義 float 類型時必須在數(shù)字后面跟上 F 或者 f。
推薦教程:java開發(fā)入門