NaN
NaN 通常表示一个无效的操作结果。 例如,你尝试将数字 0 去除以 0,这个在数学中是不存在的,同时在 Java 中定义 NaN 也确实就是通过这个不存在的操作来定义的。
我们通常也使用 NaN 来表示不能显示的变量值。 例如,我们对数字 -1 开平方根的时候,也是这种情况。
Infinity
表示无穷的意思,当浮点数除以0时会得到这个结果
double d1 = 45.0;
System.out.println(d1%0.0);// 浮点数对0求余 : NaN
System.out.println(d1/0.0);// 浮点数对0除 :Infinity
// System.out.println(33/0); // 整数除以0 :运行报错
System.out.println(33%0); // 整数求余 :运行报错