一. 关于浮点运算,需要说明的几点:
1. 在java中,进行浮点运算并不会处理例外情况,所以,即使除数为0,也不会有例外被抛出;
2. 当运算结果是溢出(Infinity)时,结果为Infinity;下溢时,则结果为0;若结果是数学上是未定义的,则结果为NaN(not a number);
3. 所有和NaN有关的运算其结果总是NaN;
4. 由于NaN是无序的,所以,和NaN进行数值比较时,其结果总是false.
二. 例子:
public class floattest {
public static void main(String args[]) {
double num = 1.0E200;
System.out.println(num*num);
double num2 = 1.0E-323;
System.out.println(num2/10.0);
System.out.println(1.0/0.0);
System.out.println(-1.0/0.0);
double numNan = 0.0/0.0;
System.out.println(numNan);
System.out.println(numNan > 0);
}
}
三. 测试结果:
/*
Infinity
0.0
Infinity
-Infinity
NaN
false
*/