Java新手第一课:键盘录入Scanner,原来这么简单!
一、先理解:什么是 API?
如果你是刚学Java的萌新,第一次听到“API”这个词,可能会觉得:“这是什么高端黑话?”
我就是那个萌新哈哈哈哈哈。
1. API 定义
API 全称:Application Programming Interface,应用程序编程接口。
简单理解:Java 官方提前写好、封装完毕的功能代码,我们开发者直接调用即可,不用关心底层实现。
举个生活化例子:
你去饭店吃饭,只需要跟服务员报菜名,不用自己进后厨买菜、炒菜。服务员就相当于 API,后厨复杂的做菜逻辑被隐藏,你只需要调用 “点餐” 这个能力。
2. API 核心优势
- 降低开发成本:避免重复造轮子;
- 代码简洁稳定:官方库经过大量测试,比自己实现更可靠;
- 聚焦业务:让你专注于核心业务,不用纠结底层细节。

二、键盘录入核心工具:Scanner 类
键盘录入:获取键盘按下的数据,并保存在变量当中。
核心思想:Scanner 就是 Java 提供给我们的一个现成的 API 工具,我们不需要自己写键盘监听代码,直接调用它的方法就行了。
Scanner 标准使用三步法
-
导包:
import java.util.Scanner;导入Scanner类(IDEA可自动补全)。 -
创建对象:
Scanner sc = new Scanner(System.in);创建Scanner实例,绑定键盘输入流。sc是自定义对象名,可修改。 -
接收数据:调用对应方法,等待并读取用户输入。
nextInt():接收整数nextDouble():接收小数next():接收不带空格的字符串
| 三个最常用的方法 | 接收数据类型 | 特点 |
|---|---|---|
| nextInt() | int 整数 | 只能输入整数;输入非整数内容会抛出 InputMismatchException 异常。 |
| nextDouble() | double 小数 | 支持整数 / 小数;输入非数字内容会抛出 InputMismatchException 异常。 |
| next() | String 字符串 | 遇到空格、回车就停止读取,适合无空格文本 |
补充说明:
next()遇到空格或回车就停止读取。比如输入"张 三",它只能读到"张"。进阶可学习nextLine()解决空格问题。
三、实战演练:录入并展示个人信息
需求:控制台依次输入姓名、年龄、体重,最后统一打印汇总信息,代码可直接复制运行。
import java.util.Scanner;// 1.导包(IDEA会自动帮我们导入)
public class ScannerDemo {
public static void main(String[] args) {
// 2.创建Scanner对象
Scanner sc = new Scanner(System.in);
// 3.接收数据
System.out.println("请输入您的年龄:");
int age = sc.nextInt(); // 接收整数-年龄
System.out.println("请输入您的姓名:");
String name = sc.next(); // 接收字符串-姓名
System.out.println("请输入您的体重:");
double weight = sc.nextDouble(); // 接收小数-体重
// 4. 输出录入信息
System.out.println("===== 用户信息汇总 =====");
System.out.println("姓名:" + name);
System.out.println("年龄:" + age + " 岁");
System.out.println("体重:" + weight + " kg");
sc.close(); // 5. 建议:关闭资源
}
}
运行效果:

最后抛出一个问题(引发思考)
🤔 思考题:
如果用户不按套路出牌,比如调用nextInt()时,他偏偏输入了"abc"而不是数字,程序直接报错终止了。如果你是程序员,怎么让程序提示“请输入数字”并让用户重输?
💡 这道题超纲了! 我目前的知识储备暂时答不上来。但没关系,问题先留在这里,答案留给时间,也留给你和我。
欢迎在评论区留下你的思路,我们一起探讨~
更多推荐


所有评论(0)