无止境的循环在java中真的是无止境的吗?



我的问题是,如果有代码,

class loop
{
   public static void main()
   {
      for (int i=0; ; i++)
      {
         System.out.println(i)
      }
   }
}

整数变量i的最大值为2147483647(根据谷歌),所以代码会运行2147483647次吗?如果是这样,那么它就不是一个无限循环。

有人能回答我的问题吗?

考虑当您将int增加到最大值时会发生什么:

public static void main(String[] args) {
    int x = 2147483647;
    x++;
    System.out.println(x); // -2147483648
}

它不会出错,它只会转到负数。所以,回答你的问题,是的,它将永远运行(或直到程序通过某些外部因素终止)

它将永远是一个无限循环,因为你没有条件:

for (int i=0; ; i++)

在2147483647之后显示的值将为负值。

最新更新