primitive type,printf
名稱 | 位 元組 | 範圍 | 備註 |
byte | 1 | -128 ~ 127 | |
short | 2 | -32,768 ~ 32767 | |
int | 4 | -2,147,483,648 ~ 2,147,483,647 | |
long | 8 | -10 63~ 1063-1 |
jdk8 採用unicode6.2 JVM實作採用 UTF-16 Big Endian |
boolean | 1 | true of false | |
char | 2 | 16-bit unicode 字元 | |
float | 4 | 3.4E-38 ~ 3.4E+38 | |
double | 8 | 1.7E-308 ~ 1.7E+308 |
符號 | 說明 |
%% | 顯示% |
%d | 顯示10進位整數格式輸出,primitive type 與 BigInteger |
%f | 顯示10進位浮點數格式輸出,primitive type 與 BigDecimal |
%e,%E | 科學記號浮點數格式輸出,同上浮點數的都可,大寫小寫依輸入的e決定 |
%o | 以8進位整數格式輸出,同上%d的都可 |
%x,%X | 以16進位整數格式輸出,同上%d的都可 |
%s,%S | 字串格式 |
%c,%C | 字元符號格式輸出 |
%b,%B | 輸出boolean,大小寫依輸入決定true or TRUE |
%h,%H | 使用Integer.toHexString()來得到輸出結果 |
%n | 換行符號,windows下會換為"\r\n",Linux下為'\n',Mac為'\r' |
printf()對輸出文字做格式化
public static void main(String [] args){
System.out.printf("%%%n");//%
System.out.printf("%o%n",23);//27
System.out.printf("%x%n",23);//17
System.out.printf("%E%n",0.000233);//2.330000E-04
System.out.printf("%b %B%n",true,false);// true FALSE
System.out.printf("%h%n",23);//17
System.out.println(Integer.toHexString(23));//17
//輸出浮點數時指定精度與寬度
System.out.printf("%.2f%n",1.23456);//1.23
System.out.printf("%6.2f%n",1.23456);// 1.23 不足會補上空白
}
Reference:
- Java 8 技術手冊
- 掌握Java 8 程式設計