3.2.3 浮点型

浮点型数据表示有小数部分的数字,总共有两种类型:单精度浮点型(float)和双精度浮点型(double)。

1.单精度浮点型数据

单精度浮点型占4个字节,有效数字最长为7位,有效数字长度包括了整数部分和小数部分。一个单精度浮点型的数据定义如下所示。


float x=223.56F


注意

在每个单精度浮点型数据后面,都有一个标志性符号“F”或者“f”,有这个标志就代表是单精度浮点型数据。

【实例3.6】下面演示单精度浮点型数据在程序代码段中的使用情况。


01 ///声明了x, y,z三个浮点型变量

02 public class Float

03 {

04 public static void main(String[]args)

05 {

06 float x=22.2f;

07 float y=42.2f;

08 float z=x*y;

09 System.out.println("x*y="+z);

10 }

11 }


【代码说明】第6~7行定义了两个浮点型数据,它们都以“f”标识结尾。第8行定义了变量z,其值是前面定义的变量x和y的乘积。第9行输出计算结果z。

【运行效果】


x*y=936.84


提示

如果在一个浮点数后面加上“F”或者“f”,代表的就是单精度浮点型数据,否则,系统会认为是双精度浮点型数据。

2.双精度浮点型数据

双精度浮点型数据占据8个字节,有效数字最长为15位。其与单精度浮点型数据一样,后面也带有标志性符号“D”或“d”。系统默认不带标志性符号的浮点型数据是双精度浮点型数据。双精度浮点型数据的定义如下所示。


double x=33.5D


【实例3.7】下面有一个简单的程序段代码。


01 public class Double

02 {

03 public static void main(String[]args)

04 {

05 float x=23f;

06 double y=44;

07 System.out.println("x="+x);

08 System.out.println("y="+y);

09 }

10 }


【代码说明】第5行定义了一个单精度浮点型变量x,但没有带小数位。第6行定义了一个双精度浮点型变量y,也没有带小数位,也没有加标识“D”。第7~8行分别在控制台输出两个变量,注意输出的结果。

【运行效果】


x=23.0

y=44.0


从这个程序段代码中可以看出,即使浮点型数据是一个只有整数位没有小数位的数据,在输出控制台上,其仍然是带小数点的浮点数据,系统会自动加上小数点,并且小数位全部置为0。