📅  最后修改于: 2023-12-03 15:16:33.671000             🧑  作者: Mango
在Java中,格式说明符是一种用于指定输出格式的特殊字符。它们被用在格式化字符串中,可以自动转换基本数据类型到字符、字符串和日期/时间对象。Java中支持多种格式说明符,下面我们来一一介绍它们。
在格式化整数时,我们可以使用以下格式说明符:
%d
:将整数格式化为十进制数。%o
:将整数格式化为八进制数。%x
:将整数格式化为十六进制数。int num = 255;
System.out.printf("十进制:%d,八进制:%o,十六进制:%x\n", num, num, num);
// 输出结果:十进制:255,八进制:377,十六进制:ff
在格式化浮点数时,我们可以使用以下格式说明符:
%f
:将浮点数格式化为十进制数。%e
:将浮点数格式化为科学计数法(指数形式)。%g
:根据值的大小自动选择%f
或%e
。double num = 3.1415926;
System.out.printf("十进制:%f,科学计数法:%e,自动选择:%g\n", num, num, num);
// 输出结果:十进制:3.141593,科学计数法:3.141593e+00,自动选择:3.14159
在格式化字符时,我们可以使用以下格式说明符:
%c
:将字符格式化为Unicode码值。char ch = 'A';
System.out.printf("字符:%c,Unicode码值:%d\n", ch, (int)ch);
// 输出结果:字符:A,Unicode码值:65
在格式化字符串时,我们可以使用以下格式说明符:
%s
:将字符串格式化为普通字符串。%n
:换行符。String str = "Hello World";
System.out.printf("字符串:%s,长度:%d%n", str, str.length());
// 输出结果:字符串:Hello World,长度:11
在格式化日期/时间时,我们可以使用以下格式说明符:
%t
:将时间格式化为日期/时间。%tz
:将时区信息格式化为GMT偏移量。%tp
:将时间格式化为AM/PM表述。Date date = new Date(System.currentTimeMillis());
System.out.printf("日期/时间:%tc,时区:%tz,AM/PM:%tp\n", date, date, date);
// 输出结果:日期/时间:Fri Sep 03 02:48:16 CST 2021,时区:+0800,AM/PM:上午
我们还可以使用以下控制字符来格式化日期/时间:
%tF
:yyyy-MM-dd格式的日期。%tT
:HH:mm:ss格式的时间。%tr
:hh:mm:ss AM/PM格式的时间。%tD
:MM/dd/yy格式的日期。Date date = new Date(System.currentTimeMillis());
System.out.printf("日期/时间:%tF,%tT,%tr,%tD\n", date, date, date, date);
// 输出结果:日期/时间:2021-09-03,02:48:16,02:48:16 上午,09/03/21
Java中的格式说明符是非常强大的工具,可用于格式化各种类型的数据。我们可以使用不同的格式说明符来控制输出的格式和精度,以及使用不同的控制字符来格式化日期/时间。通过充分利用这些工具,我们可以轻松、快速地生成需要的输出格式。