黑马程序员技术交流社区

标题: java的一个小细节 [打印本页]

作者: 邵天强    时间: 2012-11-11 16:35
标题: java的一个小细节
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;
,希望对大家有所帮助
作者: jerry2627    时间: 2012-11-11 18:28
                          .





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2