所以在我的代码的顶部我声明了变量
私有(private)长计数器;
当我尝试给它一个非常长的数字时,它给出了一个错误,我正在尝试这样做
计数器 = 1111111111111111;
那是 16 个“1”,我不断收到错误消息“The literal 1111111111111111 of type int is out of range”我做错了什么?
最佳答案
像这样尝试:
counter = 1111111111111111l;
请注意,最后一个字符是字母“L”(当然是小写),而不是数字一。这是一个更清楚的例子:
计数器 = 2222222222222222L;
正如其他人指出的那样,大写字母“L”也可以使用,而且更加清晰。 Java 中的所有整数文字都被解释为 ints
,除非您在它们后面加上“L”(或“l”)以告诉编译器将其解释为 long
。
类似的事情发生在文字 float 上,默认情况下它被解释为 double
除非你在它们后面加上 'f' 告诉编译器将它解释为 float
。如:
double num1 = 1.0; //1.0 is treated as a literal double
float num2 = 1.0; //1.0 is still treated as a literal double; the compiler may complain about loss of precision
float num3 = 1.0f; //1.0 is treated as a float, and the compiler is happy
关于Java 长数字帮助,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5691378/