Scanner 是 Java.util 包下的一個類,它可以幫助我們方便的進行輸入和輸出。Scanner 類在 Java 開發中非常常用,特別是在控制台輸入輸出(Console Input & Output)中,具有簡單易用、直觀快捷等特點,廣泛應用於各種場景中。在本文中,我們將從多個方面對 Scanner 類進行詳細介紹:
一、Scanner 類創建
要使用 Scanner 類,我們需要創建一個 Scanner 對象。Scanner 對象可以通過多種方式創建,例如:
Scanner sc = new Scanner(System.in);
上述代碼創建了一個 Scanner 類型的對象 sc,System.in 是一個 Java 中的靜態欄位,代表標準輸入,即鍵盤輸入。
如果我們想要讀取文件內容,可以使用以下方法創建 Scanner 對象:
Scanner sc = new Scanner(new File("filename.txt"));
上述代碼中,我們需要傳入一個 File 類型的文件名,並通過 new 關鍵字來創建對象。
除了讀取文件內容,還可以從字元串中讀取內容:
String str = "Hello World!";
Scanner sc = new Scanner(str);
上述代碼中,我們先用一個變數 str 存儲了一段字元串,然後通過 Scanner 對象來讀取該字元串。
二、數據類型讀取
Scanner 類可以支持讀取不同數據類型的輸入。例如,我們可以使用 nextInt()、nextDouble()、nextLong()、nextFloat() 等函數來讀取不同類型的數字。例如,下面的代碼讀取控制台輸入的整數:
Scanner sc = new Scanner(System.in);
int num = sc.nextInt();
上述代碼先創建一個 Scanner 對象 sc,然後使用 nextInt() 方法讀取輸入的整數值,並將其存儲在變數 num 中。我們還可以使用 nextDouble() 方法來讀取浮點數:
Scanner sc = new Scanner(System.in);
double num = sc.nextDouble();
注意:在讀取浮點數時,我們需要在控制台上輸入小數點,否則將會拋出 InputMismatchException 異常。
三、循環讀取
Scanner 類中提供了多種讀取輸入的方法,我們可以使用這些方法來讀取多個數據。例如,在以下示例中,我們可以通過 while 循環來不斷讀取輸入的整數值(如果輸入的不是整數,則會拋出 InputMismatchException 異常):
Scanner sc = new Scanner(System.in);
while (sc.hasNextInt()) {
int num = sc.nextInt();
System.out.println("輸入的數字是:" + num);
}
上述代碼中,我們通過 hasNextInt() 方法來判斷控制台輸入的是否是一個整數,如果輸入的是整數,則將其讀取到變數 num 中,並將其列印出來。如果輸入的不是整數,則會跳出循環。
四、使用 delimiter 方法分隔輸入
Scanner 類中有一個 delimiter 方法,它可以用來設置 Scanner 對象的分隔符。默認情況下,Scanner 對象的分隔符是空格,我們可以通過以下代碼將分隔符更改為逗號:
Scanner sc = new Scanner(System.in).useDelimiter(",");
上述代碼中,我們使用 useDelimiter() 方法來設置分隔符為逗號。這樣,當我們在控制台輸入逗號分隔的值時,Scanner 對象將讀取這些值,並使用逗號作為分隔符。
五、next() 和 nextLine() 方法
Scanner 類中有兩個用於讀取字元串類型輸入的方法:next() 和 nextLine()。
next() 方法讀取輸入的下一個字元串,並將其返回。例如:
Scanner sc = new Scanner(System.in);
String str = sc.next();
輸入 Hello World! 後,變數 str 的值為 Hello。
nextLine() 方法讀取輸入的下一行字元串。例如:
Scanner sc = new Scanner(System.in);
String str = sc.nextLine();
輸入 Hello World! 後,變數 str 的值為 Hello World!。
六、小結
總的來說,Scanner 類是 Java 開發中一個非常重要的類,它可以方便快捷地讀取輸入,並支持多種不同的數據類型。在開發中,我們可以使用它來進行控制台輸入輸出,文件讀取和字元串處理等操作。我們需要熟練掌握 Scanner 類的各種使用方法,從而可以更高效地處理數據。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/285883.html