Java float数据类型

当评估求值需要分数精度的表达式时,可使用浮点数(也称为实数)。
包含小数部分的数值称为实数,例如,3.2,0.114-1.19等。Java支持浮点数格式。 Java使用IEEE 754浮点标准存储实数。

有两种类型的浮点类型,floatdouble,分别表示单精度和双精度数。
它们的宽度和范围如下所示:

名称 以位为单位的宽度 近似范围
double 64 4.9e-324 ~ 1.8e+308
float 32 1.4e-045 ~ 3.4e+038

浮点数据类型

浮点数据类型使用32位来存储浮点数。
浮点数也称为单精度浮点数。它可以表示一个小到1.4×10^-45和大到3.4×10^38的大小的实数。在该范围内它可以是正的或负的。

所有以fF结尾的实数称为浮点文字。 浮点文本可以用以下两种格式表示:

  • 十进制数字格式
  • 科学计数法

浮点字面量

十进制数字格式的浮点字面量示例如下:

float f1  = 1F; 
float f2  = 2.F; 
float f3  = 3.0F; 
float f4  = 4.51F; 
float f5  = 5.0F; 
float f6  = 56.78f;

在Java中,实数可以使用科学记数法表示为浮点字面量。在科学记数法中,数字32.5×10-1被写为32.5E-1。 作为浮点字面量,它可以写作32.5E-1F32.5E-1f
所有以下浮点字面量表示相同的实数42.5

4.25F
42.5E-1F
0.425E+1F
0.425E1F
0.0425E2F
0.0425e2F
4.25E0F

float数据类型定义两个零:+0.0F(或0.0F)和-0.0F+0.0F-0.0F都被认为是相等的。
float数据类型定义了两个无穷大:正无穷大和负无穷大。未定义浮点的一些操作的结果。 例如,将0.0F除以0.0F是不确定的。

不确定的结果由NaN(非数字)的float数据类型的特殊值表示。
Java有一个Float类,它定义了三个常量,分别表示正数无穷大,负无穷大和浮点数据类型的 NaN
下表列出了这三个浮点常量及其含义。

常量 含义
Float.POSITIVE_INFINITY float类型的正无穷大
Float.NEGATIVE_INFINITY float类型的负无穷大
Float.NaN 不是float类型的数值
Float.MAX_VALUE 可以在float变量中表示的最大正值。等于3.4 x 10^38(约)。
Float.MIN_VALUE 大于零的最小正值,可以在float变量中表示。等于1.4×10^-45

所有整型类型(intlongbyteshortchar)的值可以分配给float数据类型的变量,而不使用显式强制转换。

在将float值分配给任何整数数据类型intlongbyteshortchar的变量之前,必须强制转换该值。

intlong赋值给float类型可能会导致精度损失。


上一篇:Java boolean数据类型

下一篇:Java double数据类型

关注微信小程序
程序员编程王-随时随地学编程

扫描二维码
程序员编程王

扫一扫关注最新编程教程