本帖最后由 hacket 于 2013-4-18 18:39 编辑
- public static void main(String[] args)
- {
- System.out.println(-1/0.0);//-Infinity 负无穷大
- System.out.println(1/0.0);//Infinity 正无穷大
- System.out.println(0/0.0);//NaN
- System.out.println(1.0/0);//Infinity 正无穷大
- //上面的运算都被转成浮点数进行运算,浮点数中除以0,是不会有异常的
- System.out.println(1/0);
- //而1/0为两个整数,会发生ArithmeticException: / by zero,大家都知道的。
- //System.out.println(Math.sqrt(-2));//计算负数的平方根NaN
- }
- /*
- 在浮点数的世界里不会抛出除0错,而是会返回正无穷大或负无穷大。
- 究其原因,可能是因为在浮点数运算中,
- 不存在真正意义上的0,而是一个无限接近于0的浮点数。
- */
复制代码 |