`
李灵晖-raylee
  • 浏览: 135654 次
博客专栏
Group-logo
从头认识java
浏览量:0
文章分类
社区版块
存档分类
最新评论

从头认识java-11.3 格式化输出(2)

 
阅读更多

接着上一章节的内容,这一章节主要讲述格式化说明符以及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的类型转换。


这一章节就到这里,谢谢。

-----------------------------------

目录



分享到:
评论

相关推荐

    mchange-commons-java-0.2.11.zip

    在Java开发中,这样的库可以极大地提高开发效率,因为它封装了常见的功能,开发者可以直接使用,而无需从头编写代码。 描述中的 "mchange-commons-java-0.2.11.jar包" 是该库的主要组成部分,是一个Java归档(JAR)...

    eclipse-java-2021-12-R-win32-x86_64.zip

    用户可以轻松地导入现有的Java项目,或者从头开始创建新的项目,包括Maven或Gradle构建系统。 3. **构建工具**:Eclipse 集成了构建工具,如Ant和Maven,使得构建和管理项目依赖变得简单。对于现代Java开发,Maven...

    api-ntrip-java-client-master.zip_android_ntrip_ntrip java实现_ntr

    - **JSON或XML解析**:NTRIP数据可能以这两种格式传输,需要解析成Java对象。 - **Android权限管理**:可能需要获取网络访问权限。 - **线程管理**:网络操作通常在后台线程执行,防止UI阻塞。 - **异步处理**:如...

    aip-java-sdk-4.2.0

    它的存在意味着AIP Java SDK可能使用Log4j来输出调试信息和错误日志。 2. **aip-java-sdk-4.2.0.jar**:这是核心的AIP Java SDK库文件,包含了所有用于与百度AI平台交互的类和方法。开发者需要引入这个jar文件到...

    手把手 - 微服务 Windows 开发环境从头搭建 2022-09-05 直播录像 - 软件安装包-2.zip

    【标题】: "手把手 - 微服务 Windows 开发环境从头搭建 2022-09-05 直播录像 - 软件安装包-2.zip" 这个压缩包文件包含了搭建微服务开发环境所需的基础软件,包括JDK(Java Development Kit)和MySQL数据库。...

    aspose-words-java-23.6-jdk17.jar.zip

    Aspose.Words 是一个强大的文档处理库,专为Java开发者设计,用于创建、操作和转换各种文档格式。版本23.6是这个库的一个重要更新,它引入了对Java Development Kit (JDK) 17的支持。这意味着开发人员现在可以利用...

    java-Swing外观包

    Java Swing是Java GUI(图形用户界面)开发的一个重要组件,它是Java Foundation Classes (JFC)的一部分,用于构建桌面应用程序。Swing提供了丰富的组件库,允许开发者创建美观且功能丰富的交互式用户界面。在这个...

    java-多文件上传dome

    在Java编程中,多文件...通过这个"java-多文件上传dome"工具包,你可以快速实现上述功能,无需从头编写所有代码。不过,记得在实际项目中,除了功能实现,还要关注性能、安全性和可维护性,确保应用程序的稳定运行。

    Free Spire.Doc for Java - 3.9 无水印

    2. **编辑现有文档**:能够打开和修改现有的DOC或DOCX文件,进行内容替换、格式调整、页面布局改变等操作。 3. **格式转换**:支持将Word文档转换为其他格式,如PDF、HTML、Text、RTF、EPUB等,方便在不同平台和...

    java-sdk-master.zip_leancound集成第三方插件_即时通讯

    Java SDK是许多软件开发中的重要组成部分,特别是在与服务器端交互时。在这个名为"java-sdk-master.zip"的压缩包中,包含的是Leancound的Java SDK,这是一个专为集成Leancound服务而设计的开发工具包。Leancound是...

    ks-java-lib:包含 Java 的 KS 库

    6. 时间日期处理:简化日期和时间的计算和格式化,提供易用的 API。 7. 文件操作:简化文件读写和文件系统交互,提供文件上传下载等功能。 8. 安全加密:提供加密解密算法,保护敏感信息的安全。 9. 配置管理:提供...

    java-pdf&word-jar.zip

    首先,`Spire.Doc.jar`是Spire.Doc for Java的库文件,它是一个强大的Java文档处理工具,允许开发者创建、编辑、读取和转换Microsoft Word文档(.doc和.docx格式)。通过Spire.Doc,你可以执行以下操作: 1. 创建新...

    Java---笔试题大全

    2. **String类型**:String不是Java的基本数据类型,而是对象。基本数据类型包括byte、int、char等。String是final类,不能被继承。在效率和内存管理上,如果需要频繁修改字符串,应使用`StringBuilder`或`...

    java-lib

    2. **数据库操作**:JDBC(Java Database Connectivity)是Java标准的数据库连接库,允许程序与各种类型的数据库进行交互。除此之外,还有像Hibernate和MyBatis这样的对象关系映射(ORM)框架,它们简化了SQL查询,...

    curso-java-pildorasInf:从头开始学习Java

    【标题】:“curso-java-pildorasInf:从头开始学习Java” 这门“从头开始学习Java”的课程,源自"PillsInformática"的教育资源,旨在为初学者提供全面的Java编程知识。Java是一种广泛使用的面向对象的编程语言,由...

    使用渲染脚本实现模糊视图背景 - Java - 下载.zip

    2. **示例应用**:可能包含一个简单的Java应用,演示如何使用库来创建模糊视图背景,这对于开发者理解和学习如何使用库非常有帮助。 3. **文档**:可能有README文件或其他形式的文档,解释库的用法、安装步骤、依赖...

    aspose.words11.3和13.2

    - 文档创建:Aspose.Words支持从头创建Word文档,包括文本、段落、表格、图片、页眉和页脚等元素。 - 文档读取和编辑:可以加载现有的DOC、DOCX、RTF等格式的文件,并进行编辑操作,如替换文本、修改样式、调整...

    Java-Desktop-Toolkit.rar_Genesys Desktop_软电话

    通过这个Java Desktop Toolkit,开发者可以利用Java的强大功能和跨平台性,为Genesys系统构建定制化的软电话解决方案,满足不同企业的具体需求。这不仅提升了开发效率,还保证了与Genesys系统的兼容性和稳定性。在...

Global site tag (gtag.js) - Google Analytics