📜  Java中的格式说明符(1)

📅  最后修改于: 2023-12-03 15:16:33.671000             🧑  作者: Mango

Java中的格式说明符

在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中的格式说明符是非常强大的工具,可用于格式化各种类型的数据。我们可以使用不同的格式说明符来控制输出的格式和精度,以及使用不同的控制字符来格式化日期/时间。通过充分利用这些工具,我们可以轻松、快速地生成需要的输出格式。