資料型別中補充的幾個小問題
阿新 • • 發佈:2018-11-26
1:在定義Long或者Float型別變數的時候,要加L或者f。
整數預設是int型別,浮點數預設是double。
byte,short在定義的時候,他們接收的其實是一個int型別的值。
這個是自己做了一個數據檢測的,如果不再它們的範圍內,就報錯。
2:byte值的問題
byte b1 = 127;
byte b2 = (byte)128; //-128
byte b3 = (byte)129; //-127
byte b4 = (byte)130; //-126
byte的範圍:-128 ~ 127
128:10000000
-128:10000000 (這裡的1即是符號位,也是數值位)
3:資料型別轉換之預設轉換
byte,short,char -- int -- long -- float -- double
long: 8個位元組
float:4個位元組
A:它們底層的儲存結構不同。
B:float表示的資料範圍比long的範圍要大
long:2^63-1
float:3.4*10^38 > 2*10^38 > 2*8^38 = 2*2^3^38 = 2*2^114 > 2^63-1
4:Java語言中的字元char可以儲存一箇中文漢字嗎?為什麼呢?
可以。因為java語言中的字元佔用兩個位元組。
Java語言採用的是Unicode編碼。
整數預設是int型別,浮點數預設是double。
byte,short在定義的時候,他們接收的其實是一個int型別的值。
這個是自己做了一個數據檢測的,如果不再它們的範圍內,就報錯。
2:byte值的問題
byte b1 = 127;
byte b2 = (byte)128; //-128
byte b3 = (byte)129; //-127
byte b4 = (byte)130; //-126
byte的範圍:-128 ~ 127
-128:10000000 (這裡的1即是符號位,也是數值位)
3:資料型別轉換之預設轉換
byte,short,char -- int -- long -- float -- double
long: 8個位元組
float:4個位元組
A:它們底層的儲存結構不同。
B:float表示的資料範圍比long的範圍要大
long:2^63-1
float:3.4*10^38 > 2*10^38 > 2*8^38 = 2*2^3^38 = 2*2^114 > 2^63-1
4:Java語言中的字元char可以儲存一箇中文漢字嗎?為什麼呢?
Java語言採用的是Unicode編碼。