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。