Java 八大基本数据类型
java 数据类型关系图
1.基本数据类型取值范围
类型 | 默认值 | 占用存储空间/字节 | 范围 |
举例说明 |
byte | 0 | 1 | -2^7 - 2^7-1 | byte b = 10; |
short | 0 | 2 | -2^15 - 2^15-1 | short s = 10; |
int | 0 | 4 | -2^31 - 2^31-1 | int i = 10; |
long | 0 | 8 | -2^63 - 2^63-1 | long l = 10l; |
float | 0.0 | 4 | -2^31 - 2^31-1 | float f = 10.0f; |
double | 0.0 | 8 | -2^63 - 2^63-1 | double d = 10.0d; |
char | 空 | 2 | 0 - 2^16-1 | char c = 'c'; |
boolean | false | --------------- | false、true | boolean b = true; |
2.自动类型转换顺序
注:虚线代表可能会出现数据丢失问题。
3.自动转换规则
1)如操作数之一为double,则另一个操作数先被转化为double,再参与算术运算。
2)如两操作数均不为double,当操作数之一为float,则另一操作数先被转换为float,再参与运算。
3)如两操作数均不为double或float,当操作数之一为long,则另一操作数先被转换为long,再参与算术运算。
4)如两操作数均不为double、float或long,则两操作数先被转换为int,再参与运算。
4.强制转换的问题:
1)会损失精度,产生误差,小数点以后的数字全部舍弃。
2)容易超过取值范围。