1. Java键盘输入基础:Scanner类详解
在Java开发中,处理用户输入是基础但至关重要的技能。Scanner类作为Java标准库中最常用的输入工具,它提供了一种简单直观的方式来获取各种类型的用户输入。让我们从一个实际案例开始:
java复制import java.util.Scanner;
public class VariableDemo3 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请键盘输入一个整数:");
int num1 = sc.nextInt();
System.out.println("请键盘输入另一个整数:");
int num2 = sc.nextInt();
int sum = num1 + num2;
System.out.println("两数之和为:" + sum);
}
}
这段代码虽然简单,但包含了Scanner使用的核心要素。首先需要导入java.util.Scanner包,然后创建Scanner对象时传入System.in参数表示从标准输入读取数据。nextInt()方法会阻塞程序执行,等待用户输入整数。
1.1 Scanner的工作原理
Scanner类本质上是一个文本扫描器,它将输入流分解为标记(token),然后根据不同的next方法将这些标记转换为对应的数据类型。当调用nextInt()时:
- Scanner会跳过输入流前面的空白字符(空格、制表符、换行等)
- 读取连续的字符直到遇到非数字字符
- 将这些字符转换为int类型
- 将指针停留在转换结束的位置
这种机制解释了为什么连续调用nextInt()可以正确读取多个由空格或回车分隔的数字。
注意:Scanner的next系列方法(nextInt、nextDouble等)不会消费行尾的换行符,这可能导致后续nextLine()调用直接返回空字符串。这是新手常踩的坑。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
