輸出
在前面的代碼中,咱們老是用System.out.println()來向屏幕輸出一些內容:java
println是print line的縮寫,表示輸出並換行。所以,若是輸出後不想換行,能夠用print()app
public class Main { public static void main(String[] args) { System.out.print("A,"); System.out.print("B,"); System.out.print("C."); System.out.println(); System.out.println("END"); } }
輸出spa
A,B,C. END
格式化輸出
Java還提供了格式化輸出的功能。爲何要格式化輸出?由於計算機表示的數據不必定適合人來閱讀:3d
public class Main { public static void main(String[] args) { double d = 12900000; System.out.println(d); // 1.29E7 } }
輸出code
1.29E7
若是要把數據顯示成咱們指望的格式,就須要使用格式化輸出的功能。格式化輸出使用System.out.printf(),經過使用佔位符%?,printf()能夠把後面的參數格式化成指定格式:blog
public class Main { public static void main(String[] args) { double d = 3.1415926; System.out.printf("%.2f\n", d); // 顯示兩位小數3.14 System.out.printf("%.4f\n", d); // 顯示4位小數3.1416 } }
輸出ip
3.14 3.1416
%.2f表明輸出小數點後面兩位\n表示輸出換行,後面的d是須要格式化的變量字符串
若是運行報錯io
Exception in thread "main" java.lang.Error: Unresolved compilation problems: The method printf(String, Object[]) in the type PrintStream is not applicable for the arguments (String, double) The method printf(String, Object[]) in the type PrintStream is not applicable for the arguments (String, double) at Main.main(Main.java:4)
Eclipse中 JAVA默認的兼容版本爲1.4, 改成1.5及以上版本就行。 項目 》屬性》Java complier》complier compliance lever:1.5table
Java的格式化功能提供了多種佔位符,能夠把各類數據類型格式化成指定字符串:
佔位符 | 說明 |
---|---|
%d | 格式化輸出整數 |
%x | 格式化輸出十六進制整數 |
%f | 格式化輸出浮點數 |
%e | 格式化輸出科學計數法表示的浮點數 |
%s | 格式化字符串 |
注意,因爲%表示佔位符,所以,連續兩個%%表示一個%字符自己。
佔位符自己還能夠有更詳細的格式化參數。下面的例子把一個整數格式化成十六進制,並用0補足8位:
public class Main { public static void main(String[] args) { int n = 12345000; System.out.printf("n=%d, hex=%08x", n, n); // 注意,兩個%佔位符必須傳入兩個數 } }
輸出
n=12345000, hex=00bc5ea8