Java 占位符

1 %s 格式化

Java的格式化功能提供了多种占位符,可以把各种数据类型“格式化”成指定的字符串:

占位符 说明
%d 格式化输出整数
%x 格式化输出十六进制整数
%f 格式化输出浮点数
%e 格式化输出科学计数法表示的浮点数
%s 格式化字符串

注意,由于%表示占位符,因此,连续两个%%表示一个%字符本身。

占位符格式:

1
%[index$][标识]*[最小宽度][.精度]转换符

示例

1
2
3
4
5
6
7
double d1 = 12900000;
System.out.println(d1); // 1.29E7
double d = 3.1415926;
System.out.printf("%.2f\n", d); // 显示两位小数3.14
System.out.printf("%.4f\n", d); // 显示4位小数3.1416
int nn = 12345000;
System.out.printf("n=%d, hex=%08x", nn, nn); // 把一个整数格式化成十六进制,并用0补足8位:

注意

Java提供的输出包括:System.out.println() / print() / printf(),其中只有 printf() 可以格式化输出;

1.1 使用 String.format` 格式化

  • 语法:
    String.format(String format, Object… args);

    • format:定义好的字符串
    • args:需要替换的字符,可以有多个。
  • 示例

    1
    2
    String format = String.format("你好%s,我是%s", "小明", "小黑");
    System.out.println(format);//你好小明,我是小黑

2. MessageFormat.format` 格式化

  • 语法:MessageFormat.format(String format, Object… args)

    • format:定义好的字符串
    • args:需要替换的字符
  • 注:MessageFormat类再 java.text包下。

  • 示例:

    1
    2
    String format = MessageFormat.format("你好{0},我是{1}", "小明", "小黑");
    System.out.println(format);//你好小明,我是小黑

Java 占位符
https://flepeng.github.io/021-Java-31-语法-Java-占位符/
作者
Lepeng
发布于
2023年3月24日
许可协议