選單
×
   ❮     
HTML CSS JAVASCRIPT SQL PYTHON JAVA PHP HOW TO W3.CSS C C++ C# BOOTSTRAP REACT MYSQL JQUERY EXCEL XML DJANGO NUMPY PANDAS NODEJS R TYPESCRIPT ANGULAR GIT POSTGRESQL MONGODB ASP AI GO KOTLIN SASS VUE DSA GEN AI SCIPY AWS CYBERSECURITY DATA SCIENCE
     ❯   

Java 教程

Java HOME Java Intro Java Get Started Java Syntax Java Output Java Comments Java Variables Java Data Types Java Type Casting Java Operators Java Strings Java Math Java Booleans Java If...Else Java Switch Java While Loop Java For Loop Java Break/Continue Java Arrays

Java Methods

Java Methods Java Method Parameters Java Method Overloading Java Scope Java Recursion

Java Classes

Java OOP Java 類/物件 Java 類屬性 Java 類方法 Java 建構函式 Java 修飾符 Java 封裝 Java 包 / API Java 繼承 Java 多型 Java 內部類 Java 抽象 Java 介面 Java 列舉 Java 使用者輸入 Java 日期 Java ArrayList Java LinkedList Java 列表排序 Java HashMap Java HashSet Java 迭代器 Java 包裝類 Java 異常 Java 正則表示式 Java 執行緒 Java Lambda Java 高階排序

Java File Handling

Java Files Java Create/Write Files Java Read Files Java Delete Files

Java How To's

加兩個數 計算單詞數 反轉字串 陣列元素求和 字串轉陣列 陣列排序 計算陣列平均值 查詢陣列最小元素 ArrayList 迴圈 HashMap 迴圈 列舉迴圈 矩形面積 偶數或奇數 正數或負數 平方根 隨機數

Java 參考

Java Reference Java Keywords Java String Methods Java Math Methods Java Output Methods Java Arrays Methods Java ArrayList Methods Java LinkedList Methods Java HashMap Methods Java Scanner Methods Java Iterator Methods Java Errors & Exceptions

Java 示例

Java Examples Java Compiler Java Exercises Java Quiz Java Server Java Certificate


Java 輸出 printf() 方法

❮ 輸出方法


示例

在控制檯列印一些格式化的文字。

字元 %s 是字串 "World" 的佔位符

System.out.printf("Hello %s!", "World");

自己動手試一試 »

注意: 你會在頁面底部找到更多“自己動手”的示例。


定義和用法

printf() 方法輸出一個格式化的字串。

附加引數中的資料被格式化並寫入格式化字串中的佔位符,這些佔位符用 % 符號標記。引數的格式化方式取決於 % 符號後面的字元序列。

佔位符

佔位符的形式為 %[arg$][flags][width][.precision]conversion。方括號 [ ] 中的部分是可選的。

每個元件的解釋

  • arg$ - 可選。一個數字後跟一個 $ 符號,表示使用哪個附加引數,引數編號從 1 開始。這可以用 < 替換,表示使用前一個佔位符的引數。
  • flags - 可選。以下任意字元的序列
    • - - 使輸出左對齊,透過在右側新增填充空格而不是左側。
    • + - 使正數始終以 "+" 作為字首。
    • - (一個空格字元) 在正數前加上空格,主要目的是使數字能夠與負數對齊。
    • 0 - 用零填充數字的左側。
    • , - 對數字進行分組(例如按千位)並在組之間放置分隔符。
  • width - 可選。一個整數,指定輸出應占用的最小字元數。如有必要,在右側新增空格以達到此數字,如果使用了 - 標誌,則在左側新增空格。
  • .precision 可選。一個 . 後跟一個整數,表示在格式化資料中顯示多少個小數位數。
  • conversion - 必需。一個字元,表示引數的資料應如何表示。如果字元是大寫,則資料將在可能的情況下以大寫格式顯示。可能的字元列表如下表所示。

轉換列表

字元 轉換 描述
% 百分比 在輸出中顯示字面意義上的 "%" 字元。
n 換行 在輸出中顯示換行符。
bB 布林值 將布林值引數顯示為 "true" 或 "false"。如果使用 "B",則顯示 "TRUE" 或 "FALSE"。
cC Unicode 字元 顯示引數的 Unicode 字元表示。對於整數,這是與數字對應的 Unicode 字元。如果使用 "C",則字元將在可能的情況下轉換為大寫。
sS 字串 顯示引數的預設字串表示。如果使用 "S",則字串將轉換為大寫(在可能的情況下)。
d 十進位制整數 將整數表示為十進位制整數。
hH 無符號十六進位制整數 將引數的二進位制資料表示為無符號十六進位制整數。如果使用 "H",則 A 到 F 的數字將顯示為大寫。

注意: 對於任何非正整數資料,這並不代表其真實值。

o 八進位制整數 將整數表示為八進位制整數。 "#" 標誌將用 "0" 作為字首。
xX 十六進位制整數 將整數表示為十六進位制整數。 "#" 標誌將用 "0x" 作為字首。如果使用 "X",則數字 A 到 F 以及字母 X 將以大寫形式顯示。
eE 科學計數法 以科學計數法表示浮點數。如果使用 "E",則表示中的字母 "E" 將是大寫。 "#" 標誌將強制顯示小數點,即使沒有小數位數。
f 浮點數 表示一個浮點數。 "#" 標誌將強制顯示小數點,即使沒有小數位數。
gG 通用數字 顯示浮點數的 feE 之間最短的表示形式。
aA 十六進位制浮點數 以十六進位制數字顯示浮點數的內部表示。
tT 時間和日期 顯示格式化的日期或時間。t 或 T 後面必須跟一個額外的字元,指示日期或時間的格式。如果使用 "T",則日期或時間中的文字部分(如 "JANUARY")將是大寫。

以下字元可用於日期和時間格式化

  • H - 小時(24 小時制)的表示(00 到 23)
  • I - 小時(12 小時制)(01 到 12)
  • k - 小時(24 小時制)(0 到 23)
  • l(小寫 'L')- 小時(12 小時制)(1 到 12)
  • M - 分鐘(帶前導零)(00 到 59)
  • S - 秒(帶前導零)(00 到 59)(閏秒可能出現 60)
  • L - 毫秒(帶前導零)(000 到 999)
  • N - 納秒(帶前導零)(000000000 到 999999999)
  • p - "am", "pm", "AM" 或 "PM",表示上午或下午
  • z - 與格林尼治標準時間(GMT)的差值(示例:-0800)
  • Z - 時區縮寫(示例:EST, MDT)
  • s - 自 Unix Epoch(1970 年 1 月 1 日 00:00:00 GMT)以來的秒數
  • Q - 自 Unix Epoch(1970 年 1 月 1 日 00:00:00 GMT)以來的毫秒數
  • B - 月份的全文字表示(一月到十二月)
  • b 或 h - 月份的短文字表示(三個字母)
  • A - 一週中某天的全文字表示(示例:Monday)
  • a - 一週中某天的短文字表示(示例:Mon)
  • C - 年份的前兩位數字(對於 1970 年,顯示 "19")
  • Y - 四位數的年份表示
  • y - 兩位數的年份表示
  • j - 一年中的第幾天(帶前導零)(001 到 366)
  • m - 月份的數字表示(01 到 12)
  • d - 月中的第幾天(01 到 31)
  • e - 月中的第幾天(不帶前導零)(1 到 31)
  • R - 24 小時制的時間(示例:21:30)
  • T - 帶秒的 24 小時制的時間(示例:21:30:02)
  • r - 帶秒的 12 小時制的時間(示例:09:30:02 PM)("AM" 和 "PM" 始終是大寫)
  • D - 日期表示形式(月/日/年)(示例:12/17/23)
  • F - 日期表示形式(年-月-日)(示例:2023-12-17)
  • c - 完整日期和時間(示例:Thu Mar 28 10:51:00 EDT 2024)

語法

System.out.printf(locale, formatString, args)

引數值

引數 描述
locale 可選。一個用於確定某些格式的區域設定,例如用於小數點和分組分隔符的字元。
formatString 必需。一個包含附加引數佔位符的字串,指示如何格式化它們
args 可選。任意數量的附加引數傳遞給方法,它們的值可以在 *formatString* 中進行格式化和顯示。

技術詳情

返回 一個 PrintStream 物件。
丟擲 IllegalFormatException - 如果格式字串包含無效的佔位符,或者佔位符與引數的資料型別不相容。
Java 版本 1.5

更多示例

示例

列印包含字串和整數的格式化文字

System.out.printf("Hello %s! One kilobyte is %,d bytes.", "World", 1024);

自己動手試一試 »

示例

以不同方式格式化浮點數

// Default
System.out.printf("%f%n", 123456.78);

// Two decimal digits
System.out.printf("%.2f%n", 123456.78);

// No decimal digits
System.out.printf("%.0f%n", 123456.78);

// No decimal digits but keep the decimal point
System.out.printf("%#.0f%n", 123456.78);

// Group digits
System.out.printf("%,.2f%n", 123456.78);

// Scientific notation with two digits of precision
System.out.printf("%.2e", 123456.78);

自己動手試一試 »

示例

使用所有元件的佔位符

System.out.printf("%2$,3.2f %1$s", "meters", 1260.5052);

這是佔位符 %2$,3.2f 各部分的工作原理

  • 2$ 表示使用第二個引數的值
  • , 表示數字應分組(通常按千位)
  • 3 表示資料的表示形式應至少為 3 個字元長
  • .2 表示小數點後應有兩位數字
  • f 表示資料被表示為浮點數

自己動手試一試 »

示例

使用不同順序的引數

System.out.printf("%3$c %2$c %1$c", 'a', 'b', 'c');

自己動手試一試 »

示例

從 Unix 時間戳格式化日期

long date = 1711638903488L; // Unix timestamp (number of milliseconds since January 1, 1970)

// Time
System.out.printf("%tl:%<tM %<tp%n", date);

// Month and day
System.out.printf("%tB %<te%n", date);

// Full date representation
System.out.printf("%tc%n", date);

自己動手試一試 »

示例

根據 Unicode 程式碼點表示字元

// Represent characters from their unicode code points
System.out.printf("%c%c%c%c%c%n", 72, 101, 108, 108, 111);

// Force unicode characters to uppercase
System.out.printf("%C%C%C%C%C", 72, 101, 108, 108, 111);

自己動手試一試 »


❮ 輸出方法
×

聯絡銷售

如果您想將 W3Schools 服務用於教育機構、團隊或企業,請傳送電子郵件給我們
sales@w3schools.com

報告錯誤

如果您想報告錯誤,或想提出建議,請傳送電子郵件給我們
help@w3schools.com

W3Schools 經過最佳化,旨在方便學習和培訓。示例可能經過簡化,以提高閱讀和學習體驗。教程、參考資料和示例會不斷審查,以避免錯誤,但我們無法保證所有內容的完全正確性。使用 W3Schools 即表示您已閱讀並接受我們的使用條款Cookie 和隱私政策

版權所有 1999-2024 Refsnes Data。保留所有權利。W3Schools 由 W3.CSS 提供支援