携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第18天,点击查看活动详情
1️⃣前言
今天笔记的内容是:
- 有关Java字符串的格式化输出
2️⃣内容
printf()概述
java沿用了C中的printf方法,使得java也能进行格式化输出。举个例子:
double data = 123.45678;
System.out.printf("%7.2f", data); //=> 123.46
在上述例子中,调用了System.out.printf方法,"%7.2f表示数据以7个字符的宽度输出,并且小数点后为2位精度。
下面是各类用于printf参数中的格式转换说明符的简单记录:
%d:十进制整数%s:字符串%f:定点浮点数%x:十六进制整数%e:指数浮点数%o:八进制整数%c:字符%b:布尔%h:散列码%tx:日期时间%g:通用浮点数%a:十六进制浮点数%n:与平台有关的行分割符
需要注意,该方法可以设置多个参数。举个例子:
String name = "Jack";
int age = 19;
System.out.printf("Hello, my name is %s. I'm %d years old.", name, age);
输出结果:Hello, my name is Jack. I'm 19 years old.
格式化输出日期时间
对于Date类,我们可以利用printf()方法来格式化输出日期或时间。
举个例子,我们需要输出当前的日期和时间,如下所示:
import java.util.Date;
System.out.printf("%tc", new Date()); // 周二 8月 16 20:00:00 CST 2022
下面是有关Date类的部分格式转换符的记录:
c:查看完整的日期和时间C:查看年份的前两个数字y:查看年份的后两个数字B:查看月份的完整拼写b:查看月份的缩写h:查看月份的缩写m:查看月份,数值型,有补零d:查看今天几号,补零e:查看今天几号,不补零A:查看今天星期几,完整拼写a:查看今天星期几,省略拼写H:小时(24小时型,有补零)I:小时(12小时型,有补零,注意,这是个大写的i)k:小时(24小时型,不补零)l:小时(12小时型,不补零,注意,这是个小写的L)M:查看分钟S:查看秒数L:查看毫秒j:三位数的年中的日子,前面补0,其值在001~366之间F:ISO 8601日期D:美国格式的日期Y:查看完整年份T:查看完整时间(24小时型)r:查看完整时间(12小时型)P:上午或下午的大写标志p:上午或下午的小写标志Z:查看时区
更具体的看下面思维导图:
在熟悉上述这些Date类转换符后,我们可以整合到一个格式化字符串,用于打印Date信息,注意,此时我们需要指出要被格式化的参数的索引,索引必须跟在%后面,并且以$终止。
举个例子:
System.out.printf("%1$s %2$tY年 %2$tB %2$te号", "当前时间:", new Date());
输出结果是:
当前时间: 2022年 八月 16号
3️⃣写在最后
好了,今天的笔记就记到这里。