1.Java基本類型
Java語言提供了八種基本類型。一種布爾類型,一種字元類型(也是一種整型),六種數字類型(四個整數型,兩個浮點型)
1、布爾:boolean ,初始值為false 2、字元:char ,初始值為空,即''(或'\u0000'),java采用unicode,2個位元組來表示一個字元(C++采用ascii,1個位元組表示一個字元) 3、整數:包括int,short,byte,long ,初始值為0 4、浮點型:float,double ,初始值為0.0f和0.0d PS:float f=1.3是錯誤的,Java中不加字尾字母'f'或'F'的浮點類型是double類型。(在C++中雖然預設浮點類型是double,但是允許這樣指派) float f=1.3f,float f=1.3F,float f=(float)1.3,這三種指派是正确的。
基本類型 | 所占空間(bit) | 取值範圍 | 包裝類 |
boolean | 1 | false/true | Boolean |
char | 16 | '\u0000' ~ '\uffff' | Character |
byte | 8 | -128 ~ 127 | Byte |
short | 16 | -2^15 ~ 2^15-1 | Short |
int | 32 | -2^31 ~ 2^31-1 | Integer |
long | 64 | -2^63 ~ 2^63-1 | Long |
float | 32 | -3.40292347E+38 ~ +3.40292347E+38 | Float |
double | 64 | -1.79769313486231570E+308 ~ +1.79769313486231570E+308 | Double |
2.基本類型轉換
Java基本類型可以互相轉換,但是boolean除外 隐式轉換(從低級到進階),又叫擴充轉換,不會丢失資訊,不需要顯式進行轉換。 強制轉換(從進階到低級),又叫窄化轉換,可能丢失資訊,需要顯式進行轉換。
基本類型 | 可隐式轉換成的類型(從低級到進階排列) |
char | int,long,float,double |
byte | short,int,long,float,double |
short | int,long,float,double |
int | long,float,double |
long | double |
float | double |
強制轉換可以将任何基本類型轉換成其他基本類型,但是boolean除外,它不能轉換。
/*
隐式轉換和強制轉換舉例
*/
char ch=97;//代表ch='a'
int i=ch;//隐式轉換
short sh=(int)i;//強制轉換