0. 基本数据类型有哪些,字节分别是多少?

byte 1字节 short 2字节 int 4字节 long 8字节 float 4字节 double 8字节 boolean 1字节 char 2字节

1. 基本数据类型

先了解下 Java 中的 8 种基本数据类型,以及它们的占内存的容量大小和表示的范围,如下图所示。

https://cdn.nlark.com/yuque/0/2020/png/576791/1600148108846-4c8644c5-a29f-4c3c-a933-2b2921a66221.png#height=479&id=Ls75J&originHeight=479&originWidth=638&originalType=binary&ratio=1&size=127912&status=done&style=none&width=638

1.整型 类型 存储需求 bit数 取值范围 备注 int 4字节 48 short 2字节 28 -32768~32767 long 8字节 88 byte 1字节 18 -128~127

2.浮点型 类型 存储需求 bit数 取值范围 备注 float 4字节 48 float类型的数值有一个后缀F(例如:3.14F) double 8字节 88 没有后缀F的浮点数值(如3.14)默认为double类型

3.char类型 类型 存储需求 bit数 取值范围 备注 char 2字节 2*8

4.boolean类型 类型 存储需求 bit数 取值范围 备注 boolean 1字节 1*8 false、true

2. 数据类型转换

https://cdn.nlark.com/yuque/0/2020/webp/576791/1601218375259-e83bd217-b4f6-422e-b4ce-f6a06ab85d60.webp#height=300&id=c7FTt&originHeight=300&originWidth=678&originalType=binary&ratio=1&size=0&status=done&style=none&width=678

3. 包装类型

byte → Byte short → Short int → Integer long → Long float → Float double → Double boolean → Boolean

Tip:包装类型被final修饰,不可被继承。

JDK1.5新特性:自动拆装箱,基本类型与其对应的包装类型之间的赋值使用自动装箱与拆箱完成。

Integer x = 2;     // 装箱 调用了 Integer.valueOf(2)
int y = x;         // 拆箱 调用了 X.intValue()

4. 缓存池