java基本数据类型
数据类型

| 名称 | 位数 | 默认值 | 最小值 | 最大值 |
| byte | 1字节(8位) | 0 | -128 | 127 |
| short | 2字节(16位) | 0 | -32768 | 32767 |
| int | 4字节 (32位) | 0 | -2^31 | 2^31-1 |
| long | 8字节 (64位) | 0L | -2^63 | 2^63-1 |
| float | 4字节 | 0.0F | ||
| double | 8字节 | 0.0 | ||
| char | 2字节 | '/u0000' | 0 | 2^16-1 |
| boolean | 1字节或4字节 | false |
自动类型转换
数据精度低的类型会自动提升为数据精度高的类型
- byte、char、short参与运算自动提升为int类型
- java中默认数值字面量为int类型和double类型
- boolean不参与运算
- 表达式返回的数据类型为精度最大的数据类型
byte num1 = 1; char num2 = 2; short num3 = 3; // 输出Integer System.out.println(getType(num1 + num2 + num3)); int num4 = 4; // float num5 = 5.0F; float num5 = 5; // double num6 = 6; // double num6 = 6.0F; double num6 = 6;
强制数据类型转换
数据精度高的类型赋值给数据精度低的类型会发生精度丢失,因此需要强制转换
int num1 = 1; byte num2 = (byte) num1; short num3 = (short) num1; double num4 = 5.0; float num5 = (float) num4; long num6 = (long) num5;
浙公网安备 33010602011771号