有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java简单嵌套for循环示例

目前我正在学习Java测试。我在学习中遇到了一个小问题

在这个for循环中:

for ( int i=1; i <= 3 ; i++ ) {
    for (int j=1; j <= 3 ; j++ ) {
        System.out.println( i + " " + j );
    }
}

输出为:

1 1
1 2
1 3
2 1
2 2
2 3
3 1
3 2
3 3

我的问题是,我不明白。当我读到这段代码时,我一直在想它应该是这样的:

1 1
2 2
3 3

为什么不是这样


共 (6) 个答案

  1. # 1 楼答案

    外部for“抓住”内部for并在其上迭代。 i、 例如,在for循环中有for循环。对于1.范围内的每一个人。。3.必须从1.循环j。。3.也是。当i变为2时,j重置为1,内部循环再次运行

  2. # 2 楼答案

    在另一个循环中有一个循环

    因此,对于外部循环的每次迭代,您将运行内部循环直到完成,从1开始到3结束

    因此,对于i的每个值,打印j=1,2,3。在本例中,i是1,2和3

  3. # 3 楼答案

    让我们看看如果我们从循环改为重复代码会是什么样子。首先是外环:

    for (int j=1; j <= 3 ; j++ ) {
        System.out.println( 1 + " " + j );
    }
    for (int j=1; j <= 3 ; j++ ) {
        System.out.println( 2 + " " + j );
    }
    for (int j=1; j <= 3 ; j++ ) {
        System.out.println( 3 + " " + j );
    }
    

    现在是内部循环:

    // First loop
    System.out.println( 1 + " " + 1 );
    System.out.println( 1 + " " + 2 );
    System.out.println( 1 + " " + 3 );
    // Second loop
    System.out.println( 2 + " " + 1 );
    System.out.println( 2 + " " + 2 );
    System.out.println( 2 + " " + 3 );
    // Third loop
    System.out.println( 3 + " " + 1 );
    System.out.println( 3 + " " + 2 );
    System.out.println( 3 + " " + 3 );
    

    现在有意义了吗

  4. # 4 楼答案

    对于外部循环的每次迭代,将执行完整的内部循环。 例如,当i=1时,内部循环将执行3次,您将得到 1 1 1 2 13

  5. # 5 楼答案

    你所拥有的是一个循环中的另一个循环。把它想象成时钟上的分针和时针。分针将转动(1,2,3,4…59),而时针仍在1上。因此,如果我们将小时视为i,将分钟视为j,我们有:

    1
    1.2
    13
    ...
    160

    然后时间变为2,分针继续转动:
    2.1
    2
    2.3
    ...
    260

    我们一到就结束了

    12.1
    12.2
    12.3
    ...
    12 60

    这就是循环的终点。你的例子很像这样

    (对于学究,我知道它是以零为基础的,但为了说明,这可能更容易理解)

  6. # 6 楼答案

    每次迭代i,你都会开始一个全新的迭代j

    在循环中,先从i==1开始,然后是j==1,2,3。然后i==2,然后j==1,2,3在循环中,等等

    一步一步地完成,它就会有意义