天天看點

Java基本類型及其轉換規則1.Java基本類型2.基本類型轉換

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;//強制轉換