
System.out的print和println方法可以将不同类型的数据输出到控制台,这可以满足程序调试信息的输出要求. 在实际应用中,在输出数据时,必须以某种格式输出数据,例如数据精度要求,小数点后保留2位有效数字,以指定格式输出日期以及以a格式输出数据. 桌子.
System.out的printf方法可以格式化和输出数据. 在Java API文档中声明了printf方法,如下所示:
void printf(字符串格式,对象... args)
使用指定的格式字符串和参数将格式化字符串写入此输出流的便捷方法.
中文注释: 使用指定的格式字符串和传入参数将格式化字符串输出到输出流(输出设备)的便捷方法
传入参数
字符串格式
字符串类型,符合格式字符串语法说明的字符串
对象...参数
格式说明符在格式字符串中引用的参数. 参数的数量是可变的,可以为零. 参数的最大数量受Java™虚拟机规范定义的Java数组的最大尺寸限制.
示例1: 简单格式输出的示例
在驱动器D的Java目录中创建一个新的“ PrintfSample.java”文件. 使用记事本打开“ PrintfSample.java”文件并输入以下代码:

代码结构分析
该程序的主要功能是演示println方法与printf输出双精度浮点数之间的区别. 当println方法输出双精度浮点数时,不能控制有效小数位数的输出. printf方法可以控制有效小数位数的输出.
程序为方法,语句和变量的特定描述添加了块注释语句,从而提高了程序代码的可读性和可维护性. 块注释中的解释性说明包含在“ /*......*/”中,并且解释性说明的每一行均以“ *”开头.
printf的第一个参数“%s: %. 2f”是格式字符串,其中“%s”表示输出字符串,字符串的内容取自格式字符串“%”后面的参数列表.2f“表示浮点数的输出,限制为2个有效小数,在”%. “之后更改数字,您可以限制不同小数位的输出,浮点值取自后面的参数列表格式字符串. 参数列表的顺序应与格式字符串和数据类型的格式说明符的顺序一致.
编译“ PrintfSample.java”文件,在命令行窗口中输入“ javac PrintfSample.java”并执行命令. 编译完成后,在命令行窗口中输入“ java PrintfSample”以运行Java程序. 命令行窗口显示以下信息:
图5-8简单格式化输出执行结果
从运行结果可以看出,printf方法可以控制浮点小数位的输出.
printf方法的常见格式说明符列表
%c单字符
%d个十进制整数

%f个十进制浮点数
%o八进制数字
%s字符串
%u无符号十进制数字
%x十六进制数
%%输出百分比符号%
printf的通用格式控制:
%0m.n个格式字符
以下是格式说明的每个组成部分的说明:
①%%格式描述的开始符号是必不可少的.
②0 0表示指定的间隙被0填充. 如果省略,则表示指定的间隙未被填充.
③m.n m是指字段宽度,即相应的输出项在输出设备上占据的字符数. n表示准确性. 用于描述输出实数的小数位数. 指定n时,隐式精度为n = 6位数.

示例2: 格式化输出的示例
在驱动器D的Java目录中创建一个新的“ PrintfSample2.java”文件. 使用记事本打开“ PrintfSample2.java”文件并输入以下代码:
代码结构分析
程序的主要功能是演示printf的格式化输出,分别格式化输出字符串,浮点数和字符数据.
程序的变量命名采用匈牙利语命名法. 匈牙利命名法是编程过程中的命名约定. 匈牙利术语的基本原理是,每个变量的名称必须具有明确的含义,并指定变量的类型. 前缀字母来标识. 例如: ch表示字符数据,sz表示字符串类型,d表示双精度浮点数,等等.
在“ System.out.printf(“ **%s ** \ n”,szTemp);“中语句,“” **%s ** \ n“”是格式字符串,%s表示输出String,字符串的内容来自szTemp,%s前后的**是字符串的内容,被输出,您想要输出的任何内容都可以添加到格式字符串中. \ n是换行符java中printf输出格式,下次输出时将开始换行
在“ System.out.printf(”%s: %09.2f \ n“,”输出浮点变量“,dTemp);”语句,第一个%s的内容位于格式字符串之后. 第一个字符串参数“输出浮点变量”java中printf输出格式,%09.2f表示输出9位浮点数,如果没有足够的位数,则保留2个有效小数数字,前面用0填充,浮点值的内容来自dTemp.
这句话也可以改写成下面的句子,效果是等同的:
System.out.printf(“输出浮点变量: %09.2f \ n”,dTemp);
在输出字符变量语句中,应用%c,%d和%x来根据字符,十进制值和十六进制值输出字符变量,其中“(int)”将强制转换字符类型这是一个int类型运算符,其含义是强制将字符转换为数字输出.
编译“ PrintfSample2.java”文件,在命令行窗口中输入“ javac PrintfSample2.java”并执行命令. 编译完成后,在命令行窗口中输入“ java PrintfSample2”以运行Java程序. 命令行窗口显示以下信息:

图5-9示例2格式化的输出执行结果
从上面的输出可以看出,格式化输出方法printf可以以程序指定的格式输出数据.
printf方法的第一个参数的格式字符串包括两部分: 一部分是普通字符,这些字符将照原样输出;另一部分是格式化的规定字符,以%开头,后跟一个或几个规定的字符,用于确定输出内容格式. printf方法的第二个参数是参数表. 参数表是需要输出的一系列参数. 参数的数量必须与格式字符串指定的输出参数的数量一样多. 参数之间用“,”分隔,并且顺序必须是的,否则会发生意外错误.
编写一个程序以使用printf方法输出购物票. 有关输出格式,请参考以下样式. 商品金额的值必须为5位数字. 如果该数字少于5位,则前面填充0,并保留2个有效的小数.
***购物票***
产品名称: 办公用品
金额: 189.90元
付款方式: 00200元
更改: 0010.1元
本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/ruanjian/article-256189-1.html
树欲静而风不止