JAVA的数据类型为什么这么费力

JAVA浮点数默认为double,为什么要用float?double的精确度高,为什么还要费力在数值后加一个f或F变成float类型?

精度越大数据存储占用的空间就越大,当出现以下情况的时候,float就比double要好,比如需要一个单精度的库,或者存储的数据量很大的时候

因为默认是精度高的double,这样在计算中很少存在精度丢失。像我们平常小计算精度不会那么高,但是像科学计算或银行金额计算精度丢失会造成很大的损失。如果float后不加f,会造成double转为float造成精度丢失,某些情况下会造成很严重的后果

一般用Bigdecimal