当我使用float时,为什么java强迫我添加f?

时间:2013-02-24 17:00:37

标签: java

我对编程很新。我有以下代码:

float f = 18.45f;

这很好用。如果我改为:

float f = 18.45;

java称这是错误:

error: possible loss of precision

但它是double的可选项。但在long我再次面临同样的问题。

为什么java强迫我这样做,但double

的情况不是这样

1 个答案:

答案 0 :(得分:20)

在Java中,18.45是一个double数据类型,它保存64位。 float数据类型最多只能容纳32位。添加额外的f使它成为一个浮点数(浮点文字)。

有关详细信息,请参阅Primitive Data Types