在 Java 中运行 For 循环超过十亿次

Running a For Loop over billion times in Java

有没有办法在

i > INT_MAX_VALUE

处运行 for 循环

我知道INT_MAX_VALUE等于2,147,483,647

我无法想象这是不可能的,但是否有变通办法?

非常感谢大家。

您必须将 i 设为 long,这样它可以取大于 Integer.MAX_VALUE 的值。如果您在循环条件中使用文字数字,请附加 'L' 以使用 long 文字,这样您就可以使用大于 Integer.MAX_VALUE.

的文字值

循环与 general.But 中的整数类型无关,在这种情况下,您可以简单地使用 long 类型而不是 int 类型。

for(long i=0;i<max;i++){  
// as max is long type and max can take values upto 9,223,372,036,854,775,807
//code
}

其他 种数据类型比简单的 int 范围更广。例如:

for (long num = 0; num < 1000000000000L; num++) ...

这将使您达到大约 9 quintillion (9,223,372,036,854,775,807)。如果您需要更多,您可能不想考虑 range,而是 time 运行循环 - 每秒十亿次迭代,需要 290 年多一点:-)

BigInteger bi_ = new BigInteger("1000000000000000000");
    for(;true;) {
        System.out.println(bi_);
        bi_ = bi_.add(new BigInteger("1"));
        if(bi_.equals(new BigInteger("1000000000000000000000000000"))) {
            System.out.println(bi_);
            break;
        }
    }
 Above for loop start from 1 quintillion and end with 1 octillion
// One quintillion --> 10^18 = 1,000,000,000,000,000,000
// One octillion   --> 10^27 = 1,000,000,000,000,000,000,000,000,000