小数/浮点数
类型 | 字节 | 负数取值范围 | |
---|---|---|---|
float | 4字节 | -3.4E+38~1.4E-45 | 1.4E-45~3.4E+38 |
double | 8字节 | -1.7E+3.8~-4.9E-324 | 4.9E-45~3.4E+38 |
注:E:表示10,E之后的数字代表的是n次方
浮点型数值采用科学计数法表示:
2E3 等价于 2 * 10^3 (结果:2000.0)
3E5 等价于 3 * 10^3 (结果:300000.0)
注:double为浮点数的默认类型,如需要为float类型赋值,需要在值的后面追加“F”。
-
小数:
近似值:
float 32bit 1bit符号位 8bits指数位 23bits尾数位
double 64bit 1bit符号位 11bits指数位 52bits尾数位
-
float 4个字节 单精度 将小数存入float类型数据时,追加“F/f”
-
double 8个字节 双精度
public class TestType {
public static void main(String[] args) {
/*
TestType.java:8: 错误: 不兼容的类型: 从int转换到byte可能会有损失
byte b = 128;
^
1 个错误
byte b = 128;
*/
byte b = 127;
short s = 32767;
int i = 2147483647;
long l = 2147483644;
/*
TestType.java:13: 错误: 过大的整数: 2147483648
long l = 2147483648;
^
1 个错误
*/
double d = 2E3;
System.out.println(d);
System.out.println(float.MAX_VALUE);
}
}