原文: https://beginnersbook.com/2017/10/java-string-format-method/

Java String format()方法用于格式化String。你可以用这个方法做很多事情,例如你可以使用这种方法连接字符串,同时你可以格式化连接字符串的输出。在本教程中,我们将看到 Java String format()方法的几个示例。

format()方法的语法

  1. public static String format(Locale l,
  2. String format,
  3. Object... args)

使用指定的语言环境,格式字符串和参数返回格式化的字符串。

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

使用指定的格式字符串和参数返回格式化字符串。

Java String format()方法的一个简单示例

  1. public class Example{
  2. public static void main(String args[]){
  3. String str = "just a string";
  4. //concatenating string using format
  5. String formattedString = String.format("My String is %s", str);
  6. /*formatting the value passed and concatenating at the same time
  7. * %.6f is for having 6 digits in the fractional part
  8. */
  9. String formattedString2 = String.format("My String is %.6f",12.121);
  10. System.out.println(formattedString);
  11. System.out.println(formattedString2);
  12. }
  13. }

输出:

  1. My String is just a string
  2. My String is 12.121000

Java String format()连接字符串参数的示例

我们可以使用%1$s, %2$s格式说明符指定参数位置。这里%1$表示第一个参数,%2$表示第二个参数,依此类推。

  1. public class Example{
  2. public static void main(String args[]){
  3. String str1 = "cool string";
  4. String str2 = "88";
  5. /* Specifying argument positions. %1$ is for the first argument and
  6. * %2$ is for the second argument
  7. */
  8. String fstr = String.format("My String is: %1$s, %1$s and %2$s", str1, str2);
  9. System.out.println(fstr);
  10. }
  11. }

输出:

  1. My String is: cool string, cool string and 88

正如您可以看到我们如何使用参数位置格式说明符在format()方法中两次传递字符串"cool string"

使用字符串format()填充字符串

在这个例子中,我们用 0 填充一个数字并将数字转换为格式化的字符串。在上面的例子中,我们已经格式化了浮点数和字符串,在这个例子中,我们正在格式化一个整数。要记住的重要一点是,这些格式说明符是不同的。

  • %s - 对于字符串
  • %f - 对于浮点数
  • %d - 对于整数
  1. public class Example{
  2. public static void main(String args[]){
  3. int str = 88;
  4. /* Left padding an integer number with 0's and converting it
  5. * into a String using Java String format() method.
  6. */
  7. String formattedString = String.format("%05d", str);
  8. System.out.println(formattedString);
  9. }
  10. }

输出:

  1. 00088

使用format()方法显示Stringinthexadecimalfloatcharoctal

在以下示例中,我们使用不同的格式说明符来显示不同类型的值。这里我们展示了一些如何使用format()方法将整数值转换为八进制或十六进制值的示例。在此示例之后,我们共享了可用格式说明符的列表。

  1. public class JavaExample {
  2. public static void main(String[] args) {
  3. String str1 = String.format("%d", 15); // Integer value
  4. String str2 = String.format("%s", "BeginnersBook.com"); // String
  5. String str3 = String.format("%f", 16.10); // Float value
  6. String str4 = String.format("%x", 189); // Hexadecimal value
  7. String str5 = String.format("%c", 'P'); // Char value
  8. String str6 = String.format("%o", 189); // Octal value
  9. System.out.println(str1);
  10. System.out.println(str2);
  11. System.out.println(str3);
  12. System.out.println(str4);
  13. System.out.println(str5);
  14. System.out.println(str6);
  15. }
  16. }

输出:

Java `String format()`方法 - 图1

Java 字符串格式说明符

  • %c - 字符
  • %d - 整数
  • %s - 字符串
  • %o - 八进制
  • %x - 十六进制
  • %f - 浮点数
  • %h - 一个哈希码值

相关文章:

  1. Java - 使用空格和零左填充字符串
  2. Java - 使用空格和零右填充字符串

参考: