Java中常数的默认类型是int型,如下:
public class LongTest {
public static void main(String[] args) {
int m = (1 << 31) - 1;
long l = 256 * 256 * 256 * 256 * 256;
long ll = (long) 256 * 256 * 256 * 256 * 256;
System.out.println(m); // 2147483647
System.out.println(l); // 0
System.out.println(ll);// 1099511627776
System.out.println(Long.MAX_VALUE); // 9223372036854775807
long x = 2147483648; //编译错误
}
}
所以声明long型的时候,一般需要带上long a=10000000000L,才比较安全