控制台打印案例
System.out.println 是 Java 编程的第一步。但很多人只用过 println,不知道还有 print、printf、format。理解这些方法的区别,才能更好地控制输出格式。
基础输出方法
println() 输出后换行,print() 输出后不换行:
java
System.out.println("第一行");
System.out.println("第二行");
// 输出:第一行 / 第二行
System.out.print("Hello");
System.out.print(" ");
System.out.print("World");
// 输出:Hello Worldprintf 格式化输出,format 与 printf 功能完全相同:
java
String name = "Alice";
int age = 25;
double score = 95.5;
System.out.printf("姓名: %s%n", name);
System.out.printf("年龄: %d%n", age);
System.out.printf("成绩: %.1f%n", score);
// 格式化宽度
System.out.printf("%-10s %03d %.2f%n", "Bob", 30, 88.5);常用格式符
| 格式符 | 类型 | 说明 |
|---|---|---|
%d | 整数 | 十进制整数 |
%f | 浮点数 | 浮点数,默认 6 位小数 |
%.2f | 浮点数 | 保留 2 位小数 |
%s | 字符串 | 字符串 |
%n | 无 | 跨平台换行符(推荐使用) |
%b | 布尔 | true/false |
格式化标志:- 左对齐、0 零填充、, 千位分隔符、+ 显示正负号。
表格输出示例
java
String[] names = {"Alice", "Bob", "Charlie"};
int[] scores = {95, 87, 92};
System.out.printf("%-10s %s%n", "姓名", "分数");
System.out.println("---------- -----");
for (int i = 0; i < names.length; i++) {
System.out.printf("%-10s %3d%n", names[i], scores[i]);
}输出:
姓名 分数
---------- -----
Alice 95
Bob 87
Charlie 92输出到文件
java
import java.io.PrintWriter;
import java.io.FileWriter;
try (PrintWriter writer = new PrintWriter(new FileWriter("output.txt"))) {
writer.println("第一行");
writer.printf("姓名: %s%n", "Alice");
}
// 自动关闭资源