java中for循环中迭代器的最大值

时间:2018-03-07 11:16:00

标签: java eclipse for-loop

java中的for循环是否允许长时间内?如果是,为什么eclipse在放置long值时会显示错误,如果不是,for循环中可以使用的最大值是多少?

3 个答案:

答案 0 :(得分:2)

是的,这是允许的。这很好用

for(long l=0;l<Long.MAX_VALUE;l++){
            System.out.println(l);
        }

答案 1 :(得分:0)

允许,看:

for (long lng = 1L; lng < Long.MAX_VALUE; lng++)  {
    // your code
}

要查看可分配的最大long值,您可以使用:

System.out.println(Long.MAX_VALUE);

请注意,在为L分配值时,我将1置于文字1L之后(long),以避免在尝试分配超出值时出错Integer范围(如果您尝试将值大于Integer.MAX_VALUE的值分配给long类型的变量而不使用长文字(此字面值为大写或小写字母&#39;},则会出现此错误L&#39;数字后面的字符,没有&#39; L&#39;它的整数字面和编译器检查此数字当前是否超出int范围。 / p>

对于我的示例中1而言,L是多余的,因为大于Integer.MAX_VALUE的数字是必要的。

答案 2 :(得分:0)

没有任何代码我只能猜测,但我假设您正在尝试使用一个太大而无法放入int文字的值,而您需要long

例如:

for(long x = 0; x < 9876543210; x++) {
    ...
}

此代码将生成The literal 9876543210 of type int is out of range,因为虽然您将x定义为long类型,但您在此处使用的文字被解释为{{ 1}}因此太大了。

要解决此问题,您需要通过在值中附加intlong来显式告诉编译器您是指l字面值(大写L是首选,因为你可以更好地区分L):

1