Java中的型別提升

weixin_33935777發表於2018-05-19

程式中在計算表示式時,會自動進行型別提升。如,

byte b = 1;
short s = 2;
int i;
long l = 1;
//b = b * 2;        //型別不匹配,不能將int轉換為byte
//s = s * 2;        //型別不匹配,不能將int轉換為short
l = l * 2;
//i = l * 2;        //型別不匹配,不能將long轉換為int
        
float f = 1.0f;
double d;
//f = f * 2.0;      //型別不匹配,不能將double轉換為float

由上面程式可以看出,byte和short同整數字面量做運算,表示式被提升成了int型別。long型別同整型字面量做運算,表示式被提升成了long型別。float型別同雙精度的浮點型字面量做運算,表示式被提升成了double型別。

相關文章