在java中为long数据类型赋值默认为int
long val = 5000000000;
此分配过程中的错误是:
The literal 5000000000 of type int is out of range
为什么编译器在使用类型long
声明时默认假定文本为类型int
你可以在下面搜索框中键入要查询的问题!
long val = 5000000000;
此分配过程中的错误是:
The literal 5000000000 of type int is out of range
为什么编译器在使用类型long
声明时默认假定文本为类型int
# 1 楼答案
long有特殊的后缀,即
L
。如果没有后缀,则假定5000000000为int
类型。5000000000超出int
范围,导致错误。因此,您需要在5000000000末尾添加L
,以便将其视为long
值。将您的声明从到
# 2 楼答案
您可以使用:
检查它here
# 3 楼答案
long:long数据类型是一个64位有符号2的补码整数。其最小值为-9223372036854775808,最大值为9223372036854775807(含)
您应该将'l'或'l'附加到显式用于初始化变量的值;甚至小到0
# 4 楼答案
如下图所示,在数字末尾添加字母L
长val=5000000000L