竹笋

注册

 

发新话题 回复该主题

String类的格式化处理米粒教育 [复制链接]

1#

在编写程序时,有时需要对字符串进行格式化输出。String类的format()方法可以对字符串进行格式化。

调用format()方法的语法如下:

String.format(Stringformat,Object...args)

format()方法是String类的静态方法,调用该方法可以直接使用String类名来调用,不需要创建String对象后再调用。

format是格式化串,是符合格式字符串语法描述的字符串。args是格式化串中格式说明符引用的参数,参数的数量是可变的,可以为零。

format格式化串和args可变参数的应用请参考第8单元的《格式化输出》一课内容。

案例1:format方法的应用。

在PbaseUnit11项目unit包下创建StringFormatSample类。代码如下:

/**

*

Title:StringFormatSample.java

*

Packageunit

*

Description:Java基础知识课程案例

*

author编程训练营

*

date

*

versionV1.0

*/

packageunit;

/**

*

ClassName:StringFormatSample

*

Description:字符串(字符串的格式化)案例1

*

author编程训练营

*

date

*

*/

publicclassStringFormatSample{

/**

*

Title:main

*

Description:Java程序入口main方法

*

param

paramargs参数

*

returnvoid返回类型

*

throws

*/

publicstaticvoidmain(String[]args){

/**

*创建字符串对象

*/

StringszTemp=格式化输出演示;

/**

*声明双精度浮点变量并赋值,

*/

doubledTemp=.;

/**

*声明字符型变量并赋值,

*/

charchTemp=a;

/**

*创建字符串对象

*/

Stringstr=;

//用format方法格式化szTemp,字符串前后分别填充2个*字符

str=String.format(**%s**\n,szTemp);

System.out.println(str);

//用format方法格式化dTemp,位数宽度为9,保留2为有效小数,空位用0填充

str=String.format(%s:%09.2f\n,输出浮点型变量,dTemp);

System.out.println(str);

//用format方法格式化chTemp,分别输出字符、十进制、十六进制

str=String.format(%s:%c:\n十进制:%d:\n十六进制:%x\n,输出字符型变量,chTemp,(int)chTemp,(int)chTemp);

System.out.println(str);

}

}

程序结构分析

在“String.format(**%s**\n,szTemp);”语句中,“”**%s**\n”是格式字符串,%s表示输出字符串,字符串的内容来自szTemp,%s前面和后面的**是要输出的字符串内容,格式字符串里面可以添加任何想要输出的内容。\n是换行符,下次输出时将会另起一行。

在“String.format(%s:%09.2f\n,输出浮点型变量,dTemp);”语句中,第一个%s的内容来自于格式字符串后面的第一个字符串参数“输出浮点型变量”,%09.2f表示输出9位数浮点数,保留2位有效小数,位数不足的,前面用0填充,浮点数值内容来自于dTemp。

该语句也可以改写为下面的语句,效果是等同的:

System.out.printf(输出浮点型变量:%09.2f\n,dTemp);

在格式化字符型变量语句中,分别应用%c、%d和%x将字符型变量按照字符、十进制数值和十六进制数值格式化,其中“(int)”是将字符类型强制转换为int类型操作符,其意义是将字符强制转换为数值输出。

程序执行结果如下图所示:

分享 转发
TOP
发新话题 回复该主题