在最简单的情况下printf()方法可以接受两个参数。第一个参数是格式化字符串,描述了第二个参数应该如何输出并传化为字符串。最简单的格式字符串的第一个字符是%并跟一个字符串表示的转换代码。
最长使用的转换代码包括d(用于Java整型的十进制数)、f(浮点型)和s(字符串)。
在%和转换代码之间可以插入一个整数来表示转换后的值的宽度,即输出字符串的长度。默认情况下,转换后会在字符串的左边添加空格以达到需要的长度,如果我们想在右边加入空格则应该使用负宽度(转换得到的字符串的宽度比设定的要长,宽度会被忽略)。
在宽度之后我们还可以插入一个小数点以及一个数值来指定转换后的double值保留的小数位数(精度、四舍五入)或是String字符串的截取长度。
使用printf()时应该注意,格式字符串中的转换代码和对应参数的数据类型必须匹配,也就是说Java要求参数的数据类型和转换代码表示的数据类型要相同。
printf()的第一个String字符串参数也可以包含其他字符。
public class Demo{
public static void main(String[] args) {
System.out.printf("%.2f\n",20.369);
System.out.printf("%-12s\n","minghai");
System.out.printf("%-12d\n",20);
}
}/* OutPut:
20.37
minghai
20
*/