Java基本類型使用頻率很高,它們的建立不是經過new關鍵字產生的。一般 new出來的對象都是保存在堆內,用這種方式建立小而簡單的變量是不划算的。因此對於這些基本類型的建立方法,Java採起和C/C++同樣的策略:不使用 new 建立,使用一個變量直接存儲value,並置於棧內存中,所以更加高效。安全
Java肯定了每種基本類型的內存佔用大小。ide
基本類型 | 大小 | 最小值 | 最大值 | 包裝類型 |
---|---|---|---|---|
Boolean | true/false | - | - | Boolean |
char | 16 bits | Unicode 0 | Unicode 216 -1 | Character |
byte | 8 bits | -128 | +127 | Byte |
short | 16 bits | -215 | +215 -1 | Byte |
int | 32 bits | -231 | +231 -1 | Integer |
long | 64 bits | -263 | +263 -1 | Long |
float | 32 bits | IEEE754 | IEEE754 | Float |
double | 64 bits | IEEE754 | IEEE754 | Double |
- 全部數值類型都有正負符號。
- Boolean類型的大小沒有明確的規定,一般取true/false。
若是須要在堆內存裏表示基本數據類型的數據,能夠經過基本類型對應的包裝類型實現。code
//方式一: char c ="x"; Character ch = new Character(c); //方式二 Character ch = new Character("x");
在類初始化時,基本類型將會被賦予一個初始值。對象
基本類型 | 初始值 |
---|---|
boolean | false |
char | \u0000 (null) |
byte | (byte) 0 |
short | (short) 0 |
int | 0 |
long | 0L |
float | 0.0f |
double | 0.0d |
這些默認值僅在Java初始化類的時候纔會被賦予,確保了基礎類型的字段始終能被初始化。內存
初始默認值對於程序來講不必定是合法的,因此爲了安全,最好顯式地初始化變量。it