Java Scanner 類:用戶輸入的入門

簡介

你好,熱心的學習者!今天,我們將深入探討 Java 程式設計中最有用的工具之一:Scanner 類。將 Scanner 類視為一款幫助你的程式與用戶溝通的友好助手。這就像擁有一個記錄用戶所輸入一切的私人秘書!

Java - Scanner Class

當我第一次開始教 Java 時,我注意到許多學生在用戶輸入方面遇到了困難。但一旦他們掌握了 Scanner 類,就像是看見他們頭上亮起了一盞燈泡。所以,讓我們一起踏上這個令人興奮的旅程吧!

類別聲明

在我們開始使用我們的「秘書」之前,我們需要告訴 Java 我們想要使用 Scanner 類。我們通過在程式的開頭添加一行特殊代碼來實現這一點:

import java.util.Scanner;

這行代碼就像告訴 Java,「嘿,我需要你工具箱裡的那個 Scanner 东西!」當你想使用 Scanner 時,記得總是包含這行代碼。

類別構造函數

現在,我們已經告訴 Java 我們想要使用 Scanner,我們需要創建我們的 Scanner 物件。這就像僱用我們的秘書並給他們一個名字。這樣做:

Scanner myScanner = new Scanner(System.in);

讓我們分解一下:

  • Scanner 是我們創建的物件類型
  • myScanner 是我們給我們的 Scanner 物件的名字(你可以隨意選擇)
  • new Scanner(System.in) 是創建一個新的 Scanner,它將從系統(鍵盤)讀取輸入

類別方法

我們的 Scanner「秘書」具有多種技能(方法)來幫助我們收集不同類型的輸入。以下是一些最常見的使用方法:

方法 描述
nextLine() 讀取一行文字(字符串)
nextInt() 讀取一個整數
nextDouble() 讀取一個雙精度數(小數)
nextBoolean() 讀取一個布爾值(true/false)
next() 讀取下一個單詞

繼承的方法

Scanner 類也從其父類中繼承了一些方法。現在不必過於擔心這些,但知道它們存在是好的:

方法 描述
clone() 創建 Scanner 的副本
equals() 將此 Scanner 與另一個物件比較
finalize() 為垃圾回收準備 Scanner
hashCode() 返回此 Scanner 的哈希碼
toString() 返回 Scanner 的字符串表示形式

使用 Scanner 類從控制台讀取行範例

現在,讓我們通過一個簡單的範例將我們的新知識付諸實踐:

import java.util.Scanner;

public class ScannerExample {
public static void main(String[] args) {
// 創建一個 Scanner 物件
Scanner myScanner = new Scanner(System.in);

// 提示用戶輸入他們的名字
System.out.println("你的名字是什麼?");

// 讀取用戶的輸入
String name = myScanner.nextLine();

// 打印一個問候
System.out.println("你好," + name + "!歡迎來到 Java 程式設計!");

// 關閉 Scanner
myScanner.close();
}
}

讓我們分解一下:

  1. 我們導入 Scanner 類。
  2. 我們創建一個名為 myScanner 的 Scanner 物件。
  3. 我們將一個問題打印到控制台。
  4. 我們使用 nextLine() 讀取用戶的輸入,並將其存儲在 name 變量中。
  5. 我們使用用戶輸入的名字打印一個問候。
  6. 我們關閉 Scanner 以釋放資源。

輸出

當你運行這個程序時,它的輸出將會類似這樣:

你的名字是什麼?
Alice
你好,Alice!歡迎來到 Java 程式設計!

這不是很酷嗎?就像與你的計算機進行對話一樣!

一個小心的建議

這裡有一個來自我教學經驗的小故事。有一次,一個學生在程序的結束時忘記關閉他們的 Scanner。起初一切看起來都很好,但當他們稍後運行一個更複雜的程序時,開始發生奇怪的事情!記得在完成 Scanner 使用後關閉它,就像你在一天結束時解雇你的秘書一樣。

結論

恭喜你!你剛剛踏入 Java 世界中的用戶輸入。Scanner 類是一個強大的工具,它將允許你創建有交互性的程序。記住,熟能生巧。試著創建有不同類型輸入要求的程序 - 也許是一個詢問數字的計算器,或者是一個問問題的益智遊戲!

在你繼續你的 Java 旅程時,你將會發現更多令人興奮的功能。但現在,給自己一個鼓勵。你不再只是與計算機對話 - 你正在與它進行對話!

Credits: Image by storyset