一、String.format()概述
在Java中,String類的format()方法可以用于格式化字元串輸出。它相當於C中的printf()函數,可以將格式化字元串中的佔位符替換成指定的值。
具體來說,String.format()方法的第一個參數是一個格式字元串,其中的格式說明符指定了佔位符的位置、寬度、精度等信息。第二個參數開始是佔位符要替換的值。如果格式字元串中有多個佔位符,則需要為每個佔位符指定一個對應的值,多餘的值將被忽略。
下面是一個簡單的代碼示例:
String name = "Alice"; int age = 20; double height = 1.68; String message = String.format("My name is %s, I'm %d years old, and I'm %.2f meters tall", name, age, height); System.out.println(message);
上面的代碼創建了一個字元串message,它使用了格式化字元串”My name is %s, I’m %d years old, and I’m %.2f meters tall”,其中%s、%d和%.2f分別是對應的佔位符。第二行調用了String.format()方法,使用name、age和height分別替換了這些佔位符,並將結果輸出到控制台。其輸出結果為:
My name is Alice, I'm 20 years old, and I'm 1.68 meters tall
二、格式說明符
格式說明符是用來指定佔位符的格式信息的字元串。它們由%字元和指定佔位符類型的字元組成,中間可以包含各種選項和標誌位。
下面是一些常用的格式說明符:
- %s:字元串類型
- %d:整數類型
- %f:浮點數類型
- %b:布爾類型
- %c:字元類型
- %n:換行符
- %%:百分號
除了佔位符類型,格式說明符還可以包含以下選項:
- 寬度:指定佔位符輸出的最小寬度,如果輸出的值長度不足,則會添加空格以達到指定的寬度。例如,%10d表示輸出的整數至少是10位寬度,不足部分用空格填充。
- 精度:用於限制輸出的數字的小數位數,通常用於浮點數類型。例如,%.2f表示輸出的浮點數只有2位小數。
- 標誌位:用於指定輸出值的格式。例如,-表示左對齊,+表示在正數前顯示加號,0表示用0填充不足的位數。
下面是一些示例:
int value = 123; String.format("%10d", value); // 輸出:" 123" String.format("%.2f", Math.PI); // 輸出:"3.14" String.format("%+d", value); // 輸出:"+123" String.format("%05d", value); // 輸出:"00123"
三、使用實例
1. 格式化日期和時間
String.format()方法也可以用于格式化日期和時間。Java中提供了SimpleDateFormat類來進行日期和時間的格式化。
下面是一個例子,將當前時間格式化為”yyyy-MM-dd HH:mm:ss”的形式:
Date now = new Date(); String formattedDate = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(now); System.out.println(formattedDate);
上面的代碼首先獲取當前時間,然後使用SimpleDateFormat類將時間格式化為指定的形式,最後將結果輸出到控制台。輸出結果類似於:
2022-01-01 12:34:56
2. 格式化十六進位數
String.format()方法還可以用于格式化整數為十六進位數,並且可以控制輸出的位數。
例如,下面的代碼將數字15格式化為4位的十六進位數:
int value = 15; String hexString = String.format("%04X", value); System.out.println(hexString);
輸出結果為:
000F
3. 填充固定寬度
有時候需要輸出一些固定寬度的字元串,不足的部分需要用空格填充。
下面的代碼通過使用String.format()方法,輸出一個二維數組,其中每個數字都是5位寬度:
int[][] data = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}}; for (int[] row : data) { for (int value : row) { String formattedValue = String.format("%5d", value); System.out.print(formattedValue + " "); } System.out.println(); }
輸出結果為:
1 2 3 4 5 6 7 8 9
四、小結
本文介紹了Java中String.format()方法的用法和格式說明符,以及使用實例。使用String.format()方法可以使輸出的字元串更加美觀和易讀。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/258274.html