java的string.format()方法通过“%”开头的占位符格式化字符串,支持%d(整数)、%f(浮点数)、%s(字符串)、%c(字符)、%b(布尔值)等基本类型;可加修饰符控制精度(如%.2f)、宽度(%6d)和对齐(%-10s);还支持日期%ty/%tb、特殊符号%%/%n及%x/%e等高级格式。

Java 的 String.format() 方法通过占位符(格式说明符)将参数插入字符串,核心是“%”开头的格式化标记,不同字母代表不同类型和格式。
基本类型常用占位符
最常用的是整数、浮点数、字符串三类:
-
%d:十进制整数(int、long 等),如
String.format("数量:%d", 123)→ "数量:123" -
%f:浮点数,默认保留6位小数,如
String.format("价格:%f", 29.9)→ "价格:29.900000" -
%s:任意对象,调用其
toString(),最通用,如String.format("姓名:%s", new Person("张三")) -
%c:单个字符(char),如
String.format("首字母:%c", 'A') -
%b:布尔值,
true或false(非 null 对象为 true,null 为 false)
控制数字精度与宽度
在 % 和字母之间可添加修饰符,让输出更规范:
-
%.2f:保留2位小数,如
String.format("%.2f", 3.14159)→ "3.14" -
%6d:最小字段宽度为6,右对齐,不足补空格,如
String.format("%6d", 42)→ " 42" -
%06d:宽度6,不足补0,如
String.format("%06d", 42)→ "000042" -
%-10s:宽度10,左对齐字符串,如
String.format("%-10s", "abc")→ "abc "
日期与时间格式化
配合 java.time 类型(推荐)或旧式 Date,使用 %t 系列:
- %tY:4位年份,%ty:2位年份
- %tM:月份(01–12),%tB:全称英文月名(如 January)
- %td:当月第几天(01–31),%tA:星期全称(如 Monday)
- 示例:
String.format("今天是:%tY年%tB%td日", now, now, now)
其他实用占位符
处理常见特殊需求:
- %%:输出一个真正的百分号 %,因为 % 是转义起始符
- %n:平台相关的换行符(Windows 是 \r\n,Linux/macOS 是 \n),比硬写 \n 更安全
- %x:整数的十六进制小写形式,%X 为大写
- %e:科学计数法(如 1.23e+02),%g 自动选 f 或 e 格式
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南











