有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

在java中为long数据类型赋值默认为int

long val = 5000000000;

此分配过程中的错误是:

The literal 5000000000 of type int is out of range

为什么编译器在使用类型long声明时默认假定文本为类型int


共 (4) 个答案

  1. # 1 楼答案

    long有特殊的后缀,即L。如果没有后缀,则假定5000000000为int类型。5000000000超出int范围,导致错误。因此,您需要在5000000000末尾添加L,以便将其视为long值。将您的声明从

    long val = 5000000000;
    

    long val = 5000000000L;
    
  2. # 2 楼答案

    您可以使用:

    long val = 5000000000L;
    

    检查它here

  3. # 3 楼答案

    long:long数据类型是一个64位有符号2的补码整数。其最小值为-9223372036854775808,最大值为9223372036854775807(含)

    您应该将'l'或'l'附加到显式用于初始化变量的值;甚至小到0

     long val = 0L;
    
  4. # 4 楼答案

    如下图所示,在数字末尾添加字母L

    长val=5000000000L