下面主要讨论0在相除与求余中的具体有关问题。
1 . 整型数据
对于整型数据,0在除法或者求余中做除数,都会抛出ArithmeticException异常。
2 . 浮点除法运算汇总
1.与NaN的任何运算结果都是NaN。
2.Infinity做被除数时,如果除数为Infinity,则结果为NaN,在满足1的基础上,Infinity做被除数式子的结果都是Infinity,不过Infinity是有符号的。
3.0/0结果是NaN,对于除数为Infinity的情况,当做一般数对待,结果仍为0(都有符号+ -之分)。
3 . 浮点求余运算汇总
1.0和NaN做除数,结果都是NaN。
2.Infinity和NaN做被除数,结果都是NaN
3.Infinity做除数,在排除1,2的情况下,结果均为被除数。
4.0做被除数,有穷数做除数,结果为0,且符号和0相同。
4 . 关于Infinity和NaN
1.Infinity是有正负的。
2.NaN不等于任何数,包括他本身。判断一个值是不是NaN只能用.isNaN,而不能用==号。
5 . +0和-0的差异
1.当+0和-0参与浮点型运算时,可以产生不同结果。
2.+0和-0在浮点型变量存储时,符号位不同。
3.java类库中的某些类也是把浮点类型的+0和-0视为不同的两个数值来处理的。
4.在compare和某些类方法(如sort())中,+0>-0。