Java從控制檯輸入
本章介紹控制檯輸入使用的三種方法:使用標準輸入串System.in讀取,使用Scanner讀取,使用BufferedReader讀取。
使用標準輸入串System.in.read()來讀取從控制檯輸入的資料
首先,使用標準輸入串System.in.read()時需要新增異常處理IOExecption。並在開頭匯入異常處理類(import java.io.IOException;)。
注意
使用標準輸入串System.in.read()方法只能讀取單個數據。
並且System.in.read()返回的是整數型別,即為所輸入符號的ASCII碼值,所以需要在前面進行強制型別轉換。
使用Scanner類
Scanner類是jdk5.0以後java.util包中新增的類,使用Scanner類時需要用import語句匯入Scanner類。Scanner類使用分隔符模式將其輸入分解為標記,預設情況下該分隔符與空白符匹配。
使用Scanner類時需要先例項化該類。
程式碼解釋:
第1行:import語句匯入Scanner類
第5行:例項化Scanner物件,使用System.in作為引數傳入。
第7行:使用Scanner的nextInt()方法獲取控制檯輸入的一個整數,注意,此方法只能獲取int型別的一個數字。
第10行:使用nextInt()讀取了整數後,再接著讀取字串,讀出來的是回車換行:"\r\n",因為nextInt()僅僅讀取數字資訊,而不會讀取回車換行"\r\n".所以此處需要多新增一個nextLine()方法將多出的”\r\n”讀取。
第11行:使用Scanner的nextLine()方法讀取從控制檯輸入的一個字串(String)。
使用BufferedReader類
BufferedReader類是Java IO流中提供的一個字元流,他需要建立在另一個字元流的基礎上。
使用BufferedReader類需要例項化。並且需要用import語句匯入BufferedReade類,InputStreamReader類和IOException類。新增異常處理throws IOException。然後使用其readLine()方法逐行的讀取鍵盤中輸入的字串,可以利用包裝類再將字串轉換為程式中需要的資料型別。
最後簡單介紹一下String型別
Java中基礎型別中沒有string型別來對字串(字串或串(String)是由數字、字母、下劃線組成的一串字元)進行操作。而使用String類來對字串進行操作。
其基本語法為:
String 變數=”字串”;