Java之格式化字符串及格式化输出详解
Java之格式化字符串及格式化输出详解
Java之格式化字符串及格式化输出详解:
格式化输出:
Java 5
引入了与C语言的printf函数
风格类似的format方法
和printf方法
,这两个方法可用于java.io.PrintStream
和java.io.PrintWriter
对象,System.out对象的类型是PrintStream,于是对应C语言的printf函数的Java版本就有了:System.out.printf(“书名:%s,定价:%f%n” , title , price);
双括号括起来的字符串就是格式化字符串。
%s
,%f
以及%n
是占位符,称为格式说明符
,它们不但说明了插入数据的位置,还说明了将插入什么类型的数据,以及如何对其格式化。
格式说明符:
语法为:
%[argument_index$][flags][width][.precision]conversion
方括号表示改部分是可选的:
argument_index
是参数索引;
flags
是一组修改输出格式的字符;
width
是一个正十进制整数,表示要写入输出的最小字符数;
precision
代表精度,通常用于限制字符数。精度在点号(.)后面给出;
conversion
是格式说明字符.
格式化字符串:
String类的静态format方法用于 创建格式化的字符串 以及连接多个字符串对象。这里和C语言中的sprintf()方法区别比较,两者有相似之处。format()方法有两种重载方法。具体可以查看Java的API文档,如下图:
(1)、format(String format , Object…args)
该方法使用指定的格式字符串和参数返回一个格式化字符串, 格式化后的新字符串使用本地默认的语言环境。
语法如下:
str.format(String format,Object...args)
format :格式字符串。
args :格式字符串中由格式说明符引用的参数。如果还有格式说明符以外的参数,则忽略这些额外的参数。此参数的数目是可变的,可以为0。
(2)、format(Local l,String format,Object…args)
l : 格式化过程中要应用的语言环境。如果l为null,则不进行本地化。
format : 格式化字符串。
args : 格式化字符串中由格式说明说明符引用的参数。如果还有格式说明符以外的参数,则忽略这些额外的参数。此参数的数目是可变的,可以为0。