数据类型
内出占用和取值范围
数据类型 | 关键字 | 默认值 | 内出占用(字节) | 取值范围 |
---|---|---|---|---|
整数 | byte | 0 | 1 | [-2^7, 2^7 - 1] |
整数 | short | 0 | 2 | [-2^15, 2^15 - 1] |
整数 | int | 0 | 4 | [-2^31, 2^31 - 1] |
整数 | long | 0L | 8 | [-2^63, 2^63-1] |
浮点数 | float | 0.0f | 4 | |
浮点数 | double | 0.0d | 8 | |
字符 | char | ‘u0000’ | 2 | [‘u0000’, ‘\uffff’] 即[0, 65535] |
布尔 | boolean | false | 1 | true、false |
对于基本类型的取值范围,都已经通过常量定义在对应的包装类中了,因此不需要强制的去记忆。
例如 int 的最小和最大值:
Integer.MIN_VALUE;
Integer.MAX_VALUE;
类型转换
自动类型转换
把一个表示数据范围小的数值或变量直接赋值给另一个表示数据范围大的变量
int a1 = 6;
double a2 = a1;
System.out.println(a2);
输出内容:
6.0
强制类型转换
把一个表示数据范围大的数值或变量直接赋值给另一个表示数据范围小的变量
double b1 = 6.66;
int b2 = (int) b1;
System.out.println(b2);
输出内容:
6