java格式化输出

从JDK 1.5版本以后,java.io.PrintWriter类中有以下格式化输出方法:


PrintWriter format(Locale l, String format, Object… args)
PrintWriter format(String format, Object… args)
PrintWriter printf(Locale l, String format, Object… args)
PrintWriter printf(String format, Object… args)


以下是JDK文档的说明:


使用指定格式字符串和参数将一个格式化字符串写入此 writer 中。如果启用自动刷新,则调用此方法将刷新输出缓冲区。


【参数】:


l – 格式化过程中应用的 locale。如果 l 为 null,则不应用本地化。
format – 在格式字符串的语法中描述的格式字符串。
args – 格式字符串中的格式说明符引用的参数。如果参数多于格式说明符,则忽略额外的参数。参数的数量是可变的,并且可以为零。参数的最大数量受到 Java Virtual Machine Specification 定义的 Java 数组的最大维数的限制。针对 null 参数的行为依赖于 conversion。
【注】:format(String format, Object… args) 与printf(String format, Object… args)始终使用的语言环境是由 Locale.getDefault() 返回的语言环境,不管以前在此对象上调用了其他什么样的格式化方法。
【抛出】:


IllegalFormatException – 如果格式字符串包含非法语法、与给定参数不兼容的格式说明符、对给定格式字符串而言不够充足的参数或其他非法条件。有关所有可能的格式错误的规范,请参阅 formatter 类规范的详细信息部分。
NullPointerException – 如果 format 为 null
以上四个方法中两对相应的调用方法和效果完全相同。


 


字符串:


%s表示输出字符串;
%S将字符串以大写形式输出;
 


boolean类型:


%b输出boolean类型,false和null的值为false,其余好像都是true(包括数字0和字符串“false”);
%B输出大写的boolean类型TRUE和FALSE。
 


整数类型:


%d表示将整数格式化为10进制整数,%-d输出带符号位的10进制数;
%o表示将整数格式化为8进制整数;
%x表示将整数格式化为16进制整数;
%X表示将整数格式化为16进制整数,并且字母变成大写形式;
【注意】以上只有%-d的带符号格式,没有%+d、%+o、%-o等形式,只可转换整数类型(Integer:byte, short, int, long)。
 


浮点类型:


%f表示以十进制格式化输出浮点数
%.3f表示以十进制格式化输出浮点数,不足末尾补0;
%e表示以科学技术法输出浮点数
%E表示以科学技术法输出浮点数,并且为大写形式,如-1.5E+03;
【注意】以上都有形如%+f的形式输出带符号的浮点数值,但是没有%-f的类型,只可转换浮点类型(Floating:float,double)。
 


日期类型:


%t或%T之后用c(%tc)表示输出时间日期的完整信息;
%t或%T之后用y(%ty)表示输出日期的年份(2位数的年,如12);
%t或%T之后用Y(%tY)表示输出日期的年份(4位数的年,如2012);
%t或%T之后用m(%tm)表示输出日期的月份;
%t或%T之后用M(%tM)表示输出日期的分钟;
%t或%T之后用d(%td)表示输出日期的日号;
%t或%T之后用H表示输出时间的时(24进制);
%t或%T之后用I表示输出时间的时(12进制);
%t或%T之后用M表示输出时间的分;
%t或%T之后用S表示输出时间的秒;
%t或%T之后用L表示输出时间的秒中的毫秒;
%t或%T之后p表示输出时间的上午或下午信息;
%t或%T之后用A表示得到星期几的全称;
%t或%T之后用a表示得到星期几的简称;
%t或%T之后用D表示以 “%tm/%td/%ty”格式化日期;
%t或%T之后用F表示以”%tY-%tm-%td”格式化日期;
%t或%T之后用R表示以”%tH:%tM”格式化时间;
%t或%T之后用T表示以”%tH:%tM:%tS”格式化时间;
%t或%T之后用r表示以”%tI:%tM:%tS %Tp”格式化时间;
【注意】以上不可添加符号位(+、-)。
 


换行:


%n表示换行。
 


指定长度值输出:


在格式中间添加数字指定值的输出长度,长用于对齐输出。如 s表示输出长度为20的字符串,不足在前面补空格,%-20d表示输出长度为20的整形数字,不足在后面补空格,没有%+20d的格式。


 


指定第几个参数:


多个参数时,可以在格式中间插入变量编号,如%1$s表示第一个字符串,%3$s表示第3个字符串。
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值