Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/383.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java println语句执行了多少次_Java_Loops - Fatal编程技术网

Java println语句执行了多少次

Java println语句执行了多少次,java,loops,Java,Loops,我有点不明白嵌套循环,有人能解释一下为什么下面的代码要执行45次吗?i++和j++不应该增加1吗?所以第一个循环应该是0*0,1*1,2*2等等 for(int i = 0; i < 10; i++) for(int j = 0; j < i; j++) System.out.println(i * j); 外循环根据i的值运行i次 第一个i值是0最后一个i值是9,因为嵌套循环不是这样工作的,它是这样的- 首先我们进入外循环,然后执行内循环,直到内循环退出,

我有点不明白嵌套循环,有人能解释一下为什么下面的代码要执行45次吗?i++和j++不应该增加1吗?所以第一个循环应该是0*0,1*1,2*2等等

for(int i = 0; i < 10; i++)
    for(int j = 0; j < i; j++)
        System.out.println(i * j);
外循环根据i的值运行i次


第一个i值是0最后一个i值是9,因为嵌套循环不是这样工作的,它是这样的-

首先我们进入外循环,然后执行内循环,直到内循环退出,即j的值等于i,然后我们再次增加i。
例如,如果i是5,它将进入外循环,然后j将从0开始直到4,因为i是5,计算的值将是5*0,5*1,5*2,5*3,5*4,退出内循环后,它将再次增加i 1,然后我会变成6,然后这会重复,j从0开始到5。

不是打印出表达式i*j,而是打印出i和j的值,这样你就可以跟踪并查看循环中发生了什么。i*j的乘积对于理解它循环了多少次是毫无意义的

for(int i = 0; i < 10; i++)
    for(int j = 0; j < i; j++)
        System.out.println("i " + i + "j " + j ); 

我觉得你在理解变量的范围方面有问题。为了更好地理解,我正在重新编写代码:

for(int i = 0; i < 10; i++){
        for(int j = 0; j < i; j++){
            System.out.println(i * j);
        } //end of scope of variable j
}// end of scope of variable i

在第二个循环的末尾,当我存储值1时,变量j应该存储值1,这很可能是错误的。但事实并非如此。变量j重新初始化为0的值。因此,当i在第三个循环中达到2的值时,内循环被执行2次,j的值为0和1。以此类推

因为其他答案已经解释了循环,所以我不会这么做。但是,如果您让代码输出更多的信息,您就可以更容易地看到发生了什么

public static void main( final String[] args )    
    {
        int counter = 0;
        for ( int i = 0; i < 10; i++ )
        {
            System.out.println( "outerloop: i = " + i );
            System.out.println( "___________________________" );
            for ( int j = 0; j < i; j++ )
            {
                System.out.println( "innerloop: i = " + i + " & j = " + j );
                System.out.println( "Counter: " + counter + " calculation: " + i + " * " + j + " = " + ( i * j ) );
                counter++;
            }
            System.out.println( "___________________________" );
        }
    }

我在学校就是这样做的,目的是了解代码在做什么。

你有没有试过自己用笔和纸来运行循环?使用表格跟踪i和j的值。如果你不想浪费一张纸,也可以使用断点和调试…@Abishek显然,这是一个可以从纸笔方法中受益的人。如果你想要0*0,1*1,你可以将j和i设置在相同的for循环中,因此只需要1 forloop。我刚刚给出了另一种方法。。。没有冒犯意味着。。。
int iCount=1;
        System.out.println("Outer for loop will begin and run for 10 times");
        for (int i = 0; i < 10; i++) {
            System.out.println("    Inner for loop will begin and run for " + i + " time(s)");
            for (int j = 0; j < i; j++) {
                System.out.println("        (" + iCount + ") Inner for loop running....." + (i * j));
                iCount++;
            }
        }
        System.out.println("Outer for loop ends");
int iCount=1;
        System.out.println("Outer for loop will begin and run for 10 times");
        for (int i = 0; i < 10; i++) {
            System.out.println("    Inner for loop will begin and run for " + i + " time(s)");
            for (int j = 0; j < i; j++) {
                System.out.println("        (" + iCount + ") Inner for loop running....." + (i * j));
                iCount++;
            }
        }
        System.out.println("Outer for loop ends");
Outer for loop will begin and run for 10 times
    Inner for loop will begin and run for 0 time(s)
    Inner for loop will begin and run for 1 time(s)
        (1) Inner for loop running.....0
    Inner for loop will begin and run for 2 time(s)
        (2) Inner for loop running.....0
        (3) Inner for loop running.....2
    Inner for loop will begin and run for 3 time(s)
        (4) Inner for loop running.....0
        (5) Inner for loop running.....3
        (6) Inner for loop running.....6
    Inner for loop will begin and run for 4 time(s)
        (7) Inner for loop running.....0
        (8) Inner for loop running.....4
        (9) Inner for loop running.....8
        (10) Inner for loop running.....12
    Inner for loop will begin and run for 5 time(s)
        (11) Inner for loop running.....0
        (12) Inner for loop running.....5
        (13) Inner for loop running.....10
        (14) Inner for loop running.....15
        (15) Inner for loop running.....20
    Inner for loop will begin and run for 6 time(s)
        (16) Inner for loop running.....0
        (17) Inner for loop running.....6
        (18) Inner for loop running.....12
        (19) Inner for loop running.....18
        (20) Inner for loop running.....24
        (21) Inner for loop running.....30
    Inner for loop will begin and run for 7 time(s)
        (22) Inner for loop running.....0
        (23) Inner for loop running.....7
        (24) Inner for loop running.....14
        (25) Inner for loop running.....21
        (26) Inner for loop running.....28
        (27) Inner for loop running.....35
        (28) Inner for loop running.....42
    Inner for loop will begin and run for 8 time(s)
        (29) Inner for loop running.....0
        (30) Inner for loop running.....8
        (31) Inner for loop running.....16
        (32) Inner for loop running.....24
        (33) Inner for loop running.....32
        (34) Inner for loop running.....40
        (35) Inner for loop running.....48
        (36) Inner for loop running.....56
    Inner for loop will begin and run for 9 time(s)
        (37) Inner for loop running.....0
        (38) Inner for loop running.....9
        (39) Inner for loop running.....18
        (40) Inner for loop running.....27
        (41) Inner for loop running.....36
        (42) Inner for loop running.....45
        (43) Inner for loop running.....54
        (44) Inner for loop running.....63
        (45) Inner for loop running.....72
Outer for loop ends