包装类型与基本数据类型的异同

包装类型与基本数据类型的异同

一、基本数据类型:

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、使用方式的不同,比如与集合类合作使用时只能使用包装类型。