Java基礎——Java基本資料型別
阿新 • • 發佈:2018-12-11
八種基本資料型別
可具體分為三類,數值型別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語言——一切皆是物件 基本型別與封裝類區別:
- 基本型別儲存在棧中,物件型別(封裝類)則是在堆中建立,需要注意的是,物件型別的引用是在棧中建立,就效率而言,在棧中分配記憶體效率比在堆中分配記憶體效率要高,缺點是在棧中分配記憶體存在記憶體洩漏的問題;
- 基本型別是按值傳遞,封裝類同為按值傳遞(需要提到一個概念,Java只有按值傳遞而沒有按引用傳遞) 按值傳遞:指在函式呼叫時,傳遞的是值的副本(形參),在該函式中修改引數的值將不會影響到實際引數(實參); 按引用傳遞:是指在函式呼叫時,傳遞的是物件的引用,指向的是同一個堆記憶體地址,也可理解為記憶體地址的傳遞,操作的都是同一個物件;
- 有些場合只能使用封裝類,比如泛型、集合List;