亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

一篇文章大家徹底學(xué)會(huì)Java之格式化輸出

 更新時(shí)間:2025年04月12日 09:53:53   作者:憑君語(yǔ)未可  
Java提供了多種格式化輸出的方式,包括String.format()、System.out.printf()和Formatter類,這些方法支持?jǐn)?shù)字、日期、字符串等多種格式化操作,這篇文章主要介紹了Java格式化輸出的相關(guān)資料,需要的朋友可以參考下

前言

Java 提供了多種格式化輸出的方式,主要通過 String.format()、System.out.printf() 和 Formatter 類來(lái)實(shí)現(xiàn)。常見的格式化操作包括數(shù)字、日期、字符串等。

一、 格式化輸出方法

1. 使用 String.format() 方法

String.format() 方法返回一個(gè)格式化后的字符串,而不直接打印輸出。你可以將其存儲(chǔ)到變量中或用于其他處理。

語(yǔ)法:

String.format(format, arguments);
  • format 是格式化字符串,包含格式說明符。
  • arguments 是要格式化的參數(shù)。

示例:

int age = 25;
String formattedString = String.format("My age is %d", age);
System.out.println(formattedString);  // 輸出:My age is 25

2. 使用 System.out.printf() 方法

System.out.printf() 方法直接將格式化的輸出打印到控制臺(tái),類似于 printf 函數(shù)在 C 語(yǔ)言中的功能。

語(yǔ)法:

System.out.printf(format, arguments);

示例:

int age = 25;
System.out.printf("My age is %d\n", age);  // 輸出:My age is 25

3. 使用 Formatter 類

Formatter 類提供了更多的格式化功能,允許你創(chuàng)建格式化的輸出流,并將其寫入到 StringBuilder、PrintWriter 等對(duì)象中。

示例:

import java.util.Formatter; // 導(dǎo)入 java.util.Formatter 類,用于格式化字符串

public class FormatterExample { // 定義一個(gè)名為 FormatterExample 的類
    public static void main(String[] args) { // 主方法,程序的入口點(diǎn)
        Formatter formatter = new Formatter(); // 創(chuàng)建一個(gè) Formatter 對(duì)象,用于格式化字符串
        formatter.format("My age is %d", 25); // 使用 format 方法格式化字符串
        // "My age is %d" 是格式化模板,%d 是占位符,表示一個(gè)整數(shù)
        // 25 是傳遞給占位符 %d 的實(shí)際值
        System.out.println(formatter); // 輸出格式化后的字符串到控制臺(tái)
        formatter.close(); // 關(guān)閉 Formatter 對(duì)象,釋放資源
    }
}

代碼分析:

  • Formatter 類:用于格式化字符串。它類似于 String.format() 方法,但提供了更靈活的格式化方式。
  • format 方法:接受一個(gè)格式化模板和一組參數(shù)。模板中的 %d 是一個(gè)占位符,表示一個(gè)整數(shù)。
  • System.out.println(formatter)Formatter 對(duì)象在調(diào)用 toString() 方法時(shí)會(huì)返回其內(nèi)部的格式化字符串。
  • formatter.close():關(guān)閉 Formatter 對(duì)象,釋放與之相關(guān)的資源。這是良好的編程習(xí)慣,尤其是在處理 I/O 資源時(shí)。

運(yùn)行這段代碼后,控制臺(tái)會(huì)輸出:

My age is 25

二、 常見的格式說明符:

1. 整數(shù)類型格式化說明符

  • %d: 十進(jìn)制整數(shù)。

    • 用于格式化整數(shù)(例如:123)。
    • 示例:System.out.printf("%d\n", 123); 輸出:123
  • %o: 八進(jìn)制整數(shù)。

    • 用于輸出整數(shù)的八進(jìn)制表示。
    • 示例:System.out.printf("%o\n", 8); 輸出:10
  • %x: 十六進(jìn)制整數(shù)(小寫字母)。

    • 用于輸出整數(shù)的十六進(jìn)制表示(小寫字母)。
    • 示例:System.out.printf("%x\n", 255); 輸出:ff
  • %X: 十六進(jìn)制整數(shù)(大寫字母)。

    • 用于輸出整數(shù)的十六進(jìn)制表示(大寫字母)。
    • 示例:System.out.printf("%X\n", 255); 輸出:FF
  • %c: 單個(gè)字符。

    • 用于格式化單個(gè)字符。
    • 示例:System.out.printf("%c\n", 'A'); 輸出:A

2. 浮點(diǎn)類型格式化說明符

  • %f: 浮點(diǎn)數(shù)。

    • 默認(rèn)輸出浮點(diǎn)數(shù),小數(shù)點(diǎn)后有六位。
    • 示例:System.out.printf("%f\n", 123.456); 輸出:123.456000
  • %.nf: 浮點(diǎn)數(shù)(保留 n 位小數(shù))。

    • 用于格式化浮點(diǎn)數(shù)并指定保留的小數(shù)位數(shù)。
    • 示例:System.out.printf("%.2f\n", 123.456); 輸出:123.46
  • %e: 科學(xué)計(jì)數(shù)法(小寫字母)。

    • 用于格式化浮點(diǎn)數(shù)為科學(xué)計(jì)數(shù)法表示(小寫字母)。
    • 示例:System.out.printf("%e\n", 1234567.89); 輸出:1.234568e+06
  • %E: 科學(xué)計(jì)數(shù)法(大寫字母)。

    • 用于格式化浮點(diǎn)數(shù)為科學(xué)計(jì)數(shù)法表示(大寫字母)。
    • 示例:System.out.printf("%E\n", 1234567.89); 輸出:1.234568E+06
  • %g: 自動(dòng)選擇浮動(dòng)或科學(xué)計(jì)數(shù)法(小寫字母)。

    • 根據(jù)數(shù)字的大小自動(dòng)選擇浮動(dòng)或科學(xué)計(jì)數(shù)法。
    • 示例:System.out.printf("%g\n", 1234567.89); 輸出:1234567.89
  • %G: 自動(dòng)選擇浮動(dòng)或科學(xué)計(jì)數(shù)法(大寫字母)。

    • 根據(jù)數(shù)字的大小自動(dòng)選擇浮動(dòng)或科學(xué)計(jì)數(shù)法(大寫字母)。
    • 示例:System.out.printf("%G\n", 1234567.89); 輸出:1234567.89

3. 字符串格式化說明符

  • %s: 字符串。
    • 用于格式化字符串。
    • 示例:System.out.printf("%s\n", "Hello, World!"); 輸出:Hello, World!

4. 日期和時(shí)間格式化說明符

日期和時(shí)間的格式化說明符以 %t 開頭,后跟日期/時(shí)間的特定類型。

  • %tY: 年份(四位數(shù)字)。

    • 示例:System.out.printf("%tY\n", new Date()); 輸出:2025
  • %tm: 月份(數(shù)字表示,01 到 12)。

    • 示例:System.out.printf("%tm\n", new Date()); 輸出:01
  • %td: 日期(數(shù)字表示,01 到 31)。

    • 示例:System.out.printf("%td\n", new Date()); 輸出:21
  • %tB: 月份(完整的英文名稱)。

    • 示例:System.out.printf("%tB\n", new Date()); 輸出:January
  • %tD: 日期(MM/DD/YY 格式)。

    • 示例:System.out.printf("%tD\n", new Date()); 輸出:01/21/25
  • %tH: 小時(shí)(24小時(shí)制,00 到 23)。

    • 示例:System.out.printf("%tH\n", new Date()); 輸出:14
  • %tM: 分鐘(00 到 59)。

    • 示例:System.out.printf("%tM\n", new Date()); 輸出:30
  • %tS: 秒(00 到 59)。

    • 示例:System.out.printf("%tS\n", new Date()); 輸出:45
  • %tT: 時(shí)間(HH:MM:SS 格式)。

    • 示例:System.out.printf("%tT\n", new Date()); 輸出:14:30:45
  • %tF: 完整的日期(YYYY-MM-DD 格式)。

    • 示例:System.out.printf("%tF\n", new Date()); 輸出:2025-01-21

5. 百分號(hào)格式化說明符

  • %%: 輸出一個(gè)百分號(hào)。
    • 示例:System.out.printf("100%%\n"); 輸出:100%

6. 其他格式化控制符

  • %n: 換行符(平臺(tái) 獨(dú)立的換行符)。

    • 示例:System.out.printf("Hello%nWorld%n"); 輸出:Hello(換行)World(換行)
  • %b: 布爾類型。

    • 示例:System.out.printf("%b\n", true); 輸出:true

三、 常用的格式化選項(xiàng):

1. 寬度(Width)

寬度選項(xiàng)用于控制輸出數(shù)據(jù)的最小字符寬度。如果格式化的內(nèi)容小于指定寬度,Java 會(huì)根據(jù)其他選項(xiàng)(如填充符)來(lái)填充剩余的空間。

語(yǔ)法:

%[width]specifier
  • width:指定最小的輸出寬度。
  • specifier:格式化說明符(如 %d、%f、%s 等)。

示例:

System.out.printf("|%10d|\n", 123);   // 輸出:|       123|
System.out.printf("|%-10d|\n", 123);  // 輸出:|123       |
  • |%10d|:輸出寬度為 10,如果數(shù)字少于 10 個(gè)字符寬度,前面會(huì)用空格填充。
  • |%-10d|:輸出寬度為 10,左對(duì)齊,后面用空格填充。

2. 精度(Precision)

精度用于控制浮點(diǎn)數(shù)的小數(shù)位數(shù)以及字符串的最大長(zhǎng)度。

2.1. 浮點(diǎn)數(shù)的精度:

對(duì)于浮點(diǎn)數(shù),可以指定小數(shù)點(diǎn)后保留的位數(shù)。

語(yǔ)法:

%.[precision]f
  • precision:指定浮點(diǎn)數(shù)小數(shù)點(diǎn)后的位數(shù)。

示例:

System.out.printf("%.2f\n", 123.456);  // 輸出:123.46
System.out.printf("%.3f\n", 123.456);  // 輸出:123.456
  • %.2f:保留 2 位小數(shù)。
  • %.3f:保留 3 位小數(shù)。

2.2. 字符串的精度:

對(duì)于字符串,可以指定輸出字符串的最大字符數(shù)。

示例:

System.out.printf("%.5s\n", "HelloWorld");  // 輸出:Hello
  • %.5s:輸出字符串的前 5 個(gè)字符。

3. 填充符(Padding Character)

填充符用于控制當(dāng)數(shù)據(jù)不夠?qū)挾葧r(shí),用指定的字符填充空白位置。默認(rèn)情況下,Java 會(huì)使用空格填充,但我們可以指定其他字符(如 0)作為填充符。

語(yǔ)法:

%[fill_char][width]specifier
  • fill_char:填充字符。
  • width:最小輸出寬度。
  • specifier:格式化說明符。

示例:

System.out.printf("|%010d|\n", 123);  // 輸出:|0000000123|
System.out.printf("|%-10d|\n", 123);  // 輸出:|123       |
  • |%010d|:指定寬度為 10,前面用 0 填充。
  • |%-10d|:指定寬度為 10,左對(duì)齊,后面用空格填充。

4. 對(duì)齊(Alignment)

默認(rèn)情況下,數(shù)字和字符串都會(huì)右對(duì)齊。但可以通過指定符號(hào)來(lái)改變對(duì)齊方式。

  • -:左對(duì)齊。
  • 默認(rèn)為右對(duì)齊。

示例:

System.out.printf("|%-10d|\n", 123);  // 輸出:|123       | 左對(duì)齊
System.out.printf("|%10d|\n", 123);   // 輸出:|       123| 右對(duì)齊(默認(rèn))
  • %-10d:左對(duì)齊,輸出的寬度為 10。
  • %10d:右對(duì)齊,輸出的寬度為 10。

5. 百分號(hào)(%%)

如果我們需要輸出一個(gè)實(shí)際的百分號(hào)字符,可以使用 %%。

示例:

System.out.printf("The success rate is 100%%.\n");  // 輸出:The success rate is 100%.

6. 日期和時(shí)間格式化(Date/Time Format)

日期和時(shí)間的格式化支持類似寬度、精度等選項(xiàng)。我們可以控制日期/時(shí)間輸出的寬度和填充方式。

示例:

System.out.printf("%tY-%tm-%td\n", new Date());  // 輸出:2025-01-21(日期格式:YYYY-MM-DD)

7. 寬度和精度的組合使用

我們可以組合使用寬度和精度來(lái)進(jìn)一步控制輸出格式。例如,控制浮點(diǎn)數(shù)的總寬度以及小數(shù)點(diǎn)后位數(shù)。

示例:

System.out.printf("|%10.2f|\n", 123.456);  // 輸出:|    123.46|
  • |%10.2f|:總寬度為 10,其中小數(shù)點(diǎn)后保留 2 位。

8. 自動(dòng)選擇浮動(dòng)或科學(xué)計(jì)數(shù)法(%g 和 %G)

  • %g:自動(dòng)選擇使用浮動(dòng)(普通表示法)或科學(xué)計(jì)數(shù)法(小寫字母)。
  • %G:自動(dòng)選擇使用浮動(dòng)(普通表示法)或科學(xué)計(jì)數(shù)法(大寫字母)。

示例:

System.out.printf("%g\n", 1234567.89);   // 輸出:1234567.89
System.out.printf("%g\n", 0.000123456);  // 輸出:1.23456e-04
System.out.printf("%G\n", 1234567.89);   // 輸出:1234567.89
System.out.printf("%G\n", 0.000123456);  // 輸出:1.23456E-04

9. 對(duì)齊與填充符結(jié)合

填充符與對(duì)齊選項(xiàng)結(jié)合使用時(shí),可以非常精細(xì)地控制輸出的格式,常用于表格輸出等。

示例:

System.out.printf("|%0-10d|\n", 123);  // 輸出:|123       | 左對(duì)齊并用0填充
//然而,0 和 - 是互斥的,因?yàn)?- 表示左對(duì)齊,而 0 表示用 0 填充空白部分。
//當(dāng)它們同時(shí)出現(xiàn)時(shí),0 的行為會(huì)被忽略,只有 - 生效。

System.out.printf("|%0+10d|\n", 123);  // 輸出:|+0000123| 右對(duì)齊并用0填充,帶符號(hào)

四、 格式化日期:

Java 中的日期格式化通常依賴于 java.text.SimpleDateFormat 類來(lái)實(shí)現(xiàn),但如果使用 String.format() 或 System.out.printf(),日期格式化通過 t 系列的格式化說明符進(jìn)行。

1. %t 系列格式化說明符

日期和時(shí)間的格式化說明符以 %t 開頭,并跟隨一個(gè)字母,表示不同的日期和時(shí)間部分。常用的日期格式化說明符如下(前文有詳細(xì)描述):

日期部分:

  • %tY:年份(四位數(shù)字,例如 2025)。
  • %tm:月份(兩位數(shù)字,例如 0112)。
  • %td:日期(兩位數(shù)字,例如 01,31)。
  • %tB:完整的月份名稱(例如 January,December)。
  • %tD:日期(MM/DD/YY 格式,例如 01/21/25)。

時(shí)間部分:

  • %tH:小時(shí)(24小時(shí)制,00 到 23)。
  • %tM:分鐘(00 到 59)。
  • %tS:秒鐘(00 到 59)。
  • %tI:小時(shí)(12小時(shí)制,01 到 12)。
  • %tp:AM/PM(上午/下午)。
  • %tT:時(shí)間(HH:MM:SS 格式,例如 14:30:45)。

完整的日期和時(shí)間格式:

  • %tF:完整日期(YYYY-MM-DD 格式,例如 2025-01-21)。
  • %tR:時(shí)間(HH:MM 格式,例如 14:30)。

2. 日期格式化示例

示例 1:格式化完整日期(YYYY-MM-DD)

import java.util.Date; // 導(dǎo)入 java.util.Date 類,用于表示日期和時(shí)間

public class DateFormatExample { // 定義一個(gè)名為 DateFormatExample 的類
    public static void main(String[] args) { // 主方法,程序的入口點(diǎn)
        Date date = new Date(); // 創(chuàng)建一個(gè) Date 對(duì)象,表示當(dāng)前日期和時(shí)間
        System.out.printf("Formatted date: %tF\n", date); // 輸出:2025-01-21
        // 使用 printf 方法格式化日期
        // %tF 是一個(gè)格式化占位符,表示按照 ISO 8601 格式(yyyy-MM-dd)輸出日期
        // date 是傳遞給占位符的實(shí)際日期對(duì)象
        // 輸出結(jié)果為:Formatted date: 2025-01-21(假設(shè)當(dāng)前日期是 2025 年 1 月 21 日)
    }
}
  • %tF 輸出完整的日期,格式為 YYYY-MM-DD。

示例 2:格式化時(shí)間(HH:MM:SS)

import java.util.Date; // 導(dǎo)入 java.util.Date 類,用于表示當(dāng)前日期和時(shí)間

public class DateFormatExample { // 定義一個(gè)名為 DateFormatExample 的類
    public static void main(String[] args) { // 主方法,程序的入口點(diǎn)
        Date date = new Date(); // 創(chuàng)建一個(gè) Date 對(duì)象,表示當(dāng)前日期和時(shí)間
        System.out.printf("Formatted time: %tT\n", date);  // 輸出:14:30:45
        // 使用 printf 方法格式化時(shí)間
        // %tT 是一個(gè)格式化占位符,表示按照 24 小時(shí)制格式(HH:mm:ss)輸出時(shí)間
        // date 是傳遞給占位符的實(shí)際日期對(duì)象
        // 輸出結(jié)果為:Formatted time: 14:30:45(假設(shè)當(dāng)前時(shí)間是 14:30:45)
    }
}
  • %tT 輸出時(shí)間,格式為 HH:MM:SS

示例 3:格式化為月份名稱和日期(Month Day, Year)

import java.util.Date; // 導(dǎo)入 java.util.Date 類,用于表示日期和時(shí)間

public class DateFormatExample { // 定義一個(gè)名為 DateFormatExample 的類
    public static void main(String[] args) { // 主方法,程序的入口點(diǎn)
        Date date = new Date(); // 創(chuàng)建一個(gè) Date 對(duì)象,表示當(dāng)前日期和時(shí)間
        System.out.printf("Formatted date with month name: %tB %td, %tY\n", date, date, date); // 輸出:January 21, 2025
        // 使用 printf 方法格式化日期,并在輸出中包含月份名稱
        // %tB:格式化為月份的完整名稱(例如 January、February 等)
        // %td:格式化為日期的天數(shù)部分(例如 01 到 31)
        // %tY:格式化為四位年份(例如 2025)
        // date 是傳遞給占位符的實(shí)際日期對(duì)象,這里重復(fù)傳遞了三次 date,分別對(duì)應(yīng) %tB、%td 和 %tY
        // 輸出結(jié)果為:Formatted date with month name: January 21, 2025(假設(shè)當(dāng)前日期是 2025 年 1 月 21 日)
    }
}
  • %tB 輸出完整的月份名稱,%td 輸出日期,%tY 輸出年份。

示例 4:格式化為12小時(shí)制(AM/PM)

import java.util.Date; // 導(dǎo)入 java.util.Date 類,用于表示日期和時(shí)間

public class DateFormatExample { // 定義一個(gè)名為 DateFormatExample 的類
    public static void main(String[] args) { // 主方法,程序的入口點(diǎn)
        Date date = new Date(); // 創(chuàng)建一個(gè) Date 對(duì)象,表示當(dāng)前日期和時(shí)間
        System.out.printf("Formatted time in 12-hour format: %tI:%tM %tp\n", date, date, date); // 輸出:02:30 PM
        // 使用 printf 方法格式化時(shí)間,以 12 小時(shí)制格式輸出
        // %tI:格式化為 12 小時(shí)制的小時(shí)部分(01 到 12)
        // %tM:格式化為分鐘部分(00 到 59)
        // %tp:格式化為 AM 或 PM
        // date 是傳遞給占位符的實(shí)際日期對(duì)象,這里重復(fù)傳遞了三次 date,分別對(duì)應(yīng) %tI、%tM 和 %tp
        // 輸出結(jié)果為:Formatted time in 12-hour format: 02:30 PM(假設(shè)當(dāng)前時(shí)間是 14:30)
    }
}
  • %tI 輸出 12 小時(shí)制的小時(shí)數(shù),%tM 輸出分鐘,%tp 輸出 AM/PM。

3. 格式化日期和時(shí)間的組合

我們也可以將日期和時(shí)間格式化說明符組合在一起,以顯示完整的日期和時(shí)間。

示例:日期和時(shí)間的完整格式(YYYY-MM-DD HH:MM:SS)

import java.util.Date;

public class DateFormatExample {
    public static void main(String[] args) {
        Date date = new Date();
        System.out.printf("Formatted date and time: %tF %tT\n", date, date);  // 輸出:2025-01-21 14:30:45
    }
}
  • %tF 用于格式化日期部分(YYYY-MM-DD)。
  • %tT 用于格式化時(shí)間部分(HH:MM:SS)。

4. 控制輸出寬度和填充

當(dāng)然,和其他格式化類型一樣,我們也可以控制日期和時(shí)間輸出的寬度以及如何填充空白。通過指定寬度,可以保證輸出符合要求的格式。

示例:控制日期寬度

import java.util.Date; // 導(dǎo)入 java.util.Date 類,用于表示日期和時(shí)間

public class DateFormatExample { // 定義一個(gè)名為 DateFormatExample 的類
    public static void main(String[] args) { // 主方法,程序的入口點(diǎn)
        Date date = new Date(); // 創(chuàng)建一個(gè) Date 對(duì)象,表示當(dāng)前日期和時(shí)間
        System.out.printf("|%20tF|\n", date);  // 使用 printf 方法格式化日期并輸出
        // %tF:格式化日期為 ISO 8601 格式,即 yyyy-MM-dd(例如 2025-01-21)
        // 20:指定字段寬度為 20 個(gè)字符
        // 默認(rèn)情況下,字符串會(huì)右對(duì)齊,因此左側(cè)會(huì)填充空格以達(dá)到指定的寬度
        // 輸出結(jié)果為:|         2025-01-21|(假設(shè)當(dāng)前日期是 2025-01-21)
    }
}
  • %20tF 表示寬度為 20,并且不足部分將會(huì)填充空格。

示例:控制時(shí)間寬度和填充

import java.util.Date; // 導(dǎo)入 java.util.Date 類,用于表示日期和時(shí)間

public class DateFormatExample { // 定義一個(gè)名為 DateFormatExample 的類
    public static void main(String[] args) { // 主方法,程序的入口點(diǎn)
        Date date = new Date(); // 創(chuàng)建一個(gè) Date 對(duì)象,表示當(dāng)前日期和時(shí)間
        System.out.printf("|%10tT|\n", date);  // 使用 printf 方法格式化時(shí)間并輸出
        // %tT:格式化時(shí)間為 24 小時(shí)制格式,即 HH:mm:ss(例如 14:30:45)
        // 10:指定字段寬度為 10 個(gè)字符
        // 默認(rèn)情況下,字符串會(huì)右對(duì)齊,因此如果格式化后的時(shí)間字符串長(zhǎng)度小于 10 個(gè)字符,
        // 左側(cè)會(huì)填充空格以達(dá)到指定的寬度
        // 輸出結(jié)果為:|14:30:45  |(假設(shè)當(dāng)前時(shí)間是 14:30:45)
    }
}
  • %10tT 指定時(shí)間的寬度為 10,左側(cè)填充空格。
  • 如果需要左對(duì)齊,可以在格式化占位符中添加 - 符號(hào),例如:%-10tT。這樣,空格會(huì)填充在右側(cè)。

5. 日期格式化與 SimpleDateFormat 類結(jié)合使用

String.format() 和 System.out.printf() 適用于簡(jiǎn)單的日期格式化,但如果需要更復(fù)雜的格式化(例如自定義格式),可以使用 SimpleDateFormat 類。

示例:自定義日期格式化(使用 SimpleDateFormat)

import java.text.SimpleDateFormat; // 導(dǎo)入 SimpleDateFormat 類,用于自定義日期和時(shí)間的格式化
import java.util.Date; // 導(dǎo)入 Date 類,用于表示日期和時(shí)間

public class SimpleDateFormatExample { // 定義一個(gè)名為 SimpleDateFormatExample 的類
    public static void main(String[] args) { // 主方法,程序的入口點(diǎn)
        Date date = new Date(); // 創(chuàng)建一個(gè) Date 對(duì)象,表示當(dāng)前日期和時(shí)間
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss"); 
        // 創(chuàng)建一個(gè) SimpleDateFormat 對(duì)象,用于自定義日期和時(shí)間的格式化
        // "yyyy/MM/dd HH:mm:ss" 是格式化模板:
        // yyyy:四位年份
        // MM:兩位月份
        // dd:兩位日期
        // HH:兩位24小時(shí)制的小時(shí)
        // mm:兩位分鐘
        // ss:兩位秒數(shù)
        String formattedDate = sdf.format(date); 
        // 使用 format 方法將 Date 對(duì)象格式化為指定的字符串格式
        System.out.println("Formatted date and time: " + formattedDate); 
        // 輸出格式化后的日期和時(shí)間
        // 例如:Formatted date and time: 2025/01/21 14:30:45(假設(shè)當(dāng)前時(shí)間是 2025 年 1 月 21 日 14:30:45)
    }
}
  • SimpleDateFormat 允許你創(chuàng)建一個(gè)自定義的日期格式,例如 "yyyy/MM/dd HH:mm:ss"
  • SimpleDateFormat 是線程不安全的,因此在多線程環(huán)境中使用時(shí)需要特別注意。
  • 如果需要線程安全的日期格式化工具,可以使用 java.time.format.DateTimeFormatter(Java 8 及以上版本)。

總結(jié)

  • String.format() 返回格式化后的字符串。
  • System.out.printf() 直接輸出格式化字符串到控制臺(tái)。
  • Formatter 提供了更多的控制,可以用于自定義輸出流。

到此這篇關(guān)于Java格式化輸出的文章就介紹到這了,更多相關(guān)Java格式化輸出內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • feign如何打印出http請(qǐng)求

    feign如何打印出http請(qǐng)求

    這篇文章主要介紹了feign如何打印出http請(qǐng)求,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-06-06
  • Java實(shí)現(xiàn)在線聊天功能

    Java實(shí)現(xiàn)在線聊天功能

    這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)在線聊天功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-09-09
  • 詳解Spring中singleton?bean如何同時(shí)服務(wù)多個(gè)請(qǐng)求

    詳解Spring中singleton?bean如何同時(shí)服務(wù)多個(gè)請(qǐng)求

    這篇文章主要介紹了詳解Spring中singleton?bean如何同時(shí)服務(wù)多個(gè)請(qǐng)求
    2023-02-02
  • nacos-discovery包名層級(jí)問題解決

    nacos-discovery包名層級(jí)問題解決

    這篇文章主要為大家介紹了nacos-discovery包名層級(jí)問題解決,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-07-07
  • SpringBoot中獲取微信用戶信息的方法

    SpringBoot中獲取微信用戶信息的方法

    這篇文章主要介紹了SpringBoot中獲取微信用戶信息的方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-09-09
  • Java如何將BigDecimal類型的值轉(zhuǎn)成double類型

    Java如何將BigDecimal類型的值轉(zhuǎn)成double類型

    這篇文章主要給大家介紹了關(guān)于Java如何將BigDecimal類型的值轉(zhuǎn)成double類型的相關(guān)資料,需要注意精度損失和范圍限制,使用doubleValue方法進(jìn)行轉(zhuǎn)換,并在高精度計(jì)算時(shí)格外小心,需要的朋友可以參考下
    2024-12-12
  • 《阿里巴巴 Java開發(fā)手冊(cè)》讀后感小結(jié)

    《阿里巴巴 Java開發(fā)手冊(cè)》讀后感小結(jié)

    這篇文章主要介紹了《阿里巴巴 Java開發(fā)手冊(cè)》讀后感小結(jié),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來(lái)看看吧
    2018-12-12
  • 解決HashMap多線程操作導(dǎo)致死循環(huán)問題

    解決HashMap多線程操作導(dǎo)致死循環(huán)問題

    文章主要講述了在多線程環(huán)境下,HashMap的并發(fā)操作可能導(dǎo)致的死循環(huán)問題,包括鏈表/紅黑樹結(jié)構(gòu)破壞、擴(kuò)容過程中的混亂以及讀寫不一致等,為了解決這些問題,文章建議使用線程安全的ConcurrentHashMap替代HashMap,并介紹了其分段鎖機(jī)制和優(yōu)化方案
    2025-01-01
  • Monaco?Editor實(shí)現(xiàn)sql和java代碼提示實(shí)現(xiàn)示例

    Monaco?Editor實(shí)現(xiàn)sql和java代碼提示實(shí)現(xiàn)示例

    這篇文章主要為大家介紹了Monaco?Editor代碼提示sql和java實(shí)現(xiàn)示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-08-08
  • java校驗(yàn)json的格式是否符合要求的操作方法

    java校驗(yàn)json的格式是否符合要求的操作方法

    在日常開發(fā)過程中,會(huì)有這樣的需求,校驗(yàn)?zāi)硞€(gè)json是否是我們想要的數(shù)據(jù)格式,這篇文章主要介紹了java校驗(yàn)json的格式是否符合要求,需要的朋友可以參考下
    2023-04-04

最新評(píng)論