public class 过大的整数{
public static void main(String[] args){
// 题目 long d = 2147483647
// 可以吗?存在类型转换吗?
// 2147473647默认被当做int来处理
// d变量是long类型,小容量可以自动赋值给大容量。
long d = 2147483647;
System.out.println(d);
// long e = 2147483648 编译器会报错吗?为什么?
// 在java中,整数型字面量一上来编译器就会将它看做int类型。
// 而2147483648已经超出了int的范围,所以在没有赋值之前就已经出错了。
// 记住,不是e放不下2147483648,e是long类型,完全可以容纳2147483648.
// 只不过2147483648本身已经超出了int范围。
// long e = 2147483648; // 错误:整数太大
// 怎么解决这个问题呢?
long e = 2147483648L;
System.out.println(e);
}
}