java中除法的规定与常规数学上的有所不同。
1、整数的除法:
0做除数抛运行时异常;两整数商会做取整运算,且不是四舍五入,而是直接舍去小数位,Float或Double与一个整数做除法运算,则商位Float或者Double类型。
2、Double(或Float)除法运算:
0可以做除数,得到的是一个分正负的无穷大;当两个数的绝对值均为0.0时候,商等于NaN。当0.0/x,x不等0.0时候,得到的一个带符号位0.0:
陷阱:
零在整数预算中不可以做除数,否则抛运行时异常。
零在浮点运算中可以做除数,返回值为无穷大。
NaN各不相同,可看做是Java设计上的一个缺陷。
浮点型(Float或Double)的除法运算可以接受任何数值,并且结果总是返回一个浮点型的数值。这个数值可能是不合法的,需要进行判断和验证。
3、求余:和除法差不多。
陷阱:
符号位由被除数决定,而与除数无关。
|
|