十、輸入與輸出的格式化

Download Report

Transcript 十、輸入與輸出的格式化

Java 入門到認證
十、輸入與輸出的格式化
作者:許裕永
1、Pattern



1-1 建立樣式的符號
 \d
一個數字字元。
 \s
一個空白字元。
 \w
一個文字字元,數字字元或底線符號。
 ‧
一個任意字元(含空白)。
 〔〕
括號中的指定字元,若有括號有一個以上之字元,則表示括號中的任意一個字元均可。
 〔-〕 括號中‘-’前後字元之間的所有字元。
1-2 建構物件
 Pattern和Math類別一樣,它們都不是抽象類別,但是也都沒有提供建構方法,所以
也都不能用new建構物件。
1-3 重要方法
 static boolean matches(String regex, CharS
equence input)
 static Pattern compile(String regex)
 String[] split(CharSequence input)
 Matcher matcher(CharSequence input)
2、Matcher


2-1 建構物件
 Matcher類別,也不是抽象類別,也沒有提供建構方法,而且沒有提
供任何的類別方法成員來建構物件,它的物件只能透過Pattern物件
呼叫matcher方法來建構。
2-2 重要方法
 boolean find()
 String group()
 int start()
 Matcher usePattern(Pattern newPat
tern)
 boolean matches()
3、Scanner


3-1 建構物件
 Scanner(File source)
 Scanner(InputStream source)
 Scanner(Readable source)
 Scanner(String source)
3-2 重要方法
 boolean hasNext()
 String next()
 boolean hasNextLine()
 String nextLine()
 boolean hasNext(樣式參數)
 String next(樣式參數)
 boolean hasNextXxx()
 Xxx nextXxx()
4、PrintStream
PrintWriter


與
4-1 建構物件
 PrintStream(File file)
 PrintStream(OutputStream out)
 PrintStream(String fileName)
4-2 重要方法
 void println()
 void print(參數)
 void println(參數)
 PrintStream printf(String format,
Object... args)
 PrintStream format(String format,
Object... args)
5、認證重點


5-1 Pattern
 Pattern和Math類別一樣,它們都不是抽象類別,但是也都沒有提供建構
方法,所以也都不能用new建構物件。
 matches()的檢測是包含樣式與字數都必須完全符合。
 compile(String regex)會依照String物件的樣式,來
建構Pattern物件。請注意不是getInstance()。
 matcher(CharSequence input)會建構Matcher
物件。
5-2 Matcher
 Matcher類別,也不是抽象類別,也沒有提供建構方法,而且沒有提供任何的
類別方法成員來建構物件,它的物件只能透過Pattern物件呼叫matche
r方法來建構。
5、認證重點(二)

5-3 Scanner





java‧util‧Scanner類別的物件,是Java為了簡化輸入的流程,特別新設計的類別。它能接
收任何InputSteam或檔案的資料,還能從資料來源中,只擷取部份特定樣式的文字,或特定格式的資
料進入程式。
以File物件建構Scanner物件,就是開啟檔案來做為資料來源。相對的也請記得,讀檔完畢後應呼叫
close()來關閉檔案。
System‧in指的是java‧lang‧System類別中的類別常數成員in。它是一個InputS
tream類別的物件,用來接收鍵盤的輸入。但是它提供read()一次只能讀一個字元,操作上不方便,
所以本書中都利用它建構Scanner物件,來簡化接收鍵盤輸入的程式碼。
擷取部份資料時,應利用hasNext()搭配next(),才比較不會造成執行時期的錯誤。
5-4 PrintStream與PrintWriter






Java加強了Java‧io中的PrintStream及PrintWriter兩個類別來簡化輸出的流
程。
System‧out‧println();中的System‧out,指的是java‧lang‧Syste
m類別中的類別常數成員out,而out便是一個以PrintStream類別建構的物件。而輸出的目的
地是螢幕。
用String物件代表檔案名稱,可以省略建構File物件的步驟,但也就沒有辦法指定是要以加入或覆蓋
的方式輸出。
在printf()中的第二個參數寫的是Object‧‧‧,指的是任意個物件,也因為是物件,所以應該要用
Wrapper Classes的類別建構的物件。不過因為有Auto Boxing 及 unBoxi
ng所以撰寫程式時,即使變數是用基本資料型別宣告也是可以的。另外,以運算式為參數也可以。
printf()的String參數中設定格式的完整語法(中括號代表可以省略):
%〔參數序號$〕〔格式代號〕〔寬度〕〔‧小數點位數〕資料型別代號