------- android培训、java培训、期待与您交流! ----------
Java基本数据类型--浮点型
Java浮点型是什么?
Java浮点型有两个,float和double,Java默认浮点类型是double。
float类型:float类型为单精度浮点数,占4个字节,32位。如果想表示float类型,需要在数字后边加F或者f,例如3.14F,3.14f。
double类型:double类型为双精度浮点数,占8个字节,64位。是浮点型的默认类型,例如3.14。
Java编程语言浮点类型的两种表现形式:
1、十进制表示方式:与其他基本类型一样,浮点型也有十进制表现形式,3.1415,5.0等 必须包含小数点,不然会被当做int类型处理。
2、科学技术法形式:只有浮点型可以使用科学技术发表示:例如3.14E2等。
浮点型还有三个特殊浮点值:
正无穷、负无穷、非数。
正无穷大:一个浮点型的正数除以0就会得到正无穷,例如6.0/0.。正无穷大通过Double或者Float的POSTIVE_INFINITY表示。所有正无穷大都是一样大的。
负无穷大:一个浮点型的负数除以0.就会得到负无穷,例如-6.0/0.。负无穷大通过Double或者Float的NEGATIVE_INFINITY表示。所有负无穷大都是一样大的。
非数:0.0除以0.0就会得到一个非数,非数通过Double或者Float的NaN表示,非数与任何数不相等,甚至非数不等于非数NaN != NaN。
注意:得到的正无穷、负无穷、非数,都是浮点型除以0,Java会把0自动转换成浮点型的0.0。如果我们使用整数除以零,会抛出异常:ArithmeticException
练习:
class Demo
{
public static void main(String[] args)
{
double d1 = 3.1415;
double d2 = -3.1415;
float f1 = 1.129f;
float f2 = -1.129F;
double a = 0.0;
int i = 5;
System.out.println(d1/a == f1/a);
System.out.println(f2/a == d2/a);
System.out.println(a/a);
System.out.println(a/a == a/a);
System.out.println(i/a);
}
}
运行结果:
true
true
NaN
false
Infinity
Infinity:表示正无穷大
-Infinity:表示负无穷大