Java Scanner 类:用户输入的门户
简介
你好,热心的学习者们!今天,我们将深入探讨 Java 编程中最有用的工具之一:Scanner 类。将 Scanner 类想象成一个友好的助手,它帮助你的程序与用户进行交流。这就像拥有一个个人秘书,记录用户输入的一切!
当我第一次开始教 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("What's your name?");
// 读取用户的输入
String name = myScanner.nextLine();
// 打印问候语
System.out.println("Hello, " + name + "! Welcome to Java programming!");
// 关闭 Scanner
myScanner.close();
}
}
让我们分解一下:
- 我们导入 Scanner 类。
- 我们创建一个名为
myScanner
的 Scanner 对象。 - 我们在控制台上打印一个问题。
- 我们使用
nextLine()
读取用户的输入并将其存储在name
变量中。 - 我们使用用户输入的名字打印一个问候语。
- 我们关闭 Scanner 以释放资源。
输出
当你运行这个程序时,它的输出可能会像这样:
What's your name?
Alice
Hello, Alice! Welcome to Java programming!
这难道不酷吗?就像和你的电脑进行对话!
一点警告
这是我的教学经历中的一个小故事。曾经有一个学生忘记在程序结束时关闭他们的 Scanner。一开始看起来没问题,但当他们在后来运行一个更复杂的程序时,奇怪的事情开始发生!记住,在你完成 Scanner 使用后,总是要关闭它,就像你会在一天结束时解雇你的秘书一样。
结论
恭喜你!你已经迈出了进入 Java 用户输入世界的第一步。Scanner 类是一个强大的工具,它将允许你创建交互式程序。记住,熟能生巧。尝试创建一些要求不同类型输入的程序——也许是一个询问数字的计算器,或者是一个问答游戏!
在你继续 Java 之旅的过程中,你将发现许多更多令人兴奋的功能。但现在,给自己一个鼓励。你不再只是和你的电脑对话——你们正在进行交流!
Credits: Image by storyset