A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 邵天强 中级黑马   /  2012-11-11 16:35  /  1772 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

package com.itheima;

public class InputComputer {
        public static void main(String[]args){
                final long l1=24*60*60*1000*1000;
                final long l2=24*60*60*1000;
                System.out.println(l1/l2);
        }

}
经过测试结果为5,但是正确的结果应该为1000,为什么为5呢?
24*60*60*1000*1000已经超过了int的范围,它的结果为截取后的后64位,所有两者的取整后也是截取后的结果,所以最后的结果不正确,需要如下改正:
final long l1=24*60*60*1000*1000l;
final long l2=24*60*60*1000l;
,希望对大家有所帮助

评分

参与人数 1技术分 +1 收起 理由
朱宏青 + 1 呜 虽然也很水 但是起码水的有点技术...

查看全部评分

1 个回复

正序浏览
                          .
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马