Java开发笔记(三十五)字符串格式化

前面介绍了字符串变量的四种赋值方式,对于简单的赋值来说完全够用了,即便是两个字符串拼接,也只需通过加号把两个目标串连起来即可。但对于复杂的赋值来说就麻烦了,假设现在需要拼接一个很长的字符串,字符串内部包含了各种类型的变量,有整型,有双精度型,有布尔型,有字符型,中间还夹杂着一些起粘合作用的子串,如此一来只能使劲地填写加号,把各种变量努力加加加加上去,就像有时打印日志调用System.out.println就非常痛苦,加号多到让你眼花缭乱。
为了不让加号如此横行霸道,String类型从Java5开始,额外提供了format方法对填入字符串的各种变量进行格式化。具体地说,是在一个模板字符串中填写类似“%s”、“%d”、“%f”这样的记号先占几个位置,然后给format方法的输入参数分别指定对应位置的变量名称,表示这些变量值依次替换模板中的“%s”、“%d”、“%f”等等记号。以上模板串用到的占位记号也叫做格式转换符,分别说明如下:
%s : 这是字符串的占位记号,可原样展示字符串如"Hello"。
%c : 这是字符的占位记号,可原样展示字符如’A’。
%b : 这是布尔值的占位记号,可原样展示true或者false。
%d : 这是十进制整数(含字节型、短整型、整型、长整型)的占位记号,可原样展示十进制数如255。
%o : 这是八进制整数的占位记号,填写十进制数,格式化后会转换成八进制数。例如,输入整数255会输出八进制数377。
%x : 这是十六进制整数的占位记号,填写十进制数,格式化后会转换成十六进制数。例如,输入整数255会输出十六进制数ff。
%f : 这是浮点数的占位记号,格式化后会转换成七位小数(整数部分与小数部分加起来)。
下面是利用format方法格式化单个变量值与多个变量值的代码例子:

// 往字符串填入另一个字符串
String fromString = String.format("格式化子串的字符串:%s", "Hello");
System.out.println("fromString="+fromString);
// 往字符串填入字符
String fromChar = String.format("格式化字符的字符串:%s", 'A');
System.out.println("fromChar="+fromChar);
// 往字符串填入布尔值
String fromBoolean = String.format("格式化布尔值的字符串:%b", false);
System.out.println("fromBoolean="+fromBoolean);
// 往字符串填入十进制整数
String fromInt = String.format("格式化整型数的字符串:%d", 255);
System.out.println("fromInt="+fromInt);
// 往字符串填入十六进制数
String fromOct = String.format("格式化十六进制数的字符串:%o", 255);
System.out.println("fromOct="+fromOct);
// 往字符串填入八进制数
String fromHex = String.format("格式化八进制数的字符串:%x", 255);
System.out.println("fromHex="+fromHex);
// 往字符串填入浮点数
String fromFloat = String.format("格式化浮点数的字符串:%f", 3.14);
System.out.println("fromFloat="+fromFloat);
// 格式化字符串的时候,同时填充多个变量
String manyVariable = String.format("以下字符串包括了多个变量值:%s,%c,%b,%d,%o,%x,
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值