- Java中的数据类型分为基本数据类型、引用数据类型。
- 基本数据类型:整型(byte、short、int、long)、浮点型(float、double)、字符型(char)、布尔型(boolean)。
类型 | 存储需求 | 取值范围 | 装箱类型 |
---|---|---|---|
byte | 1个字节 | -128 ~ 127 | Byte |
short | 2个字节 | -3 2768 ~ 3 2767 | Short |
int | 4个字节 | -21 4748 3648 ~ 21 4748 3647 | Integer |
long | 8个字节 | -922 3372 0368 5477 5808 ~ 922 3372 0368 5477 5807 | Long |
float | 4个字节 | ±3.402 823 47E+38F(有效位数为6~7位) | Float |
double | 8个字节 | ±1.797 693 134 862 315 70E+308(有效位数为15位) | Double |
char | 2个字节 | \u0000 ~ \uFFFF | Character |
boolean | 1个字节 | false \ true | Boolean |
- 引用数据类型:类(class)、接口(interface)、数组(array)。
- 自动类型提升:byte、short、char -> int -> long -> float -> double,编译时进行。
- 强制类型转换:自动类型提升的逆运算。
- 整型字面值默认为int类型,浮点型字面值默认为double类型。
- 整型的默认值为0,浮点型的默认值为0.0,字符型的默认值为 \u0000,布尔型的默认值为false。
- 当基本数据类型与String类型做运算时,基本数据类型先转换成String类型,然后进行拼接操作;当字符型与整型或浮点型做运算时,字符型先转换成int类型,然后进行运算操作。
- 引用数据类型的值要么是null,要么是对象的地址,默认值为null。
- 成员变量存储在堆(heap)中,具有默认值;局部变量存储在栈(stack)中,不具有默认值,因此使用之前必须初始化。