基本數據類型
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”。
浮點型的數據是不能完全精確的,所以有的時候在計算的時候可能會在小數點最后幾位出現浮動,這是正常的。
自動類型轉換
由低字節向高字節自動轉換(黑線表示無數據丟失的自動數據轉換,紅線表示轉換中可能發生精度丟失)
<關於int轉float發生精度丟失,而int轉double可以無數據丟失,可參考 https://blog.csdn.net/qq_31778159/article/details/79284113 >
強制數據轉換
將容納更多信息的數據類型轉換成一個容量更小的數據類型,可能存在精度損失的風險,編譯器要求程序員進行強制類型轉換。
強制轉換過程中可能發生數據溢出,必須警惕。
int a=(int)3.14;
數據類型自動提升
參考資料:
1、https://www.cnblogs.com/singlesoar/p/5688915.html
2、https://www.cnblogs.com/skipping/p/5449019.html