java的printf方法用于格式化输出,语法类似c语言,通过“格式字符串+参数列表”控制数字、字符串等显示效果,支持%d、%f、%s等占位符及宽度、对齐、精度修饰,需注意%n换行、%%输出百分号及类型匹配。

Java 的 printf 方法用于格式化输出,语法和 C 语言类似,核心是“格式字符串 + 参数列表”,能精准控制数字、字符串、对齐、精度等显示效果。
基本用法:格式字符串占位符
调用方式为 System.out.printf("格式串", 参数1, 参数2, ...);,其中格式串中用 % 开头的占位符匹配后续参数:
-
%d:十进制整数(int,long等) -
%f:浮点数(默认保留 6 位小数) -
%.2f:保留 2 位小数 -
%s:字符串 -
%c:单个字符 -
%b:布尔值(true/false)
常用格式修饰:宽度、对齐与精度
占位符可加入修饰符,格式为 %[标志][宽度][.精度]类型:
-
%10s:字符串占 10 字符宽,右对齐;%-10s表示左对齐 -
%05d:整数至少占 5 位,不足补前导零(如42→00042) -
%.3f:浮点数保留 3 位小数(四舍五入),如3.14159→3.142 -
%8.2f:总宽 8,含小数点和 2 位小数,右对齐(如" 12.34")
常见组合示例
实际使用时经常组合多个占位符:
-
System.out.printf("姓名:%-8s,年龄:%2d,身高:%.1f%n", "张三", 25, 175.67);
输出:姓名:张三 ,年龄:25,身高:175.7 -
System.out.printf("编号:%04d,价格:%6.2f%n", 7, 99.9);
输出:编号:0007,价格: 99.90(注意价格字段总宽 6,含空格)
注意点与技巧
几个容易出错但很实用的细节:
- 换行要用
%n(平台无关),不是\n(虽然多数情况也行,但不推荐) - 要输出字面量
%,写成%%,例如:System.out.printf("完成度:%d%%", 85); - 参数类型必须匹配占位符,否则抛
IllegalFormatConversionException(如用%d传double) - 支持自动装箱,
Integer、Double等包装类可直接传入
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南











