Tag: dividebyzeroexception

为什么用浮点(或双精度)数字除零不会抛出Java中的java.lang.ArithmeticException:/ by零

下面的语句抛出java.lang.ArithmeticException: / by zero作为明显java.lang.ArithmeticException: / by zero 。 System.out.println(0/0); 因为文字0被认为是一个int文字,在整数运算中不允许被零除。 但是,下面的情况不会抛出像java.lang.ArithmeticException: / by zeroexceptionjava.lang.ArithmeticException: / by zero 。 int a = 0; double b = 6.199; System.out.println((b/a)); 它显示Infinity 。 下面的语句生成NaN (不是一个数字),没有例外。 System.out.println(0D/0); //or 0.0/0, or 0.0/0.0 or 0/0.0 – floating point arithmetic. 在这种情况下,两个操作数都被认为是双重的。 同样,下面的语句不会抛出任何exception。 double div1 = 0D/0; //or 0D/0D double div2 = 0/0D; //or […]