java格式化输出 printf 例子

来源:互联网 发布:折弯编程是数控吗 编辑:程序博客网 时间:2024/05/01 07:24

import java.util.Date;

/**
  *
  * 使用java.io.PrintStream的printf方法实现C风格的输出
  *
  *@说明:printf方法的第一个参数为输出的格式,第二个参数是可变长的,表示待输出的数据对象。
  */
publicclass Printf {

       publicstaticvoid main(String[] args) {

              /***输出字符串***/

              // %s表示输出字符串,也就是将后面的字符串替换模式中的%s

              System.out.printf("%s",new Integer(1212));

              // %n表示换行

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

              // 还可以支持多个参数

              System.out.printf("%s = %s%n","Name","Zhangsan");

              // %S将字符串以大写形式输出

              System.out.printf("%S = %s%n","Name","Zhangsan");

              // 支持多个参数时,可以在%s之间插入变量编号,1$表示第一个字符串,3$表示第3个字符串

              System.out.printf("%1$s = %3$s %2$s%n","Name","san", "Zhang");

     

              /***输出boolean类型***/

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

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

 

              /***输出整数类型***/

              Integer iObj = 342;

              // %d表示将整数格式化为10进制整数

              System.out.printf("%d; %d; %d%n", -500, 2343L, iObj);

              // %o表示将整数格式化为8进制整数

              System.out.printf("%o; %o; %o%n", -500, 2343L, iObj);

              // %x表示将整数格式化为16进制整数

              System.out.printf("%x; %x; %x%n", -500, 2343L, iObj);

              // %X表示将整数格式化为16进制整数,并且字母变成大写形式

              System.out.printf("%X; %X; %X%n", -500, 2343L, iObj);

             

              /***输出浮点类型***/

              Double dObj = 45.6d;

              // %e表示以科学技术法输出浮点数

              System.out.printf("%e; %e; %e%n", -756.403f, 7464.232641d, dObj);

              // %E表示以科学技术法输出浮点数,并且为大写形式           

              System.out.printf("%E; %E; %E%n", -756.403f, 7464.232641d, dObj);

              // %f表示以十进制格式化输出浮点数

              System.out.printf("%f; %f; %f%n", -756.403f, 7464.232641d, dObj);

              // 还可以限制小数点后的位数

              System.out.printf("%.1f; %.3f; %f%n", -756.403f, 7464.232641d, dObj);

             

              /***输出日期类型***/

              // %t表示格式化日期时间类型,%T是时间日期的大写形式,在%t之后用特定的字母表示不同的输出格式

              Date date = new Date();

              long dataL = date.getTime();

              // 格式化年月日

              // %t之后用y表示输出日期的年份(2位数的年,如99

              // %t之后用m表示输出日期的月份,%t之后用d表示输出日期的日号

              System.out.printf("%1$ty-%1$tm-%1$td; %2$ty-%2$tm-%2$td%n", date, dataL);

              // %t之后用Y表示输出日期的年份(4位数的年),

              // %t之后用B表示输出日期的月份的完整名, %t之后用b表示输出日期的月份的简称

              System.out.printf("%1$tY-%1$tB-%1$td; %2$tY-%2$tb-%2$td%n", date, dataL);

             

              // 以下是常见的日期组合

              // %t之后用D表示以 "%tm/%td/%ty"格式化日期

              System.out.printf("%1$tD%n", date);

              //%t之后用F表示以"%tY-%tm-%td"格式化日期

              System.out.printf("%1$tF%n", date);

             

              /***输出时间类型***/

              // 输出时分秒

              // %t之后用H表示输出时间的时(24进制),%t之后用I表示输出时间的时(12进制),

              // %t之后用M表示输出时间的分,%t之后用S表示输出时间的秒

              System.out.printf("%1$tH:%1$tM:%1$tS; %2$tI:%2$tM:%2$tS%n", date, dataL);

              // %t之后用L表示输出时间的秒中的毫秒

              System.out.printf("%1$tH:%1$tM:%1$tS %1$tL%n", date);

              // %t之后p表示输出时间的上午或下午信息

              System.out.printf("%1$tH:%1$tM:%1$tS %1$tL %1$tp%n", date);

              // 以下是常见的时间组合

              // %t之后用R表示以"%tH:%tM"格式化时间

              System.out.printf("%1$tR%n", date);

              // %t之后用T表示以"%tH:%tM:%tS"格式化时间

              System.out.printf("%1$tT%n", date);

              // %t之后用r表示以"%tI:%tM:%tS %Tp"格式化时间

              System.out.printf("%1$tr%n", date);

             

              /***输出星期***/

              // %t之后用A表示得到星期几的全称

              System.out.printf("%1$tF %1$tA%n", date);

              // %t之后用a表示得到星期几的简称

              System.out.printf("%1$tF %1$ta%n", date);

             

              // 输出时间日期的完整信息

              System.out.printf("%1$tc%n", date);

       }

}

/**

 *printf方法中,格式为"%s"表示以字符串的形式输出第二个可变长参数的第一个参数值;

 *格式为"%n"表示换行;格式为"%S"表示将字符串以大写形式输出;"%s"之间用"n$"表示

 *输出可变长参数的第n个参数值.格式为"%b"表示以布尔值的形式输出第二个可变长参数

 *的第一个参数值.

 */

/**

 *格式为"%d"表示以十进制整数形式输出;"%o"表示以八进制形式输出;"%x"表示以十六进制

 *输出;"%X"表示以十六进制输出,并且将字母(ABCDEF)换成大写.格式为"%e"

 *以科学计数法输出浮点数;格式为"%E"表示以科学计数法输出浮点数,而且将e大写;格式为

 *"%f"表示以十进制浮点数输出,"%f"之间加上".n"表示输出时保留小数点后面n.

 */

/**

 *格式为"%t"表示输出时间日期类型."%t"之后用y表示输出日期的二位数的年份(99)、用m

 *表示输出日期的月份,d表示输出日期的日号;"%t"之后用Y表示输出日期的四位数的年份

 *(1999)、用B表示输出日期的月份的完整名,b表示输出日期的月份的简称."%t"之后用D

 *表示以"%tm/%td/%ty"的格式输出日期、用F表示以"%tY-%tm-%td"的格式输出日期.

 */

/**

 *"%t"之后用H表示输出时间的时(24进制),I表示输出时间的时(12进制),M表示输出时间

 *,S表示输出时间的秒,L表示输出时间的秒中的毫秒数、用P表示输出时间的是上午还是

 *下午."%t"之后用R表示以"%tH:%tM"的格式输出时间、用T表示以"%tH:%tM:%tS"的格式输出

 *时间、用r表示以"%tI:%tM:%tS%Tp"的格式输出时间.

 */

/**

 *"%t"之后用A表示输出日期的全称,a表示输出日期的星期简称.

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 机械表机芯坏了怎么办 银镀玫瑰金褪色怎么办 苹果七p玫瑰金掉漆怎么办 美度镀金表掉色怎么办 吃了发黑的香菇怎么办 脸上的皮肤暗黄怎么办 吃了变黑的香菇怎么办 怀孕喝了玫瑰茶怎么办 孕妇爱喝茉莉茶怎么办 干菊花生虫了该怎么办 黑枸杞放了两年怎么办 来大姨妈喝茶了怎么办 干柠檬片过期了怎么办 山地玫瑰根黑了怎么办 带18k的金过敏怎么办 18k钻戒断了怎么办 18k钻戒戒托变色怎么办 苹果七中间按键脱漆怎么办 苹果手机屏幕边缘掉漆了怎么办 十八k白金变色了怎么办 手机后面掉漆了怎么办 玫瑰金戒指刮花了怎么办 玫瑰金手镯刮花了怎么办 玫瑰金链子断了怎么办 dw玫瑰金掉色了怎么办 6s玫瑰金氧化了怎么办 书本湿的很严重怎么办 除湿盒的水满了怎么办 书被水泡变黄了怎么办 文件纸被弄皱了怎么办 纸的一角皱了怎么办 裤子被雨水打湿变色了怎么办 书本上粘了有油怎么办 手被水泡了皱了怎么办 水泡破了感染了怎么办 夏天腋下出汗会弄湿衣服怎么办 夏天腋下出汗多弄湿衣服怎么办 上眼皮干燥起皮怎么办 怀孕下面湿又痒怎么办 内裤穿久了有异味怎么办 刨腹产私处捂烂了怎么办