IntTest.java:3: 错误: 整数太大
long c = 2147483648;
^
1 个错误
上述报错的源代码为:
public class IntTest{
public static void main(String[] args){
long c = 2147483648;
System.out.println(c);
}
}
这个问题的本质是:
Java在任何情况下,处理整数型的“字面量(数据)”时,默认会将字面量当做int型处理。
换句话说,就是所有在java代码中出现的数字,Java会默认为int型。
在上面的语句:
long c = 2147483648;
Java程序会优先处理右侧的整数,因为默认这个整数是int型,所以这个数字超过了int型数字的最大值,系统就会报出“整数太大”的错误。
如何解决呢?
long c = 2147483648L;
在整数后面添加字母L,告诉Java这个整数是long型,系统就不报错了。
其他的情况类似。
博客指出Java处理整数型“字面量”时默认当作int型,如代码中出现的数字会被默认为int型。当给long型变量赋值超过int型最大值时会报错,解决办法是在整数后添加字母L,告知Java该整数为long型。

926

被折叠的 条评论
为什么被折叠?



