包装类型与基本数据类型的异同
包装类型与基本数据类型的异同
一、基本数据类型:
Java 语言提供了八种基本类型:六种数字类型(四个整数型,两个浮点型), 一种字符类型,还有一种布尔型。
1、整数:包括 int,short,byte,long ,初始值为 0
2、浮点型:float,double ,初始值为 0.0
3、字符:char ,初始值为空格,即" ",如果输出,在 Console 上是看不到效果的。
4、布尔:boolean ,初始值为 false
基本型别 | 大小 | 最小值 | 最大值 |
---|---|---|---|
boolean | ----- | ----- | ------ |
char | 16-bit | Unicode 0 | Unicode 2^16-1 |
byte | 8-bit | -128 | +127 |
short | 16-bit | -2^15 | +2^15-1 |
int | 32-bit | -2^31 | +2^31-1 |
long | 64-bit | -2^63 | +2^63-1 |
float | 32-bit | IEEE754 | IEEE754 |
double | 64-bit | IEEE754 | IEEE754 |
void |
注意:Java 采用 unicode 编码,2 个字节来表示一个字符。
二、包装类
Java 中的包装类包括: Integer、Long、Short、Byte、Character、Double、 Float、Boolean、BigInteger、BigDecimal。
其中 BigInteger、BigDecimal 没有相对应的基本类型,主要应用于高精度的运算,BigInteger 支持任意精度 的整数,BigDecimal 支持任意精度带小数点的运算。
三、基本类型与包装类型的异同
1、在 Java 中,一切皆对象,但八大基本类型却不是对象。
2、声明方式的不同,基本类型无需通过 new 关键字来创建,而包装类型需 new 关键字。
3、存储方式及位置的不同,基本类型是直接存储变量的值保存在栈中能高 效的存取,包装类型需要通过引用指向实例,具体的实例保存在堆中。
4、初始值的不同,包装类型的初始值为 null,基本类型的的初始值视具体的类型而定,比如 int 类型的初始值为 0,boolean 类型为 false。
5、使用方式的不同,比如与集合类合作使用时只能使用包装类型。