1.double是双精度浮点数,内存占8个字节,有效数字16位,表示范围是-1.79E+ 308~-1.79E+308。
float是单精度浮点数,内存占4个字节,有效数字8位,表示范围是 -3.40E+38~3.40E+38。
2.两者处理速度不同,CPU处理float的速度比处理double快。double的精度高,double消耗内存是float的两倍。
3.如果不声明,小数默认是double类型,用float时需要进行强转,或者在小数后加上f。
/**
* @author dou_chengzi
* @create 2021-01-08-2021-1-8-16:28
*/
public class TestDoubleAndFloat {
public static void main(String[] args) {
double d = 2.4;
System.out.println(d);//2.4
float f1 = (float) 2.4;
System.out.println(f1);//2.4
float f2 = 2.4f;
System.out.println(f2);//2.4
}
}