1. 程式人生 > >8種基本資料型別及取值範圍

8種基本資料型別及取值範圍

整型:

byte:-2^7 ~ 2^7-1,即-128 ~ 127。1位元組。Byte。末尾加B

short:-2^15 ~ 2^15-1,即-32768 ~ 32767。2位元組。Short。末尾加S

有符號int:-2^31 ~ 2^31-1,即-2147483648 ~ 2147483647。4位元組。Integer。

無符號int:0~2^32-1。

long:-2^63 ~ 2^63-1,即-9223372036854774808 ~ 9223372036854774807。8位元組。Long。末尾加L。(也可以不加L)

浮點型:

float:4位元組。Float。末尾加F。(也可以不加F)

double:8位元組。Double。

字元型:

char:2位元組。Character。

布林型:

boolean:Boolean。

型別轉換:

boolean型別與其他基本型別不能進行型別的轉換(既不能進行自動型別的提升,也不能強制型別轉換), 否則,將編譯出錯

byte型不能自動型別提升到char,char和short直接也不會發生自動型別提升(因為負數的問題),同時,byte當然可以直接提升到short型。

兩個數值進行二元操作時,會有如下的轉換操作:

如果兩個運算元其中有一個是double型別,另一個操作就會轉換為double型別。

否則,如果其中一個運算元是float型別,另一個將會轉換為float型別。

否則,如果其中一個運算元是long型別,另一個會轉換為long型別。

否則,兩個運算元都轉換為int型別。

當對小於int的資料型別(byte, char, short)進行運算時,首先會把這些型別的變數值強制轉為int型別進行計算,最後會得到int型別的值。因此,如果把2個short型別的值相加,最後得到的結果是int型別,如果需要得到short型別的結果,就必須顯示地運算結果轉為short型別。

1 //編譯出錯。正確的寫法是:short s1 = 1;s1 = (short)(s1+1)
2 short s1 = 1;s1 = s1+1;
3 //編譯通過
4 short s1 = 1;s1 += 1;