为什么这个println不能整个执行?

时间:2019-08-11 13:55:15

标签: java nested-loops

我是编程的新手,试图完全理解嵌套的for循环。 println是内循环主体的一部分。但是,它不是与内循环一起执行的。我不想执行它,但是我只是想了解为什么内部循环体没有完全执行?

int rowNum, colNum;
    for (rowNum = 1; rowNum <= 3; rowNum++) 
    {
     for (colNum = 1; colNum <= 2; colNum++) 
            System.out.print(" rowNum: " + rowNum + " colNum: " + colNum);
        System.out.println();

    }

如果将println()与主体一起执行,我将得到以下内容:

 rowNum: 1 colNum: 1
 rowNum: 1 colNum: 2
 rowNum: 2 colNum: 1
 rowNum: 2 colNum: 2
 rowNum: 3 colNum: 1
 rowNum: 3 colNum: 2

相反,我得到这个:

 rowNum: 1 colNum: 1 rowNum: 1 colNum: 2
 rowNum: 2 colNum: 1 rowNum: 2 colNum: 2
 rowNum: 3 colNum: 1 rowNum: 3 colNum: 2

再次,我只想了解原因,而不是如何解决...谢谢!

2 个答案:

答案 0 :(得分:0)

如果未提供大括号,则

for循环仅执行下一行。如果在第二个for循环之间和println();之后给出大括号。 你会想要的。

System.out.print(“ xxx”);         System.out.println();

这会给你 xxx xxx xxx xxx

因为它是print println 打印2次,然后行出现。

首先编辑System.out.println(“ rowNum:” + rowNum +“ colNum:” + colNum);

并删除第二个println。

答案 1 :(得分:-1)

行数:1列数:1行数:1列数:2行数:2列数:1行数:2列数:2行数:3列数:1行数:3列数:2

这是因为在退出循环之前,您打印了2次并打印了新行。