在java中有8个基本数据类型
| 基本数据类型 | 大小 | 他们的包装类 | 默认值 |
|---|---|---|---|
| int | 32 bits | Integer | 0 |
| short | 16 bits | Short | 0 |
| long | 64 bits | Long | 0 |
| float | 32 bits | Float | 0.0f |
| double | 64 bits | Double | 0.0d |
| char | 16 bits | Character | \u0000(null) |
| byte | 8 bits | Byte | 0 |
| boolean | 1 bits | Boolean | false |
然而
在jvm中这些基本数据类型不是以上面的大小保存的,
jvm中以32 bits为一个储层空间,
当小于32 bits时 还是用32 bits空间保存,
然而大于32 bits时 就会用两个空间保存 (如long , double)。
基本数据的分配空间
- 基本数据有固定的大小可能会被分配在栈中(在方法中定义的局部变量)
- 通过new出来的是在堆中,不过可能会在栈中有其引用(在函数中new出来的对象时)
其他
在使用的时候可以把基本数据类型赋值给他们自己的包装类。也可以反过来赋值。
自动装箱
Integer a=1;自动拆箱
int a=new Integer(1);本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!