我发现我的循环中有一个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...
答案 0 :(得分:3)
答案简短:
package.json
永远输出整数5。
它相当于:
for (int i = 5; i != 0;) {
System.out.println(i);
} // ,
它永远输出5,因为int i = 5;
while (i != 0) {
System.out.println(i);
}
总是 5而i
总是不同于0.为了逃避循环,你必须显式更新i
的值,直到它保持值为0。
答案 1 :(得分:1)
它应该适用于所有小于5的i。
因此您需要将for循环写为:
for(int i = 5; i>=0; i--)
这将是一个无限循环:
for(int i = 5; i!=0;){
System.out.println(i);
}
因为它将继续适用于所有不等于0的i。