Java九种基本数据类型的大小,以及他们的封装类
注:实际上JAVA只有8种基本数据类型,String类是引用类型,有人说第九种是void
我们先看看是哪八种基本数据类型
类型 | 大小 | 封装类 | 默认大小 | 取值范围 |
---|---|---|---|---|
byte(位) | 1字节8位 | Byte | 0 | -2^7 - 2^7-1 |
short(短整数) | 2字节16位 | Short | 0 | -2^15 - 2^15-1 |
int(整数) | 4字节32位 | Integer | 0 | -2^31 - 2^31-1 |
long(长整数) | 8字节64位 | Long | 0 | -2^63 - 2^63-1 |
float(单精度) | 4字节32位 | Float | 0.0f | -2^31 - 2^31-1 |
double(双精度) | 8字节64位 | Double | 0.0d | -2^63 - 2^63-1 |
char(字符) | 2字节16位 | Character | \u0000(null) | 0 - 2^16-1 |
boolean(布尔值) | 1字节8位 | Boolean | false | true、false |
基本类型是放在栈中,直接存储值。所有数值类型都有正负号,没有无符号的数值类型。
- int是基本数据类型,Integer是int的封装类,是引用类型。int默认值是0,而Integer默认值是null,所以Integer能区分出0和null的情况。一旦java看到null,就知道这个引用还没有指向某个对象,再任何引用使用前,必须为其指定一个对象,否则会报错。
- 基本数据类型在声明时系统会自动给它分配空间,而引用类型声明时只是分配了引用空间,必须通过实例化开辟数据空间之后才可以赋值。
- 数组对象也是一个引用对象,将一个数组赋值给另一个数组时只是复制了一个引用,所以通过某一个数组所做的修改在另一个数组中也看的见。