Java中資料類型分為基本資料類型和引用資料類型,本節隻歸納總結基本資料類型的相關知識點。
1、基本資料類型分類:
三類8種:
數值型(整型(byte,short,int,long)浮點型( float,double))
字元型(char)
布爾型(boolean)
byte是最小的資料類型機關。占一個位元組(即8bit位)
char占兩個位元組,可以存儲一個漢字。
2、基本資料類型定義:
byte b = 1;
shor s = 1;
int i = 1;
long l1 = 1;//方式一
long l2 = 1L;//方式二
float f = 1.00f;//必須加f或F
double d = 1.00;
char c = 'a';
boolean bl = true;
注意:以上案例中,l1 和 l2 寫法都可以:因為整型中l1數值後面沒加L或l,會認為是int,而用long接收就是自動類型提升。
而浮點型中如果float類型資料在數值後不加f或F(float f = 1.00 )。1.00會被預設為是double類型。此時如果用float接收而沒有進行強制轉換就會報錯。是以 float f = 1.00寫法是錯誤的。
3、基本資料類型轉換:
除了布爾型外的七種基本資料類型在運算時,會進行自動轉換或強制轉換。
(1)、自動類型提升:容量小的資料類型自動轉換成容量大的資料類型。如:
char c1 = 'a';
int i1 = 1;
int i2 = c1 + i1;//常用ASCII值:a是97,A是65
此處 i2 要用int接收。
shor s1 = 2;
byte b1 = 3;
int i3 = s1 + b1;
此處 i3 也要用int接收。
總結:容量排序:byte,short,char->int->long->float->double
其中:byte,short,char參與運算時都自動轉換成int。
(2)、強制轉換:從容量大的資料類型向容量小的資料類型轉換時,就需要添加強制轉換符進行強制轉換。如:
int i4 = 3;
float f4 = 2.22f;
int i5 = (int)(i4 + f4); //此時,加上(int)表示強制從float轉換成int。此舉可能會損失精度。
強制類型轉換可能會損失精度,謹慎使用。