简易计算器是检验Java基础的直接方式,分控制台版(Scanner输入、switch运算、除零判断)、Swing图形版(JFrame+GridLayout+ActionListener)和健壮性升级(try-catch、输入校验),并可扩展连续计算、退格清屏与键盘支持。

写一个能跑起来的简易计算器,是检验 Java 基础是否扎实最直接的方式。它不靠框架、不拼算法,只用变量、输入输出、条件判断和方法封装——把基础语法串成一条完整逻辑链。
控制台版:三步写出可运行代码
适合刚学完 Scanner 和 switch 的新手,5 分钟内就能敲完并看到结果。
- 用 Scanner 接收两个 double 类型数字和一个字符串运算符(如 "+")
- 用 switch 分支处理四则运算,每个 case 返回对应计算结果
- 在除法分支里加一句 if (num2 != 0) 判断,避免程序崩溃
图形界面版:Swing 入门第一课
不用 JavaFX,就用 JDK 自带的 Swing——JFrame 搭窗口、JTextField 当屏幕、JButton 做按键,零依赖直接编译运行。
- 按钮布局用 GridLayout(4, 4),干净对齐,不用纠结坐标
- 所有点击事件统一走 ActionListener,通过
e.getActionCommand()获取按钮内容 - 核心状态只管三件事:当前输入数字、上一个数、待执行的运算符
健壮性升级:让程序不轻易报错
真实项目里,用户什么都会输——字母、空格、连续小数点、除以零……这些都要兜住。
立即学习“Java免费学习笔记(深入)”;
- 用 try-catch 包裹
Double.parseDouble(),捕获NumberFormatException - 除法前检查 secondNumber 是否为 0,是则弹出提示而非中断程序
- 数字按钮逻辑加一层判断:当前显示为空或以 0 开头且长度 > 1 时,不追加 0
可扩展方向:从“能用”到“好用”
练熟后可以自然延伸,每一步都用到更深层的基础知识:
- 支持连续计算(如 5 + 3 = → 8,再按 + 2 = → 10),需维护运算上下文
- 添加退格键(←)和清屏(C),涉及字符串截取与状态重置
- 兼容键盘输入,监听 KeyListener 并映射到对应按钮行为


















