Java.lang.String 类

java.lang.String.format() 方法使用指定的格式字符串和参数返回格式化字符串。

语法

public static String format(String format,
                            Object... args) 

参数

format指定格式字符串。
args指定格式字符串中格式说明符引用的参数。如果参数多于格式说明符,则忽略多余的参数。参数的数量是可变的,可能为零。

返回值

返回格式化字符串。

Exception

抛出IllegalFormatException,如果格式字符串包含非法语法、与给定参数不兼容的格式说明符、给定格式字符串的参数不足或其他非法条件.

示例:

在下面的示例中,format() 方法使用指定的格式字符串和参数返回格式化字符串。

import java.lang.*;

public class MyClass {
  public static void main(String[] args) {
    String str1 = String.format("1. %s", "Hello");
    String str2 = String.format("2. %f", 10.565);

    //返回10个小数字符,用0填充
    String str3 = String.format("3. %5.10f", 10.565);

    //打印所有格式化字符串
    System.out.println(str1);
    System.out.println(str2);
    System.out.println(str3);
  }
} 

上述代码的输出将是:

1. Hello
2. 10.565000
3. 10.5650000000 

Java 字符串格式说明符

下表描述了 Java 字符串支持的格式说明符。

说明符数据类型输出
%a除 BigDecimal 之外的浮点返回浮点数的十六进制输出
%b任何类型如果非空则为"true",如果为空则为"false"
%c字符Unicode 字符
%d整数,包括 byte、short、int、long、bigint十进制整数
%e浮点数科学记数法的十进制数
%f浮点数十进制数
%g浮点数十进制数,可能是科学数取决于精度和值的表示法
%h任何类型来自 hashCode() 方法的值的十六进制字符串
%n平台特定行分隔符
%o整数,包括byte、short、int、long、bigint八进制数
%s任意类型字符串值
%t日期/时间,包括 long、Calendar、Date 和 TemporalAccessor%t 是日期/时间转换的前缀。此后需要更多格式化标志。
%x整数,包括 byte、short、int、long、bigint十六进制string

示例:

在下面的示例中,使用多个参数返回格式化字符串。

import java.lang.*;

public class MyClass {
  public static void main(String[] args) {
    String name = "John";
    int age = 25;

    //格式化字符串
    String MyString = String.format("My name is %s and"
                         + " I am %d years old.", name, age);

    //打印格式化字符串
    System.out.println(MyString);
  }
} 

上述代码的输出将是:

My name is John and I am 25 years old.