【Java基础】10. 格式化输出
System.out.printf(format,items);
,format is a string consists of substrings and format specifiers. A format specifier specifies how an item should be displayed. An item may be a numeric value, character, boolean value, or a string. Each specifier begins with a percent sign.
Frequently-used specifiers
Specifier | Output | Example |
| a boolean value | true or false |
| a character | ‘a’ |
| a number in standard scientfic notation | 4.55600e+01 |
| a string | “Java is cool” |
占位符完整格式为:% [index$] [标识]*[最小宽度] [.精度] 转换符
或%[argument_index$][flags][width][.precision]conversion
针对不同数据类型的格式化,占位符的格式将有所裁剪。
-
%
:若要在占位符内部使用%,则需要写成%% -
index
:位置索引从1开始计算,用于指定对索引相应的实参进行格式化并替换掉该占位符 -
flags
:对齐方式,默认右对齐,想要左对齐的话,添加-
。可以同时使用多个flags
-
width
:设置格式化后的字符串最小长度,不够时会添加空格 -
.precision
:用于 String 时,表示打印 String 输出字符的最大数量;用于浮点数时,表示小数部分要显示的位数(默认是 6 位),多则舍入,少则补齐;整数没有小数部分,所以 precision 用于整数会引发异常。 -
conversion
:用于指定格式化的样式,和限制对应入参的数据类型
注意:索引index必须紧跟在%后面,以$终止;可以用<
标志表明前面格式说明中的参数被再次使用
类型转换字符
-
d
:整数类型 -
c
:Unicode 字符 -
b
:Boolean 值 -
s
:String -
f
:浮点数(十进制) -
e
:浮点数(科学计数) -
x
:整数 -
h
:散列码(十六进制) -
%
:字符 “%”