问题描述
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 中查看确切的详细信息。