java 基本資料型別及自動型別提升
基本資料型別:8種
1.整型:
byte 1個位元組 8位 -128到127
short 2個位元組 16位 -2^15到(2^15)-1
int 4個位元組 32位 -2^32到(2^32)-1
long 8個位元組 64位 -2^64到(2^64)-1
2.浮點型別:
float 4個位元組 32位
double 8個位元組 64位
3.字元型別:
char 2個位元組 16位
4.布林型別:
boolean 1個位元組 false/true
注:
1.java中的自動型別提升問題:
正向過程:由低位元組向高位元組自動轉換
byte->short->int->long->float->double
逆向過程:使用強制轉換,可能丟失精度。
int a=(int)3.14;
2. char:Java中用" \u四位十六進位制的數字 (即使在註釋中出現\u,後面如果跟的不是4個數字,也會報錯)"表示將字元轉換成對應的unicode編碼,字元型別要用單引號括起來。
3、黙認浮點型別為double,float資料型別有一個字尾為" f "或" F "。
4、long型別有一個字尾,為" l " 或者" L "
自動型別提升:
byte a = 1;
byte b = 2;
a = a+b; //編譯出錯自動型別提升成int
a += b; //自加沒有自動型別提升問題
型別自動提升規則:
a和b作某種運算
a和b中有double,結果就是double
a和b中有float,結果就是float
a和b中有long,結果就是long
除此之外,結果都是int
把高位元組轉成低位元組,需要作強制型別轉換. byte c=(byte)a+b;