Scanner类位于java.util包,用于读取控制台、文件或字符串输入;2. 需创建Scanner实例并调用相应方法读取不同数据类型;3. 注意nextInt等方法后需用nextLine吸收换行符;4. 可用于字符串解析和文件读取;5. 使用后应调用close关闭资源;6. 适合初学者和小型项目。

在Java中,Scanner类是读取用户输入最常用的方式之一。它位于java.util.Scanner包中,能够从控制台、文件或字符串中解析基本数据类型和字符串。本文将介绍如何使用Scanner类进行输入操作,并提供实用示例帮助理解。
要使用Scanner,必须先导入其所在包。然后通过System.in创建一个读取控制台输入的Scanner对象。
代码示例如下:
import java.util.Scanner;
public class InputExample {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入姓名:");
String name = scanner.nextLine(); // 读取一整行
System.out.print("请输入年龄:");
int age = scanner.nextInt();
System.out.println("你好," + name + ",你今年" + age + "岁。");
scanner.close(); // 使用完毕后关闭资源
}
}
注意:每次使用完Scanner后建议调用close()方法释放资源,避免潜在的内存泄漏。
立即学习“Java免费学习笔记(深入)”;
Scanner支持多种数据类型的读取方法,根据输入内容选择合适的方法可以提高程序稳定性。
示例:混合输入字符串与数字
System.out.print("请输入名字和分数:");
String studentName = scanner.next(); // 如输入 Li
double score = scanner.nextDouble(); // 接着输入 89.5
System.out.println(studentName + "的成绩是:" + score);
当nextInt()或nextDouble()后紧跟nextLine()时,可能会出现“跳过输入”的现象。这是因为前一个方法只读取数值,未读取回车符,而nextLine会立即读取残留的换行。
解决方法是在中间添加一次额外的nextLine()来吸收换行:
System.out.print("请输入年龄:");
int age = scanner.nextInt();
scanner.nextLine(); // 吸收回车,防止影响后续输入
System.out.print("请输入备注信息:");
String remark = scanner.nextLine();
Scanner不仅限于控制台输入,也可用于解析字符串或读取文件内容。
从字符串中提取数据:
String input = "张三 25 88.5"; Scanner strScanner = new Scanner(input); String name = strScanner.next(); int id = strScanner.nextInt(); double grade = strScanner.nextDouble(); strScanner.close();
读取文件内容(需处理异常):
try (Scanner fileScanner = new Scanner(new File("data.txt"))) {
while (fileScanner.hasNextLine()) {
System.out.println(fileScanner.nextLine());
}
} catch (Exception e) {
System.out.println("文件未找到:" + e.getMessage());
}
基本上就这些。掌握Scanner的基本用法后,就能灵活处理各种输入场景。虽然它对初学者友好,但在高并发或大量数据处理时性能不如BufferedReader。日常练习和小型项目中,Scanner仍是首选工具。
以上就是在Java中如何使用Scanner类读取输入数据_Scanner输入操作实践的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号