从头认识java-11.3 格式化输出(2)
来源:互联网 发布:西安天互数据业绩 编辑:程序博客网 时间:2024/04/29 00:31
接着上一章节的内容,这一章节主要讲述格式化说明符以及Formatter的类型转换。
1.格式化说明符
%[argument_index$][flags][width][.precision]conversion可选的 argument_index 是一个十进制整数,用于表明参数在参数列表中的位置。第一个参数由 "1$" 引用,第二个参数由 "2$" 引用,依此类推。
可选的 flags 是修改输出格式的字符集。有效标志的集合取决于转换类型。
可选 width 是一个非负十进制整数,表明要向输出中写入的最少字符数。
可选 precision 是一个非负十进制整数,通常用来限制字符数。特定行为取决于转换类型。
所需的 conversion 是一个表明应该如何格式化参数的字符。给定参数的有效转换集合取决于参数的数据类型。
例子:
package com.ray.ch11;import java.util.Formatter;public class Test {private Formatter formatter = new Formatter(System.out);// 这里需要定义输出的地方private double total = 0;public void showTitle() {formatter.format("%-15s %5s %10s\n", "Item", "Qty", "Price");formatter.format("%-15s %5s %10s\n", "----", "---", "-----");}public void showContent(String item, int qty, double price) {formatter.format("%-15.15s %5d %10.2f\n", item, qty, price);total += price;}public void showTotal() {formatter.format("%-15s %5s %10.2f\n", "Tax", "", total * 0.17);formatter.format("%-15s %5s %10s\n", "----", "---", "-----");formatter.format("%-15s %5s %10.2f\n", "Total", "", total * 1.17);}public static void main(String[] args) {Test test = new Test();test.showTitle();test.showContent("aaaaaaaaa", 1, 1.3);test.showContent("bbbbbb", 2, 3.3);test.showContent("ttttttttttt", 4, 7.2);test.showTotal();}}
输出:
Item Qty Price
---- --- -----
aaaaaaaaa 1 1.30
bbbbbb 2 3.30
ttttttttttt 4 7.20
Tax 2.01
---- --- -----
Total 13.81
粘贴过来的输出有些问题,请大家手动运行一下代码,使用格式化输出,对空格与对齐具有强大的支持。
2.Formatter的类型转换
package com.ray.ch11;import java.util.Formatter;public class Test {private Formatter formatter = new Formatter(System.out);// 这里需要定义输出的地方public void show() {char a = 'a';formatter.format("%c\n", a);formatter.format("%s\n", a);formatter.format("%b\n", a);//formatter.format("%d\n", a);// error//formatter.format("%f\n", a);// error//formatter.format("%h\n", a);// error}public static void main(String[] args) {Test test = new Test();test.show();}}
输出:
a
a
true
从上面的代码可以看出,使用Formatter可以改变原来的类型,当然,这个必须是在java能够转换的前提下,就像上面注释的那些代码,如果运行起来,将会抛异常。
总结:这一章节主要讲述格式化说明符以及Formatter的类型转换。
这一章节就到这里,谢谢。
-----------------------------------
目录
- 从头认识java-11.3 格式化输出(2)
- 从头认识java-11.3 格式化输出(1)
- 从头认识java-1.5 继承(2)
- 从头认识java-6.2 继承(Generalization)(2)
- 从头认识java-1.8 创建和操纵对象(2)
- 从头认识java-4.7 构造器初始化(2)
- 从头认识java-6.6 final(2)-属性域
- 从头认识java-11.4 正则表达式(2)-基本语法
- 从头认识java-1.5 继承(1)
- 从头认识java-5.2 包(package)
- 从头认识java-6.1 聚合(aggregation)
- 从头认识java-9.8 栈(Stack)
- 从头认识java-15.6 队列(Queue)
- 从头认识java-目录
- 从头认识java-1.6 多态
- 从头认识java-4.4 this
- 从头认识java-7.2 接口
- 从头认识java-9.7 LinkedList
- Android之ProgressBar进度条使用
- initWithFrame调用
- Oracle笔记
- 优惠券需求描述与分析
- 用心+用新,newifi新路由演绎品牌新公式
- 从头认识java-11.3 格式化输出(2)
- MySQL性能优化
- Cmake+vs2013 配置生成source文件——superviseddescend method(SDM)
- D3.js学习笔记七:多系列折线图与图例
- 创建自己的 Core Data Stack
- Selenium+TestNG+ReportNG Demo
- eclipse localhost-config The configuration may be corrupt or incomplete
- 10 条提升 Android 性能的建议
- select按钮的反馈和改变字体的颜色