java中用scanner接收键盘输入需先导入java.util.scanner,再用system.in创建对象;根据类型调用nextint()、nextdouble()、next()、nextline()等方法;注意next()类方法后需用nextline()清除换行符;最后推荐调用close()释放资源。

Java 中用 Scanner 类接收键盘输入,核心是创建 Scanner 对象并调用对应方法读取不同类型的数据,注意输入流关闭和类型匹配问题。
创建 Scanner 对象读取标准输入
需要导入 java.util.Scanner,然后用 System.in 初始化:
-
必须 import Scanner 类:在类顶部写
import java.util.Scanner; - 创建对象:
Scanner sc = new Scanner(System.in); - System.in 是标准输入流,代表键盘输入
根据数据类型选择读取方法
不同方法读取不同类型的值,注意方法名后缀与类型对应:
在 Java 中初始化和管理阿里云 SDK客户端。包括单例模式、线程安全、endpoint 与 region 配置、VPC 终端节点、同步与异步等。
- 读整数:
int x = sc.nextInt(); - 读小数:
double y = sc.nextDouble(); - 读字符串(单个词):
String s = sc.next(); - 读整行(含空格):
String line = sc.nextLine(); - 读布尔值:
boolean flag = sc.nextBoolean();
处理 next() 和 nextLine() 的换行残留问题
调用 nextInt()、nextDouble() 等方法后,光标停在换行符上,直接跟 nextLine() 会读到空行:
- 解决办法:在数字读取后加一句
sc.nextLine();消耗掉换行符 - 例如:
int age = sc.nextInt(); sc.nextLine(); String name = sc.nextLine(); - 或者统一用
nextLine()读字符串再转换:int age = Integer.parseInt(sc.nextLine());
使用完记得关闭 Scanner(可选但推荐)
虽然对 System.in 关闭不会影响后续输入,但养成关闭习惯更规范:
- 调用
sc.close();释放资源 - 通常放在所有输入操作完成后
- 如果后续还要继续输入,就不要提前 close
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南










