已知
Float和double都是针对于浮点型设置的,但是一个是单精度一个是双精度。
取值范围区别
类型 | 大小位数 | 描述 | 取值范围 |
Float | 32 | 单精度 | -3.40E+38~3.40E+38 |
Double | 64 | 双精度 | -1.79E+308~-1.79E+308 |
用法区别
使用Float f=0.3f; 就是为Float变量f赋初值为0.3 。
为什么后面要加f;因为默认的都是用的Double;
而将它转换成Float,可以提高计算机的运行速度;
但是有一个问题,精度。
已知:
Double的精度要比Float的精度要大一点;
代码区分
public static void main(String[] args) {
double x=1.2;
Float f=1.0f;
double y=1.99999999999;
Float f1=1.99999999999f;
//Float f2=1.3;
Float f3=(float) (3*0.1);
System.out.println(x);
System.out.println(y);
System.out.println(f);
System.out.println(f1);
}
运行结果
1.2
1.99999999999
1.0
2.0
Float和Double分别给f和f1赋值并初始化,最终二者结果不一样前者值没有变,后者值由于精度原因导致后者进行估算;
当数值精度不需要太大的时候应该用Float
精度太大的时候需要用到Double