1. 程式人生 > 其它 >Java定義的資料型別

Java定義的資料型別

一、變數按照資料型別來分:

基本資料型別:
整型:byte \ short \ int \ long
浮點型:float \ double
字元型:char
布林型:boolean
引用資料型別:

類(class)

介面(interface)

陣列(array)

1.整型:byte(1位元組=8bit) \ short(2位元組) \ int(4位元組) \ long(8位元組)

① byte範圍:-128 ~ 127

② 宣告long型變數,必須以"l"或"L"結尾

③ 通常,定義整型變數時,使用int型。

2.浮點型:float(4位元組) \ double(8位元組)

① 浮點型,表示帶小數點的數值

② float表示數值的範圍比long還大

③ 定義float型別變數時,變數要以"f"或"F"結尾

④ 通常,定義浮點型變數時,使用double型。

3.字元型:char (1字元=2位元組)

① 定義char型變數,通常使用一對'',內部只能寫一個字元

② 表示方式:1.宣告一個字元 2.轉義字元 3.直接使用 Unicode 值來表示字元型常量

char c5 = '\n';//換行符
char c6 = '\u0043';//Unicode

4.布林型:boolean

① 只能取兩個值之一:true 、 false

② 常常在條件判斷、迴圈結構中使用

二、變數在類中宣告的位置:成員變數 vs 區域性變數

自動型別提升:
結論:當容量小的資料型別的變數與容量大的資料型別的變數做運算時,結果自動提升為容量大的資料型別。 byte 、char 、short --> int --> long --> float --> double

特別的:當byte、char、short三種類型的變數做運算時,結果為int型

說明:此時的容量大小指的是,表示數的範圍的大和小。比如:float容量要大於long的容量

強制型別轉換:
自動型別提升運算的逆運算。

1.需要使用強轉符:()

2.注意點:強制型別轉換,可能導致精度損失。

double d1 = 12.9;
//精度損失舉例1
int i1 = (int)d1;//強制型別轉換,截斷操作
System.out.println(i1);//12
//精度損失舉例2

int i2 = 128;

byte b = (byte)i2;

System.out.println(b);//-128