Java 中的 Scanner 類:構造函數和方法的類型,如何使用 [附示例]
已發表: 2020-07-28任何使用 Java 編程語言的人都非常了解 Java 中的 Scanner 類。 而對於有抱負的 Java 開發者,他們不知道 Scanner 類是什麼以及如何在 Java 中使用 Scanner 類,這篇文章是對它的完美介紹。
在這篇文章中,我們將詳細討論 Java 中的 Scanner 類、它的不同方法以及它們的功能。 所以,如果你期待更多地了解 Java 中的 Scanner 類,請繼續閱讀直到最後!
目錄
Java 中的 Scanner 類是什麼?
Java 中的 Scanner 類主要用於獲取用戶輸入。 java.util 包包含它。 Scanner 類不僅擴展了 Object 類,還可以實現 Iterator 和 Closeable 接口。 它使用分隔符將用戶輸入分割成標記,默認情況下,分隔符是空格。
使用 Scanner 類非常容易——首先,您創建該類的一個對象,然後使用 Scanner 類文檔中提供的任何可用方法。
除了作為獲取用戶輸入數據的最簡單方法之一之外,Scanner 類還廣泛用於通過使用正則表達式來解析字符串和原始類型的文本。 例如,您可以使用 Scanner 類來獲取不同原始類型的輸入,例如 int、long、double、byte、float 和 short 等等。
您可以像這樣聲明 Java Scanner 類:

公共最終類掃描儀
擴展對象
實現迭代器<String>
如果要獲取讀取用戶輸入的Scanner類的實例,則必須在Scanner類的構造函數中傳遞輸入流(System.in),如下:
Scanner in = new Scanner(“Hello upGrad”);
閱讀: Java 如此受開發人員歡迎的 6 大原因
有哪些不同的 Scanner 類構造函數?
以下是六個常用的 Scanner 類構造函數:
- Scanner(File source) - 它創建一個新的 Scanner 以生成從特定文件掃描的值。
- Scanner(InputStream source) - 它創建一個新的 Scanner 以生成從指定輸入流掃描的值。
- Scanner(Readable source) - 它創建一個新的 Scanner 以提供從指定源掃描的值。
- Scanner(String source) - 它創建一個新的 Scanner 以生成從特定字符串掃描的值。
- Scanner(ReadableByteChannel source) – 它創建一個新的 Scanner 以生成從指定通道掃描的值。
- Scanner(Path source) - 它創建一個新的 Scanner 以生成從指定文件掃描的值。
有哪些不同的 Scanner 類方法?
就像 Scanner 類構造函數一樣,還有一套全面的 Scanner 類方法,每個方法都有一個獨特的用途。 您可以將 Scanner 類方法用於不同的數據類型。 下面是最廣泛使用的 Scanner 類方法的列表:
- void [close()] - 此方法用於關閉掃描儀。
- pattern [delimiter()] - 此方法有助於獲取 Scanner 類當前使用的 Pattern 以匹配分隔符。
- Stream<MatchResult> [findAll()] – 它提供匹配指定模式字符串的匹配結果流。
- String [findInLine()] - 它有助於查找從指定字符串創建的模式的下一次出現。 此方法不考慮分隔符。
- String [nextLine()] – 用於獲取被掃描器對象跳過的輸入字符串。
- IOException [ioException()] - 此方法有助於獲取 Scanner 可讀的最後投射的 IOException。
- Locale [locale()] – 它獲取 Scanner 類的 Locale。
- MatchResult [match()] – 它提供了 Scanner 執行的最後一次掃描操作的匹配結果。
- BigDecimal [nextBigDecimal()] - 此方法用於將輸入的下一個標記掃描為 BigDecimal。
- BigInteger [nextBigInteger()] - 此方法將輸入的下一個標記掃描為 BigInteger。
- byte [nextByte()] – 它掃描用戶輸入的下一個標記作為字節值。
- double [nextDouble()] – 它將用戶輸入的下一個標記掃描為雙精度值。
- float [nextFloat()] - 此方法將輸入的下一個標記掃描為浮點值。
- int [nextInt()] - 此方法用於將輸入的下一個標記掃描為 Int 值。
- 布爾值:
- [hasNext()] – 如果 Scanner 在用戶輸入中有另一個標記,則此方法返回 true。
- [hasNextBigDecimal()] – 此方法檢查掃描器輸入中的下一個標記是否可以通過使用 nextBigDecimal() 方法解釋為 BigDecimal。
- [hasNextBoolean()] – 它檢查掃描器輸入中的下一個標記是否可以使用 nextBoolean() 方法解釋為布爾值。
- [hasNextByte()] – 它使用 nextBigDecimal() 方法檢查掃描器輸入中的下一個標記是否可解釋為字節。
- [hasNextFloat()] – 它使用 nextFloat() 方法檢查掃描器輸入中的下一個標記是否可解釋為浮點數。
- [hasNextInt()] – 它使用 nextInt() 方法檢查掃描器輸入中的下一個標記是否可解釋為 Int。
退房:印度的 Java 開發人員薪水

如何在 Java 中使用 Scanner 類?
正如我們之前提到的,在 Java 中使用 Scanner 類非常容易。 下面是一個示例,演示如何使用nextLine()方法實現 Scanner 類:
導入java.util.*;
公共類ScannerExample {
公共靜態無效主要(字符串參數[]){
掃描儀輸入 =新掃描儀(System.in);
System.out.print("請輸入您的姓名:");
字符串名稱 = in.nextLine();
System.out.println(“名稱為:” + name);
附寄();
}
}
如果您運行此程序,它將提供以下輸出:

請輸入您的姓名:約翰·漢克斯
姓名:約翰·漢克斯
另請閱讀:什麼是 Java 中的類型轉換 | 作為初學者理解類型轉換
包起來
本文介紹了 Java 中 Scanner 類的基礎知識。 如果您熟悉 Scanner 類的結構和方法,通過時間和不斷的練習,您將掌握如何在 Java 程序中使用 Scanner 類的技巧。
如果您有興趣了解有關 Java、全棧軟件開發的更多信息,請查看 upGrad 和 IIIT-B 的全棧軟件開發 PG 文憑,該文憑專為在職專業人士設計,提供 500 多個小時的嚴格培訓,9 個以上的項目和任務、IIIT-B 校友身份、實用的實踐頂點項目和頂級公司的工作協助。