public class FloatTest {
public static void main(String[] args)
{
//浮点型数据必须包含小数点,否则会当作int处理
//浮点型默认是double型的,默认是64位的,所以定义float类型是,必须在最后加f表示float型
float f = 5.0f;
float af = 5.123456789f;
double df = 5.12345678987654321;
//浮点数是使用二进制数据的科学计数法表示,所以不可能精确表示一个浮点数.下面将看到的值已经发生了改变
System.out.println("af="+af);
System.out.println("df="+df);
//result:af=5.123457,df=5.123456789876543
double a = 0.0;
double c = Double.NEGATIVE_INFINITY;
float d = Float.NEGATIVE_INFINITY;
//看到float和double的负无穷大的是相等的。
System.out.println(c == d);
//0.0除以0.0将出现非数
System.out.println(a / a);
//两个非数之间是不相等的
System.out.println(a / a == Float.NaN);
//所有正无穷大都是相等的
System.out.println(6.0 / 0 == 555.0/0);
//负数除以0.0得到负无穷大
System.out.println(-8 / a);
System.out.println(0.0 / 0.0);
//result:NaN
//下面代码将抛出除以0的异常
System.out.println(0 / 0);
}
}