最近在项目中遇到了double数据出现Infinity的情况;于是对数值计算中几种比较特殊的情况进行了实践:
public static void main(String[] args) {
// 非0number/0.0
System.out.println((double)(5/0.0));
// 0/0.0
System.out.println((double)(0/0.0));
// 0.0/0.0
System.out.println((double)(0.0/0.0));
// MAX_VALUE/MIN_VALUE
System.out.println((double)(Double.MAX_VALUE/Double.MIN_VALUE));
// 0/0
//System.out.println((double)(0/0));
// 非0number/0
// System.out.println((double)(5/0));
}
结果:
Infinity
NaN
NaN
Infinity
java.lang.ArithmeticException: / by zero
java.lang.ArithmeticException: / by zero
需要特别注意!!!
Java浮点运算异常解析
本文通过几个具体的Java代码示例,演示了在进行浮点数运算时可能遇到的特殊情况,如除以零导致的Infinity和0/0导致的NaN等,并提供了运行结果。
482

被折叠的 条评论
为什么被折叠?



