Math.abs()不能做到的事情

Math.abs( T a) 是对数据进行求绝对值的,但是在下面的测试上就不能够完美的表现出他的功能。

对于Integer.MIN_VALUE和Long.MIN_VALUE来说,Math.abs()对他们不起作用。返回的还是原来的值。
public class absTest {
<wbr>public static void main(String[] args) {<br><wbr><wbr>int min = Integer.MIN_VALUE;<br><wbr><wbr>System.out.println(min); // 输出-2147483648<br><wbr><wbr>min = Math.abs(min);<br><wbr><wbr>System.out.println(min);<wbr>// 输出-2147483648<br><wbr><wbr>// 说明Math.abs(int MIN_VALUE) 不能将其转化为正整数,同理对于Long型也是一样的<br><wbr><wbr>// 在Math.abs()的文档中有特别的说明说是对于Long.MIN_VALUE、Integer.MIN_VALUE 的值(即能够表示的最小负 int、long 值),<br><wbr><wbr>//<wbr>那么结果与该值相同且为负。<br><wbr><wbr><br><wbr><wbr>//下面输出的结果为 min_value<br><wbr><wbr>if(min == Integer.MAX_VALUE)<br><wbr><wbr><wbr>System.out.println("max_value");<br><wbr><wbr>else if(min == Integer.MIN_VALUE)<br><wbr><wbr><wbr>System.out.println("min_value");<br><wbr>}<br> }</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值