浮点数类型:内存和大小
浮点数,我们可以通俗的认为是带有小数点的数字,它们也是一种数字格式。在Java中,提供了两种类型的浮点数:float和double。当然Java里也提供了对应的包装类:Float和Double。
数据类型 | 描述 | 内存占用 |
float | -3.4E38 to +3.4E38 | 4 bytes in memory |
double | -1.7E308 to +1.7E308 | 8 bytes in memory |
我们前面描述过字面值的概念,浮点数当然也有字面值的概念,一般的如2.1等就是double的字面值。对于float,Java中用普通的浮点数后面加f或F来描述,这个大小写随自己的喜好可以随便定义。我们给出几个浮点数的例子:
下面的是float的字面值例子:
2elf
8.f
.5f
0f
3.14f
9.0001e+12f
可以看出,Java里支持的有科学计数法如2e1f,我们可以省略小数点后面的0,8.f,当整数部分为0时,也可以省略0不写。不过这里要提醒下,我建议即使是整数部分为0也写成0.5f。
2el
8.
.5
0.0D
3.14
9e-9d
7e123D
上面是double型的字面值例子,后缀D或d表示double型数据,这里可以写也可以不写。
浮点数的运算
浮点数支持的运算有加、减、乘、除(+、-、*、/)。和一般的数学运算是一致的。这里需要注意的是当float型数据和double型数据运算时,结果应该为double型数据。我们这里仅仅给出一个简要的例子:
Java代码
- public class MainClass {
- public static void main(String[] args) {
- double numA = 50.0E-1; // 5.0
- double numB = 1.0E1; // 10.0
- double averageC = 0.0;
- averageC = (numA + numB) / 2.0;
- System.out.println(averageC);
- }
- }