字符串(三)--来自《Java编程思想第四版》第13章
2016-03-01 14:17
363 查看
format()和printf()是等价的。它们只需要一个简单的格式化字符串,加上一串参数即可,每个参数对应一个格式修饰符。
%d表示x是一个整数,%f表示y是一个浮点数(float或者double)
Formatter类
可以将Formatter看作一个翻译器,它将你的格式化字符串与数据翻译成需要的结果。当你创建一个Formatter对象的时候,需要向其构造器传递一些信息,告诉它最终的结果将向哪里输出。
%s表示插入的参数是String类型的。
precision:指明最大尺寸。应用于String时,表示打印String时输出字符的最大数量。
应用于浮点数时,它表示小数部分要显示出来的位数。
如果你对整数应用precision,则会触发异常。
c:Unicode字符
b:Boolean值
s:String
f:浮点数(十进制)
e:浮点数(科学计数)
x:整数(十六进制)
h:散列码(十六进制)
%:字符“%”
String.format()是一个static方法,它接受与Formatter.format()方法一样的参数,但返回一个String对象。当只需使用format()方法一次的时候,String.format()用起来很方便。
int x = 5; double y = 23.16; System.out.format("Row 1:[%d %f]\n",x,y); System.out.printf("Row 1:[%d %f]\n",x,y);
%d表示x是一个整数,%f表示y是一个浮点数(float或者double)
运行结果: Row 1:[5 23.160000] Row 1:[5 23.160000]
Formatter类
可以将Formatter看作一个翻译器,它将你的格式化字符串与数据翻译成需要的结果。当你创建一个Formatter对象的时候,需要向其构造器传递一些信息,告诉它最终的结果将向哪里输出。
private Formatter f; f.format("%s I LOVE THE NUMBER %d,%d",name,x,y);//name,x,y都是变量
%s表示插入的参数是String类型的。
如果想要控制空格与对齐,则需要更精细复杂的格式修饰符
%[argument_index$][flags][width][.precision]conversion
width:控制一个域的最小尺寸。默认情况下,数据是右对齐,不过可以使用“-”标志来改变对齐方向。precision:指明最大尺寸。应用于String时,表示打印String时输出字符的最大数量。
应用于浮点数时,它表示小数部分要显示出来的位数。
如果你对整数应用precision,则会触发异常。
private Formatter f = new Formatter(System.out); f.format("%-15s %5s %10s\n","Item","Qty","Price");
最常用的类型转换:
d:整数型(十进制)c:Unicode字符
b:Boolean值
s:String
f:浮点数(十进制)
e:浮点数(科学计数)
x:整数(十六进制)
h:散列码(十六进制)
%:字符“%”
String.format()是一个static方法,它接受与Formatter.format()方法一样的参数,但返回一个String对象。当只需使用format()方法一次的时候,String.format()用起来很方便。
相关文章推荐
- java对世界各个时区(TimeZone)的通用转换处理方法(转载)
- java-注解annotation
- java-模拟tomcat服务器
- java-用HttpURLConnection发送Http请求.
- java-WEB中的监听器Lisener
- Android IPC进程间通讯机制
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- 介绍一款信息管理系统的开源框架---jeecg
- 聚类算法之kmeans算法java版本
- java实现 PageRank算法
- PropertyChangeListener简单理解
- c++11 + SDL2 + ffmpeg +OpenAL + java = Android播放器
- 插入排序
- 冒泡排序
- 堆排序
- 快速排序
- 二叉查找树