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