以下代码片段有什么区别?

Aki*_*ira 1 java for-loop while-loop

我有两个解决方案,它们之间有什么区别?

解决方案1:

public static void main(String[] args) {
    int i, j;
    for (i = 0; i < 5; i++) {
      for (j = 0; j <= i; j++) {
        System.out.println(" * ");
      }
      System.out.println("\n");
    }
  }
Run Code Online (Sandbox Code Playgroud)

解决方案2:

public static void main(String args[]) {
    int num = 0;
    while (num < 5) {
      for (int i = 0; i <= num; i++) {
        System.out.print(" " + "*" + " ");
      }
      System.out.print("\n");
      num++;
    }
  }
Run Code Online (Sandbox Code Playgroud)

两者都打印出不同的结果.任何人都可以解释一下原因吗?

Era*_*ran 6

好吧,第一个代码片段System.out.println在内部循环中使用,因此每个字符串都打印在一个单独的行中.第二个片段System.out.print在内部循环中使用,并且仅在内部循环结束后移动到下一行.

此外,第一个片段在完成内部循环后跳过两行,第二个片段仅结束当前行(System.out.println("\n");vs. System.out.print("\n");).

每个改变printlnprint在所述第一代码段应该产生输出作为第二代码段相同.