最常用方式是使用Scanner类读取键盘输入。需导入java.util.Scanner,创建Scanner对象,调用nextInt()或nextDouble()等方法获取整数或小数,注意处理非法输入和换行符残留问题,推荐用完关闭scanner。

Java 从键盘输入一个数,最常用、最推荐的方式是使用 Scanner 类。它简单易用,适合初学者,也足够应对大多数控制台输入场景。
使用 Scanner 读取整数(int)
需要导入 java.util.Scanner,创建 Scanner 对象,再调用 nextInt() 方法:
- 确保输入的是合法整数,否则会抛出
InputMismatchException - 如果之前有其他输入(比如用
nextLine()),注意nextInt()不会读取换行符,可能导致后续nextLine()读到空行 —— 此时可加一句scanner.nextLine()消耗掉回车
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入一个整数:");
int num = scanner.nextInt();
System.out.println("你输入的是:" + num);
scanner.close(); // 用完记得关闭
}
}
读取小数(double / float)
用 nextDouble() 或 nextFloat(),逻辑和 nextInt() 类似:
- 输入如
3.14、-2.5都可以正常读取 - 同样要注意换行符残留问题(尤其混用 nextLine 和 nextDouble 时)
更安全的写法:先读字符串再转换
如果担心用户输错(比如输字母),可以用 nextLine() 读整行,再用 Integer.parseInt() 或 Double.parseDouble() 转换,并配合 try-catch 处理异常:
立即学习“Java免费学习笔记(深入)”;
- 避免程序因非法输入直接崩溃
- 能自定义错误提示,提升用户体验
- 适合对输入健壮性有要求的小工具
其他方式(了解即可)
BufferedReader + InputStreamReader 效率略高,但代码稍长,且仍需手动解析字符串;Console.readLine() 在某些 IDE(如 IntelliJ)中可能不生效(因标准输入被重定向)。日常练习和作业,Scanner 完全够用。
基本上就这些。记住三步:导包、建对象、调方法,再加个 close 就很规范了。











