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

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

一、基本数据类型:

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