[当我将long
与L
前缀相乘时,我得到的结果31536000000
。
当我将没有long
前缀的L
相乘时,我得到的结果是1471228928
。
结果如何变化?
我认为数字超过`int?范围,但不确定。
long longWithL = 1000*60*60*24*365L;
long longWithoutL = 1000*60*60*24*365;
System.out.println(longWithL);
System.out.println(longWithoutL);
输出:
31536000000
1471228928
Java Standart始终将数字视为int
。如果希望使编译器知道正在操作的数字不是整数类型,则需要后缀字母,例如L
,F
(用于浮点数,类似的想法)。