我们一直在学习循环和嵌套循环。
我的问题;
为什么在增量结束后,内部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?每个time...Could都有人解释这是为什么?
发布于 2015-10-10 06:55:58
循环计数器是局部变量,其作用域仅限于在其中创建的结构。一旦你离开一个循环,它的计数器就不再存在了。
发布于 2015-10-10 06:55:07
每次代码执行包含以下内容的行:
int count=6
计数变量返回到6。
正如您所说的,第一个循环执行10次,所以count将重置第一个循环执行的次数。
发布于 2015-10-10 06:56:53
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,因为计数已经是18。
https://stackoverflow.com/questions/33055282
复制相似问题