Logo

郎哥编程

字符串的格式化

2019-12-10 1009

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

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

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

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

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

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

案例1:format方法的应用。

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

/** 
* @Title: StringFormatSample.java 
* @Package unit 
* @Description: Java基础知识课程案例
* @author 编程训练营 
* @date  
* @version V1.0 
*/ 
 
package unit;
 
/** 
* @ClassName: StringFormatSample 
* @Description: 字符串(字符串的格式化)案例1
* @author 编程训练营
* @date  
* 
*/
 
public class StringFormatSample {
 
    /** 
    * @Title: main 
    * @Description:Java程序入口main方法
    * @param @param args    参数 
   
    * @return void    返回类型 
    * @throws 
    */
 
    public static void main(String[] args) {
       /**
        * 创建字符串对象
        */
       String szTemp = "格式化输出演示";
       /**
        * 声明双精度浮点变量并赋值,
        */
       double dTemp = 129.6789603;
 
       /**
        * 声明字符型变量并赋值,
        */
       char chTemp = 'a';
      
       /**
        * 创建字符串对象
        */
      
       String  str = "";
       // 用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类型操作符,其意义是将字符强制转换为数值输出。

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

image.png


代码在线纠错(通义千问 qwen-max)

支持粘贴多个代码文件,提交后由阿里云通义千问自动分析代码漏洞、语法错误、逻辑问题并给出修改建议。
您已解锁 AI 代码纠错功能,可正常使用!

评论区

登录 后发表评论
暂无评论