空 System.out.println() 的目的

问题描述

我有以下代码

public class Main {
    public static void main(String[] args) {
        for (int i = 1; i <= 4; i++) {
            for (int j = 1; j <= i; j++) {
                System.out.print("*");
            }
            System.out.println();
        }
    }
}

它打印出一个星形图案

*
**
***
****

System.out.println(); 的目的是什么?为什么我们把它放在循环的末尾?

解决方法

只是为了打印出一个“\n”(移到下一行)。 奇怪的问题...

,

说明

print("*") 只在当前行打印星星。

但在某些时候,您必须完成当前行并移动到下一行。这就是 println() 的作用(ln 代表 line)。

因此,如果没有 System.out.println(),您将在一行中获得所有内容:

**********

有了它,你会得到多行:

*
**
***
****

println vs print

println 的行为或多或少与带有换行符(print\n)的 \r\n 相同,因此:

System.out.println(foo);

// behaves the same as

System.out.print(foo + System.lineSeparator());

您可以在 source code 中查看确切的详细信息。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...