Java基本数据类型相关
Java中的基本数据类型
Java中有8种基本数据类型,分别是byte,short,int,long,float,double,char和boolean类型。而Java中的所有其他类型都是由这8种基本数据类型组装起来的,并且这些基本数据类型都可以使用byte类型来表示。例如:int类型,可以用4个byte组合表示。
基本数据类型对应的位数和取值范围
| 数据类型 | 位数 | 取值范围 |
| byte | 8位 | -2^7 ~ 2^7-1 |
| short | 16位 | -2^15 ~ 2^15-1 |
| int | 32位 | -2^31 ~ 2^31-1 |
| long | 64位 | -2^63 ~ 2^63-1 |
| float | 32位 | 3.4028235E38 ~ 1.4E-45 |
| double | 64位 | 1.7976931348623157E308 ~ 4.9E-324 |
| char | 最少是8位,一般是16位 | 0 ~ 2^16-1 |
| boolean | 4位| |
数据精确程度注意
Java中没有无符号类型,都是有正有负的。
float和double类型数据,距离0越近,表示的数据精度就越高,距离越远,精度越差,当超过223次方的时候,精度开始大幅度落后int类型,小于223次方的时候,float精确度高于int。
float的精度有效位是6-7位,而double的有效位是15-16位。
在int整型数据计算的时候只能在一定范围内使用,两整数相加或相乘都可能造成数据溢出,导致符号位错误。
当进行精确计算时,整数类型和浮点类型都应该谨慎使用,因为在计算过程中会出现精度或符号位错误。