StringFormat是Java中一個十分常用的字符串格式化方法,它提供了一種簡單、靈活的方法來格式化字符串,將各種不同類型數據格式化成字符串,常用的格式可以包括數字、日期、貨幣以及任何你想要的格式。本文將從以下幾個方面出發,對StringFormat用法進行詳解:
一、概述
StringFormat是Java的一個靜態方法,它的主要作用是將不同類型的數據格式化成字符串。它的主要方法是:
public static String format(String format, Object... args);
其中,format參數是格式化字符串的模板,它可以包含普通的文本和特殊格式標記,args是一個可變參數數組,它包含了將要插入到格式化字符串中的數據。在format字符串中,只要包含了特殊格式標記「%」,後面的參數就會按照一定的順序填入到字符串中。在使用StringFormat時,我們可以使用多種特殊格式標記來控制字符串的輸出格式。
二、基本用法
基本用法是指格式化字符串時僅使用普通文本和變量。使用StringFormat可以將變量的值插入到字符串中,方法如下:
String name = "Peter"; int age = 25; System.out.println(String.format("My name is %s, I'm %d years old.", name, age));
上面的代碼使用了%s和%d這兩個格式標記,它們的含義分別是字符串和整數,在輸出時會被替換成對應的變量值{name}和{age}。
三、格式標記
在使用StringFormat時,我們可以使用多種特殊格式標記來控制字符串的輸出格式。下面是常用的格式標記及用法:
1.字符串格式化標記
字符串格式化標記用於控制字符串輸出格式,常用的有:
- %s:字符串
- %10s:字符串,在輸出時佔用10個字符的位置,不足的部分在前面填充空格
- %-10s:字符串,在輸出時佔用10個字符的位置,不足的部分在後面填充空格
- %.2s:字符串,只顯示前兩個字符
String name = "Peter"; System.out.printf("My name is %s\n", name); System.out.printf("My name is %10s\n", name); System.out.printf("My name is %-10s\n", name); System.out.printf("My name is %.2s\n", name);
2.整數格式化標記
整數格式化標記用於控制整數輸出格式,常用的有:
- %d:十進制整數
- %03d:十進制整數,不足三位時前面填充0
- %x:十六進制整數小寫
- %X:十六進制整數大寫
int age = 25; System.out.printf("My age is %d\n", age); System.out.printf("My age is %03d\n", age); System.out.printf("My age in hex is %x\n", age); System.out.printf("My age in hex is %X\n", age);
3.浮點數格式化標記
浮點數格式化標記用於控制浮點數輸出格式,常用的有:
- %f:浮點數,小數點後默認保留6位
- %.2f:浮點數,小數點後保留兩位
- %e:科學計數法表示,小寫e
- %E:科學計數法表示,大寫E
double height = 1.75; System.out.printf("My height is %f\n", height); System.out.printf("My height is %.2f\n", height); System.out.printf("My height is %e\n", height); System.out.printf("My height is %E\n", height);
4.日期格式化標記
日期格式化標記用於控制日期輸出格式,常用的有:
- %tF:完整日期格式,如2021-11-01
- %tD:簡化日期格式,如11/01/21
- %tr:12小時制時間格式,如08:10:27 AM
- %tT:24小時制時間格式,如08:10:27
Date now = new Date(); System.out.printf("Today is %tF\n", now); System.out.printf("Today is %tD\n", now); System.out.printf("Current time is %tr\n", now); System.out.printf("Current time is %tT\n", now);
四、常用小技巧
1.插入百分號
如果要在字符串中插入百分號(%),需要使用兩個百分號來轉義:
System.out.printf("Discount rate is %.2f%%", 0.25);
輸出的結果是「Discount rate is 0.25%」。
2.插入轉義字符
如果要在字符串中插入轉義字符(如換行符、製表符等),需要使用轉義符號「\」:
System.out.printf("Hello\nWorld"); System.out.printf("Hello\tWorld");
輸出的結果是分別換行輸出「Hello」和「World」,以及使用製表符分隔「Hello」和「World」。
3.指定數據索引
在使用StringFormat時,還可以使用格式化模板中的數字指定參數索引,使得參數的順序可以不按照默認順序輸入。例如:
System.out.printf("%2$s's height is %1$.2f meters.", 1.75, "Peter");
輸出的結果是「Peter’s height is 1.75 meters.」,這裡的「%1$.2f」表示第一個參數按浮點數格式輸出,並且保留兩位小數,而「%2$s」表示第二個參數按照字符串格式輸出。
五、總結
本文對StringFormat用法進行了詳細的講解,從概述、基本用法、格式標記、常用小技巧等多個方面進行說明。在實際開發中,StringFormat經常用於日誌輸出、異常信息提示、報表生成、郵件模板等場景中,熟練掌握其用法可以大大提高開發效率。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/285894.html