1. 程式人生 > >Java基礎——Java基本資料型別

Java基礎——Java基本資料型別

八種基本資料型別

可具體分為三類,數值型別byte、short、int、long、double、float,布林型別boolean,字元型別char,其中數值型別又可分為,整數型別byte、short、int、long,浮點型別double、float。

基本型別 byte short int long double float boolean char
二進位制位數 8 16 32 64 64 32 16
封裝類 Byte Short Integer Long Double Float Boolean Character
最大值 Byte.MIN_VALUE Short.MIN_VALUE
最小值 Byte.MAX_VALUE Short.MAX_VALUE

最大值最小值無需刻意記憶,其數值都已經在對應的包裝類中定義,值得注意的是byte、short、int、long其最大值為對應型別的2的二進位制位數減一次方再減去1,最小值為-2的二進位制位數減一次方,有點拗口,例如:byte最大值為2^(8-1)-1即127,最小值為-2^(8-1)即-128,short、int、long同理,可方便記憶。 boolean的二進位制位數百度得到的答案五花八門,有興趣的可轉(

https://www.jianshu.com/p/2f663dc820d0)瞭解一下

基本型別與封裝類

封裝概念:隱藏物件的屬性和細節,僅對外提供公共的方法進行訪問。 為什麼要封裝:Java語言——一切皆是物件 基本型別與封裝類區別:

  1. 基本型別儲存在棧中,物件型別(封裝類)則是在堆中建立,需要注意的是,物件型別的引用是在棧中建立,就效率而言,在棧中分配記憶體效率比在堆中分配記憶體效率要高,缺點是在棧中分配記憶體存在記憶體洩漏的問題;
  2. 基本型別是按值傳遞,封裝類同為按值傳遞(需要提到一個概念,Java只有按值傳遞而沒有按引用傳遞) 按值傳遞:指在函式呼叫時,傳遞的是值的副本(形參),在該函式中修改引數的值將不會影響到實際引數(實參); 按引用傳遞:是指在函式呼叫時,傳遞的是物件的引用,指向的是同一個堆記憶體地址,也可理解為記憶體地址的傳遞,操作的都是同一個物件;
  3. 有些場合只能使用封裝類,比如泛型、集合List;