为什么给long类型的变量初始化需要加L?

        byte a =30;
        short b = 30000;
        int c= 200000000;
        long d = 74000000000L;

等号后面的这些数字不仅仅只是数字,这些数字其实是常量。这些式子的真正含义是说将常量转化为变量。

30,30000,200000000这三个数系统默认将他们作为int类型的常量,在对a,b,c三个数字赋值的过程也是将int类型常量转换为byte,short,int(本身就是int)三种类型的过程。

而第四行的代码,74000000000不加L的话,系统也是将它自动识别为int类型常量,这个数字又超出了int类型的范围,因此会报错。加上L后,这个数就是一个long型的常量了,这个数没有超出long的范围,因此不会在报错。


版权声明:本文为ZhaoLinke1998原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。