众所周知,int类型整数的范围在-(2的32次幂)到(2的32次幂)-1,即是-2147483648到2147483647,因此Math.abs函数规定,当abs的传入参数是Integer.MIN_VALUE时,那么abs函数并不会范围2147483648,因为2147483648已经超出了int类型整数的范围,所以Math.abs(Integer.MIN_VALUE) 返回的还是Integer.MIN_VALUE。
Integer.MIN_VALUE – 1 将会返回Integer.MAX_VALUE
本文解析了Java中Math.abs函数对于Integer.MIN_VALUE处理的特殊性。由于int类型的取值范围限制,当输入为Integer.MIN_VALUE时,Math.abs函数无法返回其绝对值,最终返回值依然是Integer.MIN_VALUE。

6238

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



