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

谁能给我解释一下Java中嵌套的for循环在内存方面的行为吗?

尚棋
2023-03-14

假设我有一个代码,它也打印了一个星形图案(也就是说,如果我用“#”替换print方法中的字符串文字),就像下面从右到左的楼梯一样。

public static void main(String[] args) 
{
    for (int i=0; i <= 6; i++){
        for(int k=0; k < i; k++){
            System.out.print("This is k:"+k + " " + " This is i:"+i);
        }

        System.out.println();
    }


}

这实际上将打印每列k值的全部0,然后打印全部1,然后全部2,等等。对于i值,它将打印每列1,2,3,4,5,6,然后2,3,4,5,6,3,4,5,6,等等。

好的,为什么这里i的值不是从零开始的?我以为内部循环应该首先执行。

共有1个答案

汪思博
2023-03-14

这与记忆无关,只是逻辑。因为k0开始,而k 意味着第一个测试是 0<0这不是真的。因此 i递增。因此,您的第一个 i输出是 1。如果要查看 i0,则需要在内部的 for循环条件中查看 k<=i

 类似资料:
  • 我想在一个并行外部循环中运行一个包含for循环(应该并行运行)的函数。因此看起来如下所示: 给定上面的代码,我希望在函数中为循环创建5个并行线程,并且希望这5个线程中的每个线程创建另一个线程来运行自己的并行for循环。

  • 和其他编程语言一样, Java 允许循环嵌套。如果把一个循环放在另一个循环体内,那么就可以形成嵌套循环。 嵌套循环既可以是 for循环嵌套 while 循环,也可以是 while 循环嵌套 do-while 循环 …… 即各种类型的循环都可以作为外层循环,也可以作为内层循环。 当程序遇到嵌套循环时,如果外层循环的循环条件允许,则开始执行外层循环的循环体,而内层循环将被外层循环的循环体来执行——只是

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

  • 问题内容: 我正在尝试使用嵌套的for循环显示一个星号菱形。 到目前为止,这是我的代码: 这很接近,但是我要两次打印9个星号。 如何调整第二个for循环以7个星号和2个空格开始输出? 谢谢您的帮助! 问题答案: 在您的第一个for循环中,删除=标记,然后使用<例如 完整代码

  • 对Java来说很新鲜,我在大学的一个入门班做一个项目。我正在尝试做一个方法,在String数组中搜索输入的状态并返回索引。如果用户输入不在数组中的查询,我希望它要求一个新的状态来搜索。我的例外是说“变量statePotion可能尚未初始化。”下面是代码。 提前谢谢!

  • 我对javascript还是个新手,只知道基本知识。有人能解释一下下面的代码,就像在调用init函数时发生的流中一样吗? 我对下面代码的理解是,一旦调用init函数,就会设置一个全局变量输出,该输出映射到一个带有id输出的HTML元素。然后调用。这将创建一个WebSocket对象。这之后是我不完全理解的部分。 在行中,WebSocket对象有一个名为open的属性,我们将它设置为任何返回的属性 。