Java中的String.format()
方法用于将一系列参数按照指定的格式字符串进行格式化。格式化规则主要由以下几个部分组成:
-
占位符:占位符用于表示需要插入到格式化字符串中的参数值。占位符的语法为
%[argument_index$][flags][width][.precision]conversion
。argument_index
:可选,表示要插入的参数在参数列表中的位置(从1开始计数)。flags
:可选,用于控制输出格式的标志。例如:-
表示左对齐,+
表示显示正负号,0
表示使用0填充等。width
:可选,表示输出的最小宽度。如果实际输出的宽度小于该值,则会在左侧或右侧填充空格(取决于对齐方式)。.precision
:可选,表示输出的精度。对于浮点数,表示小数点后的位数;对于字符串,表示输出的最大长度。conversion
:必需,表示输出类型。例如:d
表示十进制整数,f
表示浮点数,s
表示字符串等。
-
转换说明符:转换说明符用于指定参数的类型和格式。常见的转换说明符有:
%d
:十进制整数%f
:浮点数%e
:科学计数法表示的浮点数%s
:字符串%c
:字符%b
:布尔值%n
:换行符%x
:十六进制整数(小写字母)%X
:十六进制整数(大写字母)%o
:八进制整数%a
:十六进制浮点数(小写字母)%A
:十六进制浮点数(大写字母)%g
:通用浮点数(根据值自动选择%f
或%e
)%G
:通用浮点数(根据值自动选择%F
或%E
)
-
示例:
String name = "John"; int age = 30; double height = 1.85; String formattedStr = String.format("My name is %s, I am %d years old and I am %.2f meters tall.", name, age, height); System.out.println(formattedStr);
输出结果:
My name is John, I am 30 years old and I am 1.85 meters tall.
注意:在实际编程中,为了提高代码的可读性和可维护性,建议使用String.format()
方法进行字符串格式化。