目录

Java之格式化字符串及格式化输出详解

Java之格式化字符串及格式化输出详解

Java之格式化字符串及格式化输出详解:


格式化输出:

Java 5 引入了与C语言的 printf函数 风格类似的 format方法printf方法 ,这两个方法可用于 java.io.PrintStreamjava.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文档,如下图:

https://i-blog.csdnimg.cn/blog_migrate/c61b4ada2816ea6b0059ff00626b39df.png

(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。