Java開發必備之Scanner類介紹

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

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-22 16:06
下一篇 2024-12-22 16:06

相關推薦

  • java client.getacsresponse 編譯報錯解決方法

    java client.getacsresponse 編譯報錯是Java編程過程中常見的錯誤,常見的原因是代碼的語法錯誤、類庫依賴問題和編譯環境的配置問題。下面將從多個方面進行分析…

    編程 2025-04-29
  • Java JsonPath 效率優化指南

    本篇文章將深入探討Java JsonPath的效率問題,並提供一些優化方案。 一、JsonPath 簡介 JsonPath是一個可用於從JSON數據中獲取信息的庫。它提供了一種DS…

    編程 2025-04-29
  • Java Bean載入過程

    Java Bean載入過程涉及到類載入器、反射機制和Java虛擬機的執行過程。在本文中,將從這三個方面詳細闡述Java Bean載入的過程。 一、類載入器 類載入器是Java虛擬機…

    編程 2025-04-29
  • Java騰訊雲音視頻對接

    本文旨在從多個方面詳細闡述Java騰訊雲音視頻對接,提供完整的代碼示例。 一、騰訊雲音視頻介紹 騰訊雲音視頻服務(Cloud Tencent Real-Time Communica…

    編程 2025-04-29
  • Java Milvus SearchParam withoutFields用法介紹

    本文將詳細介紹Java Milvus SearchParam withoutFields的相關知識和用法。 一、什麼是Java Milvus SearchParam without…

    編程 2025-04-29
  • Java 8中某一周的周一

    Java 8是Java語言中的一個版本,於2014年3月18日發布。本文將從多個方面對Java 8中某一周的周一進行詳細的闡述。 一、數組處理 Java 8新特性之一是Stream…

    編程 2025-04-29
  • Java判斷字元串是否存在多個

    本文將從以下幾個方面詳細闡述如何使用Java判斷一個字元串中是否存在多個指定字元: 一、字元串遍歷 字元串是Java編程中非常重要的一種數據類型。要判斷字元串中是否存在多個指定字元…

    編程 2025-04-29
  • VSCode為什麼無法運行Java

    解答:VSCode無法運行Java是因為默認情況下,VSCode並沒有集成Java運行環境,需要手動添加Java運行環境或安裝相關插件才能實現Java代碼的編寫、調試和運行。 一、…

    編程 2025-04-29
  • Java任務下發回滾系統的設計與實現

    本文將介紹一個Java任務下發回滾系統的設計與實現。該系統可以用於執行複雜的任務,包括可回滾的任務,及時恢復任務失敗前的狀態。系統使用Java語言進行開發,可以支持多種類型的任務。…

    編程 2025-04-29
  • Java 8 Group By 會影響排序嗎?

    是的,Java 8中的Group By會對排序產生影響。本文將從多個方面探討Group By對排序的影響。 一、Group By的概述 Group By是SQL中的一種常見操作,它…

    編程 2025-04-29

發表回復

登錄後才能評論