当for循环在Java中没有增量表达式时会发生什么?
我发现我的循环中有一个return语句。无论如何,谢谢大家的帮助。 我在Java中遇到了一个没有递增/递减表达式的for循环。事实上,我的IDE告诉我表达式是死代码 不带递增/递减表达式的循环:当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中是如何工作的?
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小于零,则可能需要无限循环运行,并且=
似乎是一个很好的方法。havei没有什么错=0
。