浮点有效位不一样啊,双精度的小数点后面可以很多,单精度的小数点后位数相对较少,根据不同情况选用不同的精度,这和内存效率有关系,不是双精度就比单精度好,java虽然是垃圾自动回收,但也会有内存过高和泄露问题
二者的取值范围和精度是不同的
float的精度是6位有效数字,取值范围是10的-38次方到10的38次方,float占用4字节空间
double的精度是15位有效数字,取值范围是10的-308次方到10的308次方,double占用8字节空间。
双精度比单精度精度高。并且默认的浮点数是Double 类型的。。float类型变量直接赋值后面要加f
float:4字节,大约+到-3.40282347E+38F(有效小数6-7)
double:8字节,大约+到-1.79769313486231570E+308(有效小数15)
挺勤快的啊,最好去办公室问老师,或者问懂的同学。