当前位置: 首页 > 知识库问答 >
问题:

嵌套为循环。为什么内部变量值会重置?

汲雅珺
2023-03-14

我们一直在学习循环和嵌套循环。

我的问题;

为什么增量结束后,内部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和count增量增加到18,然后返回到6?每次。。。有人能解释一下为什么会这样吗?

共有3个答案

羿博延
2023-03-14

每次代码执行包含以下内容的行时:

int count=6

count变量返回到6。

正如您所说,第一个循环执行10次,所以count将重置第一个循环执行的次数。

吕冠宇
2023-03-14

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了。

后阳炎
2023-03-14

循环计数器是局部变量,它们的作用域只扩展到创建它们的结构。一旦你离开一个循环,它的计数器就不存在了。

 类似资料:
  • 我对python中双for循环的使用感到困惑,这是我的代码: 输出如下: 它只对外循环的第一个值执行内循环,为什么会发生这种情况?我怎样才能让它在第一个和第二个变量的所有组合上循环?

  • 我遇到了一个问题,我的程序只在的一次迭代中结束,我不确定不合逻辑的代码在哪里。 全球给予: 我复杂的嵌套从这里开始,但我不确定如何修复它,以便它迭代通过和数字for-循环: 我得到以下输出: 我从来没有得到Susie的数据,我很早就回来了,但似乎不知道在哪里。对于问题所在(甚至重构)的任何帮助/指导都将不胜感激。提前谢谢!

  • 我正在构建一个gradebook来存储学生和教师,每个学生和教师都有一个唯一的ID,以及他们各自在Student和Teacher对象的ArrayList中注册或教学的类。我有文件夹路径“j:/compsci/类/”,为每个类存储一个文本文件。 文本文件格式: 第1行:班级名称、教师ID、期间、荣誉?、班级ID 第2行:班级中每个学生的学生ID(用逗号分隔)。 在这里,我初始化了每个学生正在接受的所

  • 题目描述 函数内部命名冲突导致另外一个变量被意外遮盖,导致了无限循环 题目来源及自己的思路 你不知道的js 相关代码 你期待的结果是什么?实际看到的错误信息又是什么? bar 函数内部的变量为什么可以遮蔽 for 循环变量的 i?

  • 用python编写了这个函数,可以转换矩阵: 在这个过程中,我意识到我并不完全理解单行嵌套for循环是如何执行的。请回答以下问题,帮助我理解: 这个for循环的执行顺序是什么 鉴于 对象必须是什么类型才能将其用于循环结构? i和j分配给对象元素的顺序是什么? 可以用不同的for循环结构来模拟吗? 这个for循环可以嵌套在一个类似或不同的for循环结构中吗?它看起来怎么样? 如需更多信息,我们也将不

  • 在我的程序中,我发现当为时,循环无法正确退出。它看起来像整数溢出,远远大于10,循环不会停止。请告诉我发生了什么,以及如何在大型项目中避免这个错误。 代码链接