long型疑问
public class Test{
public static void main(String args[])
{
long d=5555555555555L;
d++;
System.out.println(d);
}
}
d较小时不加L也能编译运行,如d=5555
d较大时不加L是编译不了,如Test.java:5: 过大的整数: 5555555555555
long d=5555555555555;
加L能编译运行
为什么这样
----------------解决方案--------------------------------------------------------
不加L是隐式的把int类型的值转换为long,所以当你的范围超过int类型的时候,编译器就让程序员显示的知道是long型,而不是int转化为long.
----------------解决方案--------------------------------------------------------