例子:
/**
* Infinity:无穷大
* NaN(Not a Number,非数)
* @author HailongYao
*
*/
public class Demo {
public static void main(String[] args) {
/*
* NaN(Not a Number,非数)是计算机科学中数值数据类型的一个值,表示未定义或不可表示的值
* 常在浮点数运算中使用。首次引入NaN的是1985年的IEEE 754浮点数标准。
* NAN表示非数字,它与任何值都不相等,甚至不等于它自己,所以要判断一个数是否为NAN要用isNAN方法:
*/
System.out.println(Float.NaN == Float.NaN); // output: false
System.out.println(Double.isNaN(Float.NaN)); // output: true
//无限乘以0,结果为NaN
System.out.println(Double.NEGATIVE_INFINITY * 0);
System.out.println(Float.POSITIVE_INFINITY * 0);
//无限除以0,结果不变,还是无限
//Comparing identical expressions:比较相同的表达式
System.out.println((Double.NEGATIVE_INFINITY / 0)==Double.NEGATIVE_INFINITY);
System.out.println((Float.POSITIVE_INFINITY / 0)==Float.POSITIVE_INFINITY);
//无限做了乘以0以外的运算,结果还是无限
System.out.println(Float.POSITIVE_INFINITY == (Float.POSITIVE_INFINITY + 10000)); // output: true
System.out.println(Float.POSITIVE_INFINITY == (Float.POSITIVE_INFINITY - 10000)); // output: true
System.out.println(Float.POSITIVE_INFINITY == (Float.POSITIVE_INFINITY * 10000)); // output: true
System.out.println(Float.POSITIVE_INFINITY == (Float.POSITIVE_INFINITY / 10000)); // output: true
//要判断一个浮点数是否为INFINITY,可用isInfinite方法
System.out.println(Double.isInfinite(Float.POSITIVE_INFINITY)); // output: true
//测试一个double类型的数是否为NaN,可用isNaN方法
float f = 5.20F;
System.out.println(Float.isNaN(f));
System.out.println(2.0/0); //结果是Infinity:无穷大
}
}