1、精度上的区别
float:单精数浮点数 double:双精度浮点数
主要区别是:double取值范围和精度比float都要高;
2、在内存中占有的字节数不同
单精度浮点数在机内存占4个字节而双精度浮点数在机内存占8个字节
3、数值取值范围
单精度浮点数的表示范围:-3.40E+38~3.40E+38
双精度浮点数的表示范围:-1.79E+308~-1.79E+308
4、在程序中处理速度不同
一般来说,CPU处理单精度浮点数的速度比处理双精度浮点数快。
5、注意:
如果不声明, 默认整数为int类型, 默认小数为double类型,所以如果要用float的话,必须进行强转
例如:float a=1.3; 会编译报错,正确写法为:float a = (float)1.3; 或 float a = 1.3f;