public static void main(String[] args) {
/**
* java提供了三个特殊的浮点数值:正无穷大、负无穷大和非数,用于表示溢出和出错
*
* 一个正数除以0得到正无穷大,一个负数除以0得到负无穷大,0.0除以0.0或对一个负数开方得到一个非数
*
* 所有的正无穷大相等,所有的负无穷大相等,NaN不与任意数值相等甚至和NaN都不相等
*
* 只有浮点数除以0才能得到无穷大,因为java语言会自动把浮点数运算的0(整数)当成0.0(浮点数)处理
* 如果一个整数值除以0,则会抛出一个异常:/by zero(除以0异常)
*/
float af = 3.1415926f;
System.out.println("af ? " + af);
double a = 0.0;
double c = Double.NEGATIVE_INFINITY;
float d = Float.NEGATIVE_INFINITY;
System.out.println("c == d ? " + (c == d));
System.out.println("a/a ? " + (a/a));
System.out.println("a/a == Folat.NaN ? " + (a/a == Float.NaN));
System.out.println("6.0/0 == 555.0/0 ? " + (6.0/0 == 555.0/0));
System.out.println("-8/a ? " + -8/a);
System.out.println("0/0" + 0/0);
}
![](https://img2024.cnblogs.com/blog/35695/202408/35695-20240826070647288-243310440.jpg)