Java字符串格式化是將一個字符串按照一定的格式打印輸出或插入特定的數據值。Java提供了多種格式化方式,可以滿足不同的需求。本文將從以下幾個方面介紹Java字符串格式化:
一、概述
Java字符串格式化主要包括以下兩種方式:
1、使用printf()方法
public PrintStream printf(String format, Object... args)
這個方法基於C語言的printf()方法,可以將字符串按照指定格式進行輸出。其中,format表示輸出格式,args表示輸出的參數,可以有任意多個參數。
下面是一個Java字符串格式化的示例:
public static void main(String[] args) { int i = 3; double d = 3.1415926; String s = "Hello, World!"; System.out.printf("i = %d, d = %.2f, s = %s\n", i, d, s); }
輸出結果為:
i = 3, d = 3.14, s = Hello, World!
2、使用String.format()方法
public static String format(String format, Object... args)
這個方法與printf()方法類似,但它不直接輸出字符串,而是返回一個格式化後的字符串。其中,format表示輸出格式,args表示輸出的參數,可以有任意多個參數。
下面是一個Java字符串格式化的示例:
public static void main(String[] args) { int i = 3; double d = 3.1415926; String s = "Hello, World!"; String str = String.format("i = %d, d = %.2f, s = %s\n", i, d, s); System.out.println(str); }
輸出結果為:
i = 3, d = 3.14, s = Hello, World!
二、格式化佔位符
Java字符串格式化中常用的佔位符如下:
佔位符 | 描述 |
---|---|
%d | 十進制整數 |
%o | 八進制整數 |
%x | 十六進制整數(小寫字母) |
%X | 十六進制整數(大寫字母) |
%f | 浮點數 |
%e | 科學計數法表示的浮點數(小寫字母e) |
%E | 科學計數法表示的浮點數(大寫字母E) |
%g | 根據實際情況自動選擇%f或%e |
%c | 字符 |
%s | 字符串 |
上述佔位符可以根據需要進行組合使用,如:%1$表示第一個參數,%2$表示第二個參數,以此類推。
下面是一個Java字符串格式化的示例:
public static void main(String[] args) { int i = 3; double d = 3.1415926; String s = "Hello, World!"; System.out.printf("%1$d %2$f %3$s\n", i, d, s); System.out.printf("%3$s %2$f %1$d\n", i, d, s); }
輸出結果為:
3 3.141593 Hello, World! Hello, World! 3.141593 3
三、格式化標誌
Java字符串格式化中常用的標誌如下:
標誌 | 描述 |
---|---|
+ | 正數前加“+”,負數前加“-” |
– | 左對齊 |
# | 對於八進制整數,前面加0;對於十六進制整數,前面加0x |
0 | 用0補足位數 |
, | 為數字添加分組分隔符 |
空格 | 在正數前面加空格,負數前加“-” |
( | 負數用括號括起來 |
上述標誌可以根據需要進行組合使用。
下面是一個Java字符串格式化的示例:
public static void main(String[] args) { int i = 3; double d = 3.1415926; String s = "Hello, World!"; System.out.printf("%1$+d %2$f %3$s\n", i, d, s); System.out.printf("%3$#o %2$#x %1$#X\n", i, d, s); }
輸出結果為:
+3 3.141593 Hello, World! 0o3 0x1.921cac083126fp0 0X3
四、總結
本文介紹了Java字符串格式化的基本概念和使用方式,包括使用printf()方法和String.format()方法,介紹了常用的格式化佔位符和格式化標誌。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/297137.html