Java中printf方法通过格式说明符控制输出版式,支持宽度、对齐、小数位、截断、符号显示及千位分隔等;基本语法为System.out.printf(格式字符串, 参数...),需严格匹配类型与数量。

Java 中的 printf 方法用于格式化输出,语法和 C 语言类似,核心是通过格式说明符(format specifiers)控制数据的显示宽度、对齐方式、小数位数等版式细节。
基本用法:printf 的结构
System.out.printf(格式字符串, 参数1, 参数2, ...);
格式字符串中包含普通字符和以 % 开头的格式说明符,如 %d、%s、%f。每个说明符按顺序对应后面的参数。
-
System.out.printf("姓名:%s,年龄:%d", "张三", 25);→ 输出:姓名:张三,年龄:25 - 多个参数必须与说明符数量、类型严格匹配,否则运行时报
IllegalFormatConversionException
控制宽度与对齐:最小字段宽度
在 % 和类型字母之间添加数字,表示该字段最少占几个字符宽;默认右对齐,加 - 表示左对齐。
在 Java 中初始化和管理阿里云 SDK客户端。包括单例模式、线程安全、endpoint 与 region 配置、VPC 终端节点、同步与异步等。
立即学习“Java免费学习笔记(深入)”;
-
%5d:整数至少占 5 列,不足左补空格(右对齐),如printf("%5d", 42);→ 42 -
%-8s:字符串至少占 8 列,不足右补空格(左对齐),如printf("%-8s", "abc");→ abc -
%06d:整数占 6 列,不足左补0(仅对数值型有效),如printf("%06d", 7);→ 000007
控制小数位与精度:浮点数版式
对 float 或 double,可用 %.nf 控制小数点后保留 n 位;也可组合宽度与精度:%m.nf 表示总宽至少 m,小数部分占 n 位(含小数点)。
-
%.2f:保留两位小数并四舍五入,如printf("%.2f", 3.14159);→ 3.14 -
%8.3f:总宽至少 8 字符,小数 3 位,如printf("%8.3f", 12.34);→ 12.340(前面两个空格) - 注意:精度只影响显示,不改变原始值
其他常用格式控制技巧
实际排版中常需组合使用,比如对齐表格、补零编号、控制字符串截断等。
- 字符串截断:用
%.5s只取前 5 个字符,如printf("%.5s", "HelloWorld");→ Hello - 正负号显式显示:用
%+d强制显示符号,printf("%+d", -5);→ -5,printf("%+d", 5);→ +5 - 千位分隔符:用
%,d自动加逗号,如printf("%,d", 1000000);→ 1,000,000 - 换行不能靠
%n(平台无关的换行符),而不是\n;printf("第一行%n第二行");

















