杰瑞科技汇

Java中println和print到底有啥区别?

核心区别

一句话概括:println 在打印内容后会换行,而 print 不会。

Java中println和print到底有啥区别?-图1
(图片来源网络,侵删)

详细解释

System.out.println() (Print Line)

  • 全称: Print Line (打印行)
  • 功能: 在控制台打印你传入的参数,并在打印完成后自动将光标移动到下一行
  • 语法:
    System.out.println(要打印的内容);
  • 特点:
    • 每次调用都会产生一个换行效果。
    • 这是调试和日常输出中最常用的方法。

System.out.print() (Print)

  • 全称: Print (打印)
  • 功能: 在控制台打印你传入的参数,打印完成后光标停留在当前行的末尾,不会换行。
  • 语法:
    System.out.print(要打印的内容);
  • 特点:
    • 不会自动换行。
    • 如果连续调用 print会打印在同一行上。

代码示例

通过一个简单的例子,你可以非常直观地看到它们的区别。

示例 1:基本对比

public class PrintVsPrintln {
    public static void main(String[] args) {
        System.out.println("这是第一行,使用 println");
        System.out.println("这是第二行,也使用 println");
        System.out.println("--------------------");
        System.out.print("这是第三行,使用 print");
        System.out.print(" 这行内容接在上一行的后面");
        System.out.println(",现在换行"); // 这里的 println 会让后面的内容换行
    }
}

运行结果:

这是第一行,使用 println
这是第二行,也使用 println
--------------------
这是第三行,使用 print 这行内容接在上一行的后面,现在换行

分析:

  • 前两个 println 各自占据了一行。
  • 第一个 print 打印了 "这是第三行,使用 print",光标停在行末。
  • 第二个 print 从光标位置继续打印 " 这行内容接在上一行的后面"。
  • 第三个 println 打印了 ",现在换行",因为它会换行,所以后续的输出(如果有的话)会从新的一行开始。

示例 2:实际应用场景(打印一个乘法口诀表)

打印乘法口诀表时,我们通常希望每个算式在同一行,一行结束后再换到下一行,这时 print 就非常有用。

Java中println和print到底有啥区别?-图2
(图片来源网络,侵删)
public class MultiplicationTable {
    public static void main(String[] args) {
        // 外层循环控制行数
        for (int i = 1; i <= 9; i++) {
            // 内层循环控制每行的列数
            for (int j = 1; j <= i; j++) {
                // 使用 print 来打印算式,不换行
                System.out.print(j + " * " + i + " = " + (i * j) + "\t");
                // \t 是一个制表符,可以让输出更整齐
            }
            // 当一行打印完后,使用 println 来换行
            System.out.println();
        }
    }
}

运行结果:

1 * 1 = 1   
1 * 2 = 2   2 * 2 = 4   
1 * 3 = 3   2 * 3 = 6   3 * 3 = 9   
1 * 4 = 4   2 * 4 = 8   3 * 4 = 12  4 * 4 = 16  
1 * 5 = 5   2 * 5 = 10  3 * 5 = 15  4 * 5 = 20  5 * 5 = 25  
1 * 6 = 6   2 * 6 = 12  3 * 6 = 18  4 * 6 = 24  5 * 6 = 30  6 * 6 = 36  
1 * 7 = 7   2 * 7 = 14  3 * 7 = 21  4 * 7 = 28  5 * 7 = 35  6 * 7 = 42  7 * 7 = 49  
1 * 8 = 8   2 * 8 = 16  3 * 8 = 24  4 * 8 = 32  5 * 8 = 40  6 * 8 = 48  7 * 8 = 56  8 * 8 = 64  
1 * 9 = 9   2 * 9 = 18  3 * 9 = 27  4 * 9 = 36  5 * 9 = 45  6 * 9 = 54  7 * 9 = 63  8 * 9 = 72  9 * 9 = 81  

分析:

  • 内层循环使用 System.out.print() 来保证每个算式都在同一行输出。
  • 外层循环每次结束后,调用 System.out.println() 来实现换行,为下一行的输出做准备。

总结与对比表格

特性 System.out.println() System.out.print()
换行 ,打印后光标移到下一行 ,打印后光标停留在当前行末尾
使用场景 - 独立输出一行信息
- 调试时打印变量
- 程序结束时的提示
- 在同一行输出多个内容
- 格式化输出(如表格、进度条)
- 构建复杂的输出字符串
空参数调用 System.out.println(); 会打印一个空行 System.out.print(); 什么都不做,不会输出任何内容

补充:System.out.printf()

除了 printprintln,还有一个非常强大的输出方法 printf (Print formatted),它允许你按照指定的格式来输出数据,类似于 C 语言中的 printf

String name = "张三";
int age = 25;
double score = 95.5;
// 使用 printf 进行格式化输出
System.out.printf("姓名: %s, 年龄: %d, 分数: %.1f\n", name, age, score);

运行结果:

Java中println和print到底有啥区别?-图3
(图片来源网络,侵删)
姓名: 张三, 年龄: 25, 分数: 95.5
  • %s 表示字符串
  • %d 表示整数
  • %.1f 表示保留一位小数的浮点数
  • \n 是手动换行的转义字符,printf 默认自动换行。

如何选择?

  • 如果你只是想简单输出一些信息,并且希望它们各自占一行 -> 使用 println
  • 如果你想把多个内容拼接在同一行显示 -> 使用 print
  • 如果你需要精确控制输出格式,比如对齐数字、保留小数位数等 -> 使用 printf
分享:
扫描分享到社交APP
上一篇
下一篇