最常用Java格式化输出方式是System.out.printf()和String.format()。前者直接输出到控制台,后者生成字符串;支持%d、%f、%s等占位符,可控制宽度、对齐(如%-10s)和精度(如%.2f),推荐用%n换行,结合DateTimeFormatter可格式化时间。

在Java中格式化输出内容,最常用的方式是使用 System.out.printf() 和 String.format() 方法。它们都基于格式化字符串语法,能更灵活地控制输出样式。
使用 printf 进行格式化输出
System.out.printf() 直接将格式化后的内容输出到控制台,不换行。如果需要换行,可以手动添加 n 或使用 System.out.println() 包裹。
常见格式化占位符:
- %d:输出整数
- %f:输出浮点数
- %s:输出字符串
- %c:输出字符
- %n:换行(推荐使用,跨平台兼容)
示例:
立即学习“Java免费学习笔记(深入)”;
System.out.printf(“姓名:%s,年龄:%d,身高:%.2f米%n”, “张三”, 25, 1.78);
输出结果:
姓名:张三,年龄:25,身高:1.78米
控制字段宽度和对齐方式
可以在格式符中指定最小字段宽度,或设置左对齐。
- %10s:右对齐,总宽10个字符
- %-10s:左对齐,总宽10个字符
- %.2f:保留两位小数
示例:
立即学习“Java免费学习笔记(深入)”;
System.out.printf(“|%-10s|%10d|%8.2f|%n”, “Alice”, 88, 92.567);
输出:
|Alice | 88| 92.57|
使用 String.format() 构造格式化字符串
如果你不想直接输出,而是想先生成格式化后的字符串,可以用 String.format()。
示例:
立即学习“Java免费学习笔记(深入)”;
String msg = String.format(“用户 %s 登录失败 %d 次”, “admin”, 3); System.out.println(msg);
输出:
用户 admin 登录失败 3 次
日期和时间的格式化输出
结合 java.time 类和格式化方法,可以美化时间输出。
import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; LocalDateTime now = LocalDateTime.now(); String formatted = now.format(DateTimeFormatter.ofPattern(“yyyy-MM-dd HH:mm:ss”)); System.out.println(“当前时间:” + formatted);
输出示例:
当前时间:2025-04-05 14:30:22
基本上就这些。掌握常用的格式符和对齐方式,就能清晰、整齐地输出Java程序中的信息。不复杂但容易忽略细节,比如换行用 %n 更安全。


