基本數據類型 JAVA中一共有八種基本數據類型,他們分別是 byte、short、int、long、float、double、char、boolean 在通常情況下,如果JAVA中出現了一個整數數字比如35,那麼這個數字就是int型的。如果我們希望它是byte型的,可以在數據後加上大寫的 B:35B ...
基本數據類型
JAVA中一共有八種基本數據類型,他們分別是
byte、short、int、long、float、double、char、boolean
類型 | 型別 | 位元組 | 取值範圍 |
byte | 整型 | 1byte | -27 ~ 27-1 |
short | 整型 | 2byte | -215 ~ 215-1 |
int | 整型 | 4byte | -231 ~ 231-1 |
long | 整型 | 8byte | -263 ~ 263-1 |
float | 浮點型 | 4byte | 3.402823e+38 ~ 1.401298e-45 |
double | 浮點型 | 8byte | 1.797693e+308~ 4.9000000e-324 |
char | 文本型 | 2byte | 0~216-1 |
boolean | 布爾型 | 1byte | true/false |
在通常情況下,如果JAVA中出現了一個整數數字比如35,那麼這個數字就是int型的。如果我們希望它是byte型的,可以在數據後加上大寫的 B:35B,表示它是byte型的。同樣的35S表示short型,35L表示long型的,表示int我們可以什麼都不用加,但是如果要表示long型的,就一定要在數據後面加“L”。
double型比float型存儲範圍更大,精度更高,所以通常的浮點型的數據在不聲明的情況下都是double型的,如果要表示一個數據是float型的,可以在數據後面加上“F”。
浮點型的數據是不能完全精確的,所以有的時候在計算的時候可能會在小數點最後幾位出現浮動,這是正常的。
自動類型轉換
1)兩種類型是彼此相容的 2)轉換後的目標類型占的空間範圍一定要大於被轉化的源類型由低位元組向高位元組自動轉換(黑線表示無數據丟失的自動數據轉換,紅線表示轉換中可能發生精度丟失)
<關於int轉float發生精度丟失,而int轉double可以無數據丟失,可參考 https://blog.csdn.net/qq_31778159/article/details/79284113 >
強制數據轉換
將容納更多信息的數據類型轉換成一個容量更小的數據類型,可能存在精度損失的風險,編譯器要求程式員進行強制類型轉換。
強制轉換過程中可能發生數據溢出,必須警惕。
int a=(int)3.14;
數據類型自動提升
如果兩個操作數其中有一個是double類型,另一個操作就會轉換為double類型。 否則,如果其中一個操作數是float類型,另一個將會轉換為float類型。 否則,如果其中一個操作數是long類型,另一個會轉換為long類型。 否則,兩個操作數都轉換為int類型。
參考資料:
1、https://www.cnblogs.com/singlesoar/p/5688915.html
2、https://www.cnblogs.com/skipping/p/5449019.html