System.out.printf("Pi is approximately %f and E is approximately %b", Math.PI,Math.E);输出是:
Pi is approximately 3.141593 and E is approximately true
Pi is approximately 3.141593 and E is approximately true
%b指示的是boolean类型.转换 参数类别 说明
'b', 'B' 常规 如果参数 arg 为 null,则结果为 "false"。如果 arg 是一个 boolean 值或 Boolean,则结果为 String.valueOf() 返回的字符串。否则结果为 "true"。
%b 表示是一个布尔值boolean printf 输出的风格跟C很像的 是5.0新推出的风格
'd' 整数 结果被格式化为十进制整数
'o' 整数 结果被格式化为八进制整数
'x', 'X' 整数 结果被格式化为十六进制整数
'e', 'E' 浮点 结果被格式化为用计算机科学记数法表示的十进制数
'f' 浮点 结果被格式化为十进制数
'g', 'G' 浮点 根据精度和舍入运算后的值,使用计算机科学记数形式或十进制格式对结果进行格式化。
'a', 'A' 浮点 结果被格式化为带有效位数和指数的十六进制浮点数
还有问题可以参考“JAVA API”说明
API DOC,这是 JDK 5.0 新增的类库,主要用到了 JDK 5 中的“变参”这个新的语言特性。一般用得到最多的方法是:
System.out.printf
String.format
这两个。比如,使用:System.out.printf("%tF %<tT", System.currentTimeMillis());
或者:String str = String.format("%tF %<tT", System.currentTimeMillis());是不是要比使用:
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String str = sdf.format(new Date());更为方便呢?