printf的格式化输出

今天看到对日期date的格式化,使用SimpleDateFormat格式化日期,如下:

// 日期格式化   Date dNow = new Date();

  SimpleDateFormat ft = new SimpleDateFormat("yyyy.MM.dd 'at' hh:mm:ss ");

  System.out.println(ft.format(dNow));

无意间新学到一种格式化方法。

  //printf的格式化输出(第一个参数表示输出的格式,第二个参数是可变长参数,表示待输出的对象数据)   

//整数类型格式化(%d:十进制输出;%o:八进制输出;%x:十六进制输出;%n:表示换行)  

 System.out.printf("%d%n",26);   

System.out.printf("%o%n",26);   

System.out.printf("%x%n",26);  

 //字符类型格式化(%s:字符串输出;%S:大写字符串输出;1$:表示第一个参数;2$:表示第二个参数)   

System.out.printf("%s%n","huadiyatou");   

System.out.printf("%S%n","huadiyatou");  

 System.out.printf("%2$s%1$S%n","huadi","yatou");   

//浮点类型格式化(%f:表示浮点类型输出,还可以指定小数点位数;%e:科学记数法输出;%E:大写的科学计数法输出)   

System.out.printf("%f%.3f%n",12.3f,3.4f);  

 System.out.printf("%e%n",3.4);  

 System.out.printf("%E%n",3.4);   

//boolean类型(%b:boolean类型输出)  

 System.out.printf("true=%b%n",true);  

 //date类型格式化  

 Date  dTime=new Date();       

  //(%t后加y:输出年份(2位))   System.out.printf("%ty%n",dTime);  

 //(%t后加Y:输出年份(yyyy))   System.out.printf("%tY%n",dTime);   

//(%t后加m:输出月份)   System.out.printf("%tm%n",dTime);  

 //(%t后加M:输出时间的分钟)   System.out.printf("%tM%n",dTime);  

 //(%t后加M:输出月份(简称))   System.out.printf("%tb%n",dTime);   

//(%t后加M:输出月份(完整名称))   System.out.printf("%tB%n",dTime);        

//等价于:System.out.printf("%tm/%td%/%ty%n",dTime);   System.out.printf("%tD%n",dTime);        

//等价于:System.out.printf("%tY-%tm%-%td%n",dTime);   System.out.printf("%tF%n",dTime);    

 //输出小时(24进制)   System.out.printf("%tH%n",dTime);  

 //输出小时(12进制)   System.out.printf("%tI%n",dTime);   

//输出秒数   System.out.printf("%ts%n",dTime);   

//输出上午下午   System.out.printf("%tp%n",dTime);   

//输出星期全称   System.out.printf("%tA%n",dTime);   

//输出星期简称   System.out.printf("%ta%n",dTime);  

 //输出时间的全部信息   System.out.printf("%tc%n",dTime);

一个格式化字符串可以指示要格式化的参数的索引,索引必须紧跟在%之后,并且由$终止,例如

System.out.printf("%2$s%1$S%n","huadi","yatou");   

也可以使用<标志,表示相同的参数(与前一个参数相同)

System.out.printf("%2$s%<S%n","huadi","yatou");   

原文地址:https://www.cnblogs.com/huadiyatou/p/7087623.html