String類的format()方法用於建立格式化的字符串以及鏈接多個字符串對象。熟悉C語言的同窗應該記得C語言的sprintf()方法,二者有相似之處。format()方法有兩種重載形式。
測試
format(String format, Object... args) 新字符串使用本地語言環境,制定字符串格式和參數生成格式化的新字符串。
spa
format(Locale locale, String format, Object... args) 使用指定的語言環境,制定字符串格式和參數生成格式化的字符串。code
顯示不一樣轉換符實現不一樣數據類型到字符串的轉換,如圖所示。orm
轉 換 符對象 |
說 明 blog |
示 例字符串 |
%stable |
字符串類型form |
"mingrisoft"class |
%c |
字符類型 |
'm' |
%b |
布爾類型 |
true |
%d |
整數類型(十進制) |
99 |
%x |
整數類型(十六進制) |
FF |
%o |
整數類型(八進制) |
77 |
%f |
浮點類型 |
99.99 |
%a |
十六進制浮點類型 |
FF.35AE |
%e |
指數類型 |
9.38e+5 |
%g |
通用浮點類型(f和e類型中較短的) |
|
%h |
散列碼 |
|
%% |
百分比類型 |
% |
%n |
換行符 |
|
%tx |
日期與時間類型(x表明不一樣的日期與時間轉換符 |
測試用例
public static void main(String[] args) { String str=null; str=String.format("Hi,%s", "王力"); System.out.println(str); str=String.format("Hi,%s:%s.%s", "王南","王力","王張"); System.out.println(str); System.out.printf("字母a的大寫是:%c %n", 'A'); System.out.printf("3>7的結果是:%b %n", 3>7); System.out.printf("100的一半是:%d %n", 100/2); System.out.printf("100的16進制數是:%x %n", 100); System.out.printf("100的8進制數是:%o %n", 100); System.out.printf("50元的書打8.5折扣是:%f 元%n", 50*0.85); System.out.printf("上面價格的16進制數是:%a %n", 50*0.85); System.out.printf("上面價格的指數表示:%e %n", 50*0.85); System.out.printf("上面價格的指數和浮點數結果的長度較短的是:%g %n", 50*0.85); System.out.printf("上面的折扣是%d%% %n", 85); System.out.printf("字母A的散列碼是:%h %n", 'A'); }