写点什么

【Java】:你知道字符串的格式化输出吗?

作者:翼同学
  • 2022 年 8 月 16 日
    广东
  • 本文字数:990 字

    阅读完需:约 3 分钟

【Java】:你知道字符串的格式化输出吗?

前言


今天笔记的内容是:


  • 有关 Java 字符串的格式化输出



内容

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号
复制代码



写在最后


好了,今天的笔记就记到这里。

用户头像

翼同学

关注

知行合一 2022.08.02 加入

@珠海科技学院

评论

发布
暂无评论
【Java】:你知道字符串的格式化输出吗?_Java_翼同学_InfoQ写作社区