杰瑞科技汇

Java的print和println有何区别?

核心区别

一句话总结:print 在输出内容后不换行,而 println 在输出内容后会自动换行。

Java的print和println有何区别?-图1
(图片来源网络,侵删)

print 方法

print 属于 java.io.PrintStream 类(System.out 就是这个类的实例),它的作用是在控制台打印你指定的内容,但打印光标会停留在当前行的末尾,不会移动到下一行

语法

System.out.print(要输出的内容);

特点

  • 不换行:连续使用多个 print,输出的内容会紧挨着在同一行显示。
  • 灵活参数:可以接受各种基本数据类型(如 int, double, char, boolean)和 String 类型的参数。

示例代码

public class PrintExample {
    public static void main(String[] args) {
        System.out.print("Hello, ");
        System.out.print("World!");
        System.out.print(" 我现在在同一行。");
    }
}

输出结果

Hello, World! 我现在在同一行。

你会发现所有输出都在一行,没有任何换行。


println 方法

println (print line 的缩写) 同样属于 java.io.PrintStream 类,它的作用是在控制台打印你指定的内容,并且在内容结束后,自动将光标移动到下一行

语法

System.out.println(要输出的内容);

特点

  • 自动换行:每次调用 println结束后都会另起一行。
  • 灵活参数:和 print 一样,可以接受各种基本数据类型和 String 类型的参数。

示例代码

public class PrintlnExample {
    public static void main(String[] args) {
        System.out.println("Hello, ");
        System.out.println("World!");
        System.out.println(" 我现在在不同的行。");
    }
}

输出结果

Hello, 
World! 
 我现在在不同的行。

可以看到,每条 println 的输出都占据了一整行。

Java的print和println有何区别?-图2
(图片来源网络,侵删)

特殊情况:println() 不带任何参数

println 方法有一个非常特殊的用法:不带任何参数调用。

语法

System.out.println();

作用

它的作用是只进行换行,不输出任何其他内容,这在需要空出一行来格式化输出时非常有用。

示例代码

public class PrintlnEmptyExample {
    public static void main(String[] args) {
        System.out.println("第一行内容");
        System.out.println(); // 这里会输出一个空行
        System.out.println("第三行内容");
    }
}

输出结果


可以看到第一行和第三行之间有一个空行。
---
### 4. 与 `printf` 的区别(进阶)
除了 `print` 和 `println`,还有一个常用的输出方法是 `printf` (formatted print),`printf` 用于**格式化输出**,让你可以精确控制输出的样式,比如数字的位数、小数点后的位数等。
#### `printf` 的特点
- **格式化输出**:使用格式化字符串(`%d` 代表整数,`%.2f` 代表保留两位小数的浮点数)。
- **不自动换行**:和 `print` 一样,`printf` 也不会自动换行,如果你想在格式化输出后换行,需要在格式化字符串的末尾加上换行符 `\n`,或者再调用一次 `println()`。
#### 示例代码
```java
public class PrintfExample {
    public static void main(String[] args) {
        String name = "张三";
        int age = 25;
        double salary = 12345.6789;
        // 使用 printf 进行格式化输出
        // %s 是字符串占位符, %d 是整数占位符, %.2f 是保留两位小数的浮点数占位符
        System.out.printf("姓名: %s, 年龄: %d, 工资: %.2f%n", name, age, salary);
        // 注意:printf 不会自动换行,如果需要换行,可以在格式字符串末尾加 %n 或 \n
        System.out.printf("这是另一行内容,在同一行。%n");
    }
}
```
#### 输出结果
```
姓名: 张三, 年龄: 25, 工资: 12345.68在同一行。
```
这里的 `%n` 是一个与平台无关的换行符,推荐使用它代替 `\n`。
---
### 总结与对比
| 方法 | 全称 | 是否换行 | 主要用途 |
| :--- | :--- | :--- | :--- |
| **`print()`** | Print | **否** | 输出内容,且后续内容在同一行继续。 |
| **`println()`** | Print Line | **是** | 输出内容,并自动换行,也可以单独使用来输出一个空行。 |
| **`printf()`** | Print Formatted | **否** | 按照指定的格式化字符串输出内容,需要手动控制换行(如使用 `%n`)。 |
### 何时使用哪个?
- **使用 `println`**:当你希望每个输出项都独占一行时,这是最常用的选择,比如打印日志、列表等。
- **使用 `print`**:当你需要在同一行输出多个相关的信息时,比如构建一个进度条或者一个复杂的消息。
- **使用 `printf`**:当你需要精确控制输出格式时,比如打印货币、表格数据、科学计数法数字等。
掌握这三者的区别是 Java 编程的入门基本功,希望这个解释对你有帮助!
Java的print和println有何区别?-图3
(图片来源网络,侵删)
分享:
扫描分享到社交APP
上一篇
下一篇