我们一直在学习循环和嵌套循环。
我的问题;
为什么一旦增量结束,内部for循环中变量的值会重置?但是在外部for循环中,变量保持其值。
例如:
public class Factorial {
public static void main(String[] arguments){
for(int i = 0; i <10; i++){
for (int count=6; count < 18; count+=6){
System.out.println (count);
}
}
}
}
在这种情况下,程序运行10次,同时递增i并计数增量为18,但后来又回到6?每一次......有人可以解释为什么会这样吗?
答案 0 :(得分:5)
循环计数器是局部变量,它们的范围仅扩展到它们所创建的结构。一旦离开循环,它的计数器就不再存在。
答案 1 :(得分:1)
每次代码执行包含以下内容的行:
int count=6
count变量返回到6。
正如你所说,第一个循环执行10次,因此计数将重置第一个循环执行的次数。
答案 2 :(得分:1)
6在声明
中重新初始化for (int count=6; count < 18; count+=6){
但是如果你在循环之前移动了初始化
int count = 6;
for (; count < 18; count+=6){
它会做同样的事情。
如果你再往前走了
int count = 6;
for(int i = 0; i <10; i++){
for (; count < 18; count+=6){
System.out.println (count);
}
}
}
然后内部循环不执行迭代i = 1..9因为count已经是18。