当前位置: 首页 > 面试题库 >

Java长号太大错误?

艾昊明
2023-03-14
问题内容

为什么在将long分配给min和max的地方得到的int数太大?

/*
long: The long data type is a 64-bit signed two's complement integer.
It has a minimum value of -9,223,372,036,854,775,808 and a maximum value of         9,223,372,036,854,775,807 (inclusive).
Use this data type when you need a range of values wider than those provided by int.
*/
package Literals;

public class Literal_Long {
     public static void main(String[] args) {
        long a = 1;
        long b = 2;
        long min = -9223372036854775808;
        long max = 9223372036854775807;//Inclusive

        System.out.println(a);
        System.out.println(b);
        System.out.println(a + b);
        System.out.println(min);
        System.out.println(max);
    }
}

问题答案:

默认情况下ints,java中的所有文字数字均为,范围-21474836482147483647包含在内。

您的文字超出了此范围,因此要进行编译,您需要指出它们是long文字(即带有的后缀L):

long min = -9223372036854775808L;
long max = 9223372036854775807L;

请注意,java同时支持大写L和小写l,但我建议 不要 使用小写,l因为它看起来像1

long min = -9223372036854775808l; // confusing: looks like the last digit is a 1
long max = 9223372036854775807l; // confusing: looks like the last digit is a 1

相同的Java语言规范

如果以ASCII字母L或l(ell)为后缀,则整数文字的类型为long。否则为int类型(第4.2.1节)。



 类似资料:
  • 问题内容: 我知道这个问题已经被问过很多次了,但是似乎没有一个是我所看到的相同的问题。 给我带来问题的表只有两列:第一个字段是整数,第二个字段是longtext。这是来自MySQL 5.5.30的转储文件的一部分: 如您所见,此转储文件来自MySQL 5.5.30,我可以将此数据导入5.5.30。但是,当我尝试导入5.6.x时,出现 错误1118(42000)行大小太大的 错误。 进入large_

  • 问题内容: 我正在使用ckeditor格式化我的内部一些数据 现在,当我尝试使用这种方式发布数据时, 我得到错误 HTTP错误414。请求URL太长。 我在这里遇到错误:http : //iranfairco.com/example/errorLongUrl.aspx 尝试单击该页面左下方的“ 编辑文本” 按钮。 为什么会这样呢?我该如何解决? 问题答案: 根据这个问题,URL的最大实际长度是20

  • 问题内容: 我有一个单元测试,其中我静态定义了一个很大的字节数组(超过8000个字节)作为我每次运行单元测试时都不希望读取的文件的字节数据。 这在Eclipse中可以正常编译,但是通过Ant脚本进行编译时,出现以下错误: 任何想法为何以及如何避免这种情况? 答案 :Shimi的答案成功了。我将字节数组移到一个单独的类中,并且编译良好。谢谢! 问题答案: Java中的方法在字节码中限制为64k。静态

  • 我一直试图在Dataflow上运行一个apache beam作业,但我从GCP得到了一个错误,其中包含以下消息: 我在过去运行过带有较大图形的作业,没有任何问题。该作业在本地使用Directrunner也运行良好。图中大约有12个节点,包括一个read from Bigquery步骤、一个步骤和一个步骤。 有没有一种方法可以增加数据流愿意接受的图形大小?

  • 我收到了来自tesseract的5 MB大小图像的以下错误。 Tesseract开源OCR引擎v3.01与Leptonica第0页图像太大:(39667,56133)处理过程中出现错误。 文件大小是否有限制,或者是否有解决此问题的参数。 感谢您的帮助。

  • 问题内容: 当上面的代码运行时,它会在line上产生错误;。为什么? 问题答案: 不能表示为32位整数(类型)。可以将其表示为64位整数(类型)。Java中的长文字以“ L”结尾: