byte | 字節型 1字節(8bit) | 初始值:0 |
char | 字符型 2字節 | 空格 |
short | 短整型 2字節 | 0 |
int | 整形 4字節 | 0 |
long | 長整形 8字節 | 0L |
float | 單精度浮點型 4字節 | 0.0f |
double | 雙精度浮點型 8字節 | 0.0d |
boolean | Java未明確指出的大小 (可能1bit,1byte,4byte) | false |
上面所寫的初始值都是針對類成員的變量。
數據類型之間的轉換
兩種:自動轉換和強制轉換
自動轉換 小——>大
較“小”數據與較“大”數據一起運算時,系統將自動將小數據轉換成大數據進行運算。
這些類型由"小"到"大"分別為 (byte,short,char)--int--long--float—double。這里我們所說的"大"與"小",並不是指占用字節的多少,而是指表示值的范圍的大小。
①下面的語句可以在Java中直接通過:
byte b;int i=b; long l=b; float f=b; double d=b;
②如果低級類型為char型,向高級類型(整型)轉換時,會轉換為對應ASCII碼值,例如
char c='c'; int i=c;
System.out.println("output:"+i);輸出:output:99;
強制轉換 大——>小
對於byte,short,char三種類型而言,他們是平級的,因此不能相互自動轉換,可以使用下述的強制類型轉換。
short i=99 ; char c=(char)i; System.out.println("output:"+c);
輸出:output:c;
注意:
①所有的byte,short,char型的值將被提升為int型;
②如果有一個操作數是long型,計算結果是long型;
③如果有一個操作數是float型,計算結果是float型;
④如果有一個操作數是double型,計算結果是double型;
例, byte b; b=3; b=(byte)(b*3);//必須聲明byte。