java-解析长到负数
作者:互联网
码:
public class Main{
public static void main(String[] a){
long t=24*1000*3600;
System.out.println(t*25);
System.out.println(24*1000*3600*25);
}
}
打印:
2160000000
-2134967296
为什么?
感谢所有的答复.
是在数字后使用L的唯一方法吗?
我已经尝试过(长)24 * 1000 * 3600 * 25,但这也是负面的.
解决方法:
为了清楚地解释,
System.out.println(24*1000*3600*25);
在上面的语句中实际上是int文字.要将它们视为长字面量,您需要在L后面加上后缀.
System.out.println(24L*1000L*3600L*25L);
请注意,一个小的l也足够,但有时看起来像大写的I或1.资本我在这里没有多大意义,但是读为1确实会给你带来困难.此外,即使L满足单个值也将使结果变长.
标签:java,long-integer,math,numbers 来源: https://codeday.me/bug/20191011/1889247.html