1. 程式人生 > >Java基礎之基本資料型別、封裝型別

Java基礎之基本資料型別、封裝型別

基本資料型別有4類8種

byte、short、int、long、float、double、boolean、char

(在棧中可以直接分配記憶體的資料是基本資料型別)(除此之外都是引用資料型別:資料的引用在棧中,但是它的物件在堆中)

Java為每個原始型別提供了封裝類Byte、Short、Integer、Long、Float、Double、Boolean、Character

第一類:整形byte、short、int、long

byte(位元組型)大小:1位元組=8位=256個數(-128~127),預設值:0

short(短整型)大小:2位元組=16位 0

int(整數型別)大小:4位元組=32位 0

long(長整形)大小:8位元組=64位 0

Java中預設的整數型別是int,如果定義float型,數值後加l或L。 預設的浮點型是double型,如果定義float型,加f或者F

第二類:浮點型float、double

float(浮點型單精度)大小:4位元組=32位0.0f

double(雙精度型)大小:8位元組=64位0.0d

第三類:邏輯型boolean(true或false)

boolean(邏輯型)大小:1/8位元組=1位   false

第四類:字元型char

char(字元型)大小:2位元組=16位(一個字元能儲存一箇中文漢字)\u0000

資料型別之間的轉換

 基本資料型別轉換(由低級別到高級別為

):

(byte、short、char)---> int ---> long ---> float ---> double

小可轉大,大轉小會失去精度。

低階到高階支援自動型別轉換,高階到低階必須強制型別轉換,包裝類可過渡型別轉換。

(有一個很形象的解釋:假如你下命令,把一杯水倒入一個空桶中,我照著做就可以了。如果你下令,把一桶水倒入一個杯子裡面,我就要警告你,請注意有可能桶裡面的水太多,杯子裝不下。

資料型別轉換必須滿足如下規則:

  • 1. 不能對boolean型別進行型別轉換。

  • 2. 不能把物件型別轉換成不相關類的物件。

  • 3. 在把容量大的型別轉換為容量小的型別時必須使用強制型別轉換。

  • 4. 轉換過程中可能導致溢位或損失精度,例如:

    int i =128;byte b =(byte)i;

    因為byte型別時8位,最大值為127,所以當強制轉換為int型別值128時候就會導致溢位。

  • 5. 浮點數到整數的轉換是通過捨棄小數得到,而不是四捨五入,例如:

    (int)23.7==23;(int)-45.89f==-45