- Java数据类型
- 1. 数据类型分类
- 1.1 基本数据类型
- 1.2 引用数据类型
- 2. 类型转换
- 2.1 自动类型转换
- 2.2 表达式的自动类型转换
- 2.3 强制类型转换
基本数据类型: 四大类八种。
| 数据类型 | 关键字 | 取值范围 | 内存占用(字节数) |
|---|---|---|---|
| 整数 | byte | -128~127 | 1 |
| short | -32768~32767 | 2 | |
| int(默认) | -2147483648~2147483647(10位数) | 4 | |
| long | -9223372036854775808~9223372036854775807(19位数) | 8 | |
| 浮点数 | float | 1.401298e-45到3.402823e+38 | 4 |
| double(默认) | 4.9000000e-324~1.797693e+308 | 8 | |
| 字符 | char | 0-65535 | 2 |
| 布尔 | boolean | true,false | 1 |
注意:
- 随便写一个整数字面量默认是int类型的,如果把一个整数字面量当成long类型,需要在其后加 L / l 。
- 随便写一个小数字面量默认是double类型的, 如果希望把一个小数字面量当成float类型,需要在其后加上 F / f 。
String,后续再继续补充。
2. 类型转换 2.1 自动类型转换- 类型范围小的变量,可以直接复制给类型范围大的变量。
- 在表达式中,小范围类型的变量会转换成当前较大范围的类型再运算。
- 表达式的最终结果类型是由表达式中的最高类型决定的
- 在表达式中,byte、short、char是直接转换成int类型参与运算的。
- 格式: 数据类型 变量2 = (数据类型)变量/数据
int a = 20; byte b = (byte)a; - 底层原理:
- 注意事项:
- 强制类型转换可能造成数据(丢失)溢出。
- 浮点型强转成整型,直接丢掉小鼠部分,保留整数部分返回。



