// %[argument_index$][flags][width][.precision]conversion
// (b/B) boolean
System.out.printf("result : %1$b %2$b %3$b %n", false, new Boolean(true), null);
// result : false true false
// (h/H) Integer.toHexString(arg.hashCode())
System.out.printf("result : %1$h %2$h %n", "bruce", 12);
// result : 59a9547 c
// (s/S) arg.toString()
System.out.printf("result : %1$s %2$s %n", 10, "bruce");
// result : 10 bruce
// (c/C) character
System.out.printf("result : %1$c %2$c %n", 'c', '\u0051');
// result : c Q
// (d, o, x/X) integral
System.out.printf("result : %1$d %1$o %1$x %n", 1024);
// result : 1024 2000 400
System.out.printf("result : %1$d %1$o %1$x %n", 1024);
// result : 1024 ( 1024) 0001024
// (e/E, f, g/G, a/A) floating point
System.out.printf("result : %1$e %1$f %1$g %1$a %n", 1234.567);
// result : 1.234567e+03 1234.567000 1234.57 0x1.34a449ba5e354p10
System.out.printf("result : %1$f (%1$7.2f) %1$07.0f %1$07.2f%n", 1234.567);
// result : 1234.567000 (1234.57) 0001235 1234.57
// date/time (R, T, r, D, F, c)
System.out.printf("result : %tR %n", Calendar.getInstance());
// result : 09:53
System.out.printf("result : %tT %n", Calendar.getInstance());
// result : 09:53:18
System.out.printf("result : %tr %n", Calendar.getInstance());
// result : 09:53:18 上午
System.out.printf("result : %tD %n", Calendar.getInstance());
// result : 06/10/10
System.out.printf("result : %tF %n", Calendar.getInstance());
// result : 2010-06-10
System.out.printf("result : %tc %n", Calendar.getInstance());
// result : 星期四 六月 10 09:53:18 CST 2010
System.out.printf("result : %1$tY/%1$tm/%1$td %1$tH:%1$tM:%1$tS", Calendar.getInstance());
// result : 2010/06/10 11:02:38
other date args
http://java.sun.com/j2se/1.5.0/docs/api/java/util/Formatter.html#dt