Java有浮点基元类型的目的是什么?
你能帮我澄清Java中浮点原语的用法吗?
我的理解是,将浮点值转换为双精度值可能会出现问题,反之亦然。我读到(很久以前,不确定新的JVM是否真的如此)浮子的性能比双倍的表现差得多。当然,浮子的精度低于双倍。
我还记得,当我使用AWT和Swing时,我在使用浮点数或双精度时遇到了一些问题(例如使用Point2D.Float或Point2D.Double)。
因此,我只看到浮动比双倍的2个优点:
它只需要4个字节,而双倍需要8个字节。
Java 内存模型 (JMM) 保证赋值操作是具有浮点变量的原子操作,而与 double 变量不是原子的。
有没有其他情况,浮点数比双倍更好?您是否在应用程序中使用浮点数?