1 import java.util.Date; 2 3 4 5 public class Printf { 6 7 public static void main(String[] args) { 8 9 // %s表示输出字符串,也就是将后面的字符串替换模式中的%s 10 System.out.printf("%s", new Integer(1212)); 11 // %n表示换行 12 System.out.printf("%s%n", "end line"); 13 // 还能够支持多个参数 14 System.out.printf("%s = %s%n", "Name", "Zhangsan"); 15 // %S将字符串以大写形式输出 16 System.out.printf("%S = %s%n", "Name", "Zhangsan"); 17 // 支持多个参数时,能够在%s之间插入变量编号,1$表示第一个字符串,3$表示第3个字符串 18 System.out.printf("%1$s = %3$s %2$s%n", "Name", "san", "Zhang"); 19 20 21 System.out.printf("true = %b; false = ", true); 22 System.out.printf("%b%n", false); 23 24 25 Integer iObj = 342; 26 // %d表示将整数格式化为10进制整数 27 System.out.printf("%d; %d; %d%n", -500, 2343L, iObj); 28 // %o表示将整数格式化为8进制整数 29 System.out.printf("%o; %o; %o%n", -500, 2343L, iObj); 30 // %x表示将整数格式化为16进制整数 31 System.out.printf("%x; %x; %x%n", -500, 2343L, iObj); 32 // %X表示将整数格式化为16进制整数,而且字母变成大写形式 33 System.out.printf("%X; %X; %X%n", -500, 2343L, iObj); 34 35 36 Double dObj = 45.6d; 37 // %e表示以科学技术法输出浮点数 38 System.out.printf("%e; %e; %e%n", -756.403f, 7464.232641d, dObj); 39 // %E表示以科学技术法输出浮点数,而且为大写形式 40 System.out.printf("%E; %E; %E%n", -756.403f, 7464.232641d, dObj); 41 // %f表示以十进制格式化输出浮点数 42 System.out.printf("%f; %f; %f%n", -756.403f, 7464.232641d, dObj); 43 // 还能够限制小数点后的位数 44 System.out.printf("%.1f; %.3f; %f%n", -756.403f, 7464.232641d, dObj); 45 46 47 // %t表示格式化日期时间类型,%T是时间日期的大写形式,在%t以后用特定的字母表示不一样的输出格式 48 Date date = new Date(); 49 long dataL = date.getTime(); 50 // 格式化年月日 51 // %t以后用y表示输出日期的年份(2位数的年,如99) 52 // %t以后用m表示输出日期的月份,%t以后用d表示输出日期的日号 53 System.out.printf("%1$ty-%1$tm-%1$td; %2$ty-%2$tm-%2$td%n", date, dataL); 54 // %t以后用Y表示输出日期的年份(4位数的年), 55 // %t以后用B表示输出日期的月份的完整名, %t以后用b表示输出日期的月份的简称 56 System.out.printf("%1$tY-%1$tB-%1$td; %2$tY-%2$tb-%2$td%n", date, dataL); 57 58 // 如下是常见的日期组合 59 // %t以后用D表示以 "%tm/%td/%ty"格式化日期 60 System.out.printf("%1$tD%n", date); 61 //%t以后用F表示以"%tY-%tm-%td"格式化日期 62 System.out.printf("%1$tF%n", date); 63 64 65 // 输出时分秒 66 // %t以后用H表示输出时间的时(24进制),%t以后用I表示输出时间的时(12进制), 67 // %t以后用M表示输出时间的分,%t以后用S表示输出时间的秒 68 System.out.printf("%1$tH:%1$tM:%1$tS; %2$tI:%2$tM:%2$tS%n", date, dataL); 69 // %t以后用L表示输出时间的秒中的毫秒 70 System.out.printf("%1$tH:%1$tM:%1$tS %1$tL%n", date); 71 // %t以后p表示输出时间的上午或下午信息 72 System.out.printf("%1$tH:%1$tM:%1$tS %1$tL %1$tp%n", date); 73 74 // 如下是常见的时间组合 75 // %t以后用R表示以"%tH:%tM"格式化时间 76 System.out.printf("%1$tR%n", date); 77 // %t以后用T表示以"%tH:%tM:%tS"格式化时间 78 System.out.printf("%1$tT%n", date); 79 // %t以后用r表示以"%tI:%tM:%tS %Tp"格式化时间 80 System.out.printf("%1$tr%n", date); 81 82 83 // %t以后用A表示获得星期几的全称 84 System.out.printf("%1$tF %1$tA%n", date); 85 // %t以后用a表示获得星期几的简称 86 System.out.printf("%1$tF %1$ta%n", date); 87 88 // 输出时间日期的完整信息 89 System.out.printf("%1$tc%n", date); 90 } 91 } 92 93