加载中…
个人资料
wx_上善若水
wx_上善若水
  • 博客等级:
  • 博客积分:0
  • 博客访问:22,191
  • 关注人气:9
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
相关博文
推荐博文
谁看过这篇博文
加载中…
正文 字体大小:

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

(2012-02-26 15:44:25)
标签:

math.abs()

java

it

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

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

0

阅读 评论 收藏 转载 喜欢 打印举报/Report
  • 评论加载中,请稍候...
发评论

    发评论

    以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

      

    新浪BLOG意见反馈留言板 电话:4000520066 提示音后按1键(按当地市话标准计费) 欢迎批评指正

    新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 会员注册 | 产品答疑

    新浪公司 版权所有