Java基础--基本数据类型(浮点类型)

来源:互联网 发布:matlab算法工具箱 编辑:程序博客网 时间:2024/05/29 03:13

Java是一种强类型语言,每个变量都必须声明其类型。

-------------------------------------------------------------------------------------------------------------


浮点类型是用来表示常见的小数

浮点类型有2种类型。

Float:

       占用空间:4字节

       表示范围:-3.403E38~3.403E38(这里不同于int中的4个字节,浮点数表示的时候在内存中的表示方法和int不同,存在舍入误差)

Double:

       占用空间:8字节

       表示范围:-1.798E308~1.798E308


浮点数的2种表示形式:

       十进制形式:

              例如:3.14     314.0   0.314

       科学计数法:

              例如:314e2  314E2    314E-2

double f = 314e2;//314*10^2-->31400.0double f2 = 314e-2;//314*10^(-2)-->3.14

浮点数常量

       默认类型为double

double d = 3.14;//编译成功float f = 3.14;//编译失败,因为3.14常量默认是double类型8个字节,而float是4个字节所以编译失败float f2 = 3.14F;//编译成功;在常量后面加上f或F

浮点数的误差

浮点数存在误差,所以在使用中尽量避免浮点数之间的比较

float f = 0.1f;double d = 1.0/10;System.out.println(f);System.out.println(d);System.out.println(f == d);

这里的f的值为0.1,d的值为0.1,比较f和d的是否相当,正常来讲会输出TRUE,运行结果:

运行的结果并不是我们想象中的true,这是因为浮点数的比较式有误差的,可能会出现问题,在实际编码中要注意到这个地方。

如果是需要精确的表示数字,需要使用BigDecimal类。




0 0
原创粉丝点击