1.基本資料型別:四個整型(byte,short,int,long);二個浮點型(float,double);乙個字元型(char);乙個布林型(boolean)
位數有無符號位double是浮點型的預設型別。,每個基本資料型別都對應乙個物件版本:byte->byte,short->short,int->integer,long->long,float->float,double->double,char->character,boolean->boolean。每乙個資料型別的位數和最大值最小值都可以通過對應物件的方法來獲取:最小值最大值
預設值byte8有
-128
1270
short16有
-2^15
2^15-1
0int32有
-2^31
2^31-1
0long64有
-2^63
2^63-1
0lfloat
320.0f
double
640.0
char
16\u0000(0)
\uffff(65535)
boolean
1false
integer.size是int型占用的位數,integer.min_value、integer.max_value分別表示int型的最小、最大值。boolean沒有最大最小值,只有true和false兩個值。
2.資料型別轉換:在數學計算時如果運算子兩側的資料型別不相等就會進行資料型別轉換。轉換一般遵循以下規律(+,-,*,/):
如果運算子兩側n、m有乙個是double型別的,那麼另乙個將會轉換為double型別,如果不滿足則按下面的規則;
如果運算子兩側n、m有乙個是float型別的,那麼另乙個將會轉換為float型別,如果不滿足則按下面的規則;
如果運算子兩側n、m有乙個是long型別的,那麼另乙個將會轉換為long型別,如果不滿足則按下面的規則;
n和m都轉換為int型別進行計算;
上圖中實線箭頭表示轉換時無資料丟失;虛線箭頭表示轉換時可能出現資料丟失。(強轉一般會導致資料丟失)
例:short s1 = 1; s1 = s1 + 1; ->錯誤,後面那個1是int型別,(s1+1)也會自動轉成int型別,要想賦值給short型別需要強**
s1 = (short)(s1 + 1);
float f = 3.4; ->錯誤,預設的浮點型為double,所以應該是float f = 3.4f or float f = (float)3.4;
3.浮點型保留位數:使用decimalformat類對浮點型資料進行保留位數的操作(四捨五入)。
float f = 3.1415926f;
decimalformat d = new decimalformat("0.000");
syso(d.format(f));
Java基本資料型別轉換那些事
1.promote和cast promote 如果是負數,前面所有空位補1.如果是正數,前面所有空位補0。cast 擷取低位的。2.int i 0xffffffff 正常編譯執行 system.out.println i 0xffffffff預設為int型,若達到int型最高位,直接把16進製制當做...
Java基本資料型別的包裝類
基本資料型別物件包裝類 為了方便操作基本資料型別值,將其封裝成了物件,在物件中定義了屬性和行為豐富了該資料的操作,用於描述該物件的類就稱為基本資料型別物件包裝類 基本資料型別 包裝類 byte byte short short int integer long long float float do...
Java 基本資料型別的包裝類
基本資料型別 包裝類 byte byte short short int integer long long float float double double boolean boolean char character 思考 為什麼要把基本資料型別封裝成乙個類 在類中可以宣告方法,可以使用物件呼...