在Java中, 我們可以使用System.out.print( x )這串代碼將數值 x 輸出到控制台上, 這是一個簡單的輸出語句。
看一下下面這個語句:
double x = 10000.0/3.0;
System.out.print(x);
這串代碼運行後, 將會列印出double類型所允許的最大值:3333.33333333333335。
但是如果我們希望顯示美元、美分等符號, 則有可能出現問題了, 這個時候我們就要使用到printf了, 注意在print後面有個“f”;在printf中, 可以使用多個參數, 例如:
System.out.printf("Hello, %s.Next year, you will be %d",name,age);
每一個以“%”字元開始的格式說明符都用於相應的參數轉換,
格式說明符尾部的轉換符將指示被格式化的數數值型別:f表示浮點數,
s表示字串,
d表示十進位整數。
下表是所有的轉換符:
用於printf的轉換符
另外,
我們還可以給出控制格式化輸出的標誌,
例如:逗號標誌增加了分組的分隔符號,
看下面的例子:
System.out.printf("%,.2f",10000.0/3.0);
它的輸出結果是:3,333.33。 當然也可以使用多個標誌, 那麼下表就列明瞭用於printf的標誌:
用於printf的標誌
上面的介紹中沒有對printf方法的日期與時間詳細說明,
那麼現在我們再來看一下。
在新代碼中, 應當使用java.time包的方法, 不過你可能會在遺留代碼中看到Date類和相關的格式化選項。 格式包括兩個字母, 以t開始, 以下表中轉換符的任意字母結束。 例如:
System.out.printf("%tc", new Date());
輸出值:Mon Feb 09 18:05:19 PST 2015
日期和時間的轉換符
現在,
已經瞭解了printf方法的所有特性,
我們再畫一個格式說明符的語法圖,
詳見下圖:
格式說明符語法