当for循环在Java中没有增量表达式时会发生什么?

当for循环在Java中没有增量表达式时会发生什么?,java,for-loop,decrement,Java,For Loop,Decrement,我发现我的循环中有一个return语句。无论如何,谢谢大家的帮助。 我在Java中遇到了一个没有递增/递减表达式的for循环。事实上,我的IDE告诉我表达式是死代码 不带递增/递减表达式的循环: for(int i = 5; i!=0;) //Do something... 然后每当我尝试添加I--时,就像这样: for(int i = 5; i!=0; i--) 我的IDE告诉我,i--是死代码,这让我很困惑,因为我不知道我将如何改变。所以我的问题是,这个循环在Java中是如何工作的?

我发现我的循环中有一个return语句。无论如何,谢谢大家的帮助。

我在Java中遇到了一个没有递增/递减表达式的for循环。事实上,我的IDE告诉我表达式是死代码

不带递增/递减表达式的循环:

for(int i = 5; i!=0;)
  //Do something...
然后每当我尝试添加
I--
时,就像这样:

for(int i = 5; i!=0; i--)
我的IDE告诉我,
i--
是死代码,这让我很困惑,因为我不知道我将如何改变。所以我的问题是,这个循环在Java中是如何工作的?这是一个无限循环吗?JVM是否自行减少
i
?等等

最简单的例子:

for(int i=10; i!=0;i--)
  //Do something...
完成:

public void methodName(int number){
  for(int i = number; i!=0; i--)
    //Do something...

它应该需要为所有小于5的i工作

因此,您需要将for循环编写为:

for(int i = 5; i>=0; i--)
这将是一个无限循环:

for(int i = 5; i!=0;){
    System.out.println(i);
}
因为它将继续为所有不等于0的i工作。

简单回答:

for (int i = 5; i != 0;) {
    System.out.println(i);
} // ,
将永远输出整数5

这相当于:

int i = 5;
while (i != 0) {
    System.out.println(i);
}

它永远输出5,因为
i
始终5,而
i
始终与0不同。为了跳出循环,您必须显式地更新
i
的值,直到它保持0的值。

您可以发布一个吗?判断一行本身,删除
i--
是错误的。它将导致一个无限循环——除非
i
在循环体的其他地方被修改。@JohnKugelman是的。等一下……如果你想要一个无限循环,只需使用
while(true)
或其他什么。顺便说一下,你似乎误解了术语“最小、完整和可验证的示例”。它意味着一段代码同时是最小的和完整的。(而且是可验证的,这意味着我们最好能够编译并运行它。)我发现了问题。我在for循环中有一条返回线。谢谢大家的帮助!我知道这是可行的,但我想知道没有递增/递减表达式的循环会做什么。此外,如果i小于零,则可能需要无限循环运行,并且
=
似乎是一个很好的方法。have
i没有什么错=0