java long型计算问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java long型计算问题相关的知识,希望对你有一定的参考价值。

看代码吧,我很无奈~ long b = 1000;
long c=b*60*60*24*356;
System.out.println(c);

long c1=1000*60*60*24*356;
System.out.println(c1); 结果为啥不一样?

java平台默认整数数据类型为int型,你的计算结果超出了int所定义的范围。int默认范围为以2开头的10位数值。你的结果超出了10位。你可以在计算结果后面加上强制转换符L,这样就没问题了。谢谢采纳。 参考技术A 结果肯定是一样的如果不一样 把你的结果贴出来看看

Java中long(Long)与int(Integer)之间的转换(转)

一、将long型转化为int型,这里的long型是基础类型:

long   a = 10;     
int b = (int)a;

二、将Long型转换为int型,这里的Long型是包装类型:

Long a = 10;
int b=a.intValue();

三、将int型转化为long型,这里的int型是基础类型:

int a = 10;
long b = (int)a;

四、将Integer型转化为long型,这里的Integer型是包装类型:

int a = 10;
Long b = a.longValue();

五、还有其它的方法,比如包装类型一般都有parseLong的parseXXX的静态方法,不过一般只能传String类型。

总结:这里的转化就是要注意java的八种基础数据类型以及八种包装数据类型的区别。

 

参考:

http://blog.csdn.net/u014039577/article/details/37925611(以上内容转自此篇文章)

以上是关于java long型计算问题的主要内容,如果未能解决你的问题,请参考以下文章

java中将一个double类型的数强制转换为long 型是四舍五入吗?

Java表达式转型规则

java中long型如何转换为int型?还有long[ ]可以转换为int吗?

JAVA怎么把long型转为String的

剑指offer知识点Java中无符号整型如何与int/long类型互相转化

剑指offer知识点Java中无符号整型如何与int/long类型互相转化