知识全景图/ 软件工程与系统/ Java 生态全景图/ 编程基本结构

Java 学习阶段一:用小程序学会编程基本结构

不从术语表开始,而是用一个命令行记账本,把变量、判断、循环、方法和对象自然长出来

定位: 这页适合零基础或基础不稳的人。第一阶段不要求你背完 Java 语法,而是完成一个能运行、能扩展、能解释的小程序。

贯穿项目: 命令行记账本。它从“记录一笔收入或支出”开始,逐步升级到多笔记录、余额统计、方法拆分、对象建模和错误处理。
一、先别学概念,先做这件小事
输入一笔账 区分收入支出 保存多笔账 统计余额 拆成方法 变成对象 处理错误
你要做的事自然遇到的卡点这时才引入的概念
让用户输入金额、类型和备注金额和文字不能混在一起,程序要知道每个值是什么变量、类型、输入输出
收入增加余额,支出减少余额同一笔账因为类型不同,处理路径不同条件判断
连续记录很多笔账一笔账可以手写变量,很多笔就需要统一保存和重复处理数组、集合、循环
统计总收入、总支出、余额程序要一笔一笔扫过去,把结果累加出来循环边界、累加器
代码越来越长所有逻辑堆在 main 里,自己也看不懂了方法、参数、返回值
每笔账都有金额、类型、备注、时间这些字段总是一起出现,应该被当成一个东西类、对象、字段
用户输入了负数或乱填文字真实程序不能假设输入永远正确异常、校验、失败路径
二、七轮练习:每轮只解决一个新问题
第 1 轮:只记录一笔账
输入金额、类型、备注,打印“收入 100 元,备注:工资”。先让程序能和人对话。
第 2 轮:让余额动起来
如果是收入,余额增加;如果是支出,余额减少。这里才真正理解 if 不是语法,而是路径选择。
第 3 轮:保存多笔账
不要再建 amount1amount2。用集合保存多条记录,开始理解“一组数据”为什么需要容器。
第 4 轮:做统计
遍历所有记录,算总收入、总支出和余额。循环不是背格式,而是把“重复检查每一笔”交给程序。
第 5 轮:拆方法
把“新增记录”“打印明细”“统计余额”拆成方法。每个方法只回答一个小问题。
第 6 轮:建立 Entry 对象
把金额、类型、备注、时间收进一个 Entry 类。对象不是抽象名词,它就是一笔账在程序里的形状。
第 7 轮:处理错误输入
金额不能是负数,类型只能是收入或支出,用户输错要提示。程序开始从“能跑”变成“可靠一点”。
三、每天怎么学才吸收
动作具体做法不要做什么
先写最小版本每轮只加一个新功能,哪怕只有 20 行不要一开始就想做完整系统
再问为什么写完后解释:我为什么需要这个变量、这个判断、这个循环不要先背概念定义
保留失败记录记录一次报错、原因和修复方式不要只把正确代码留下来
关掉参考重写看懂之后,空白文件重写一遍不要一直跟着视频敲
最后复盘迁移想想同样结构能不能做成绩统计、图书清单、通讯录不要把知识绑定在唯一例子上
四、概念回收表:先做完,再看这张表
概念在记账本里对应什么迁移到别的小项目
变量与类型金额是数字,备注是文字,类型是收入或支出成绩、价格、库存、姓名、手机号
条件判断收入和支出走不同计算路径成绩等级、库存是否足够、用户权限
循环逐条扫描账目,统计收入支出遍历学生、图书、订单、商品
集合保存多笔账,而不是只保存一笔列表页、查询结果、购物车
方法新增、统计、打印明细分别拆开任何项目都要拆功能块
对象一笔账是 Entry,有金额、类型、备注、时间Student、Book、Order、Product
异常与校验负数金额、非法类型、空备注都要处理表单校验、接口参数、文件读取失败
五、阶段一验收:不是看你懂了多少词
验收问题能回答才算过关
如果我要新增“分类”,代码应该改哪里?能说出 Entry 要加字段,新增记录时要输入分类,统计时可以按分类过滤
如果我要只看支出记录,怎么做?能用循环遍历集合,并用条件筛出支出
如果 main 太长,怎么拆?能拆出新增、打印、统计、校验几个方法
如果用户输入错了,程序怎么办?能给出校验和提示,而不是让程序直接崩掉
如果换成学生成绩统计,这些结构还能用吗?能把 Entry 换成 StudentScore,并复用输入、保存、遍历、统计这套结构
六、回到主线
下一页:把小程序升级成 Java 后端项目
完成本阶段后,进入 Java 学习阶段二:Java 主线,把命令行记账本升级为有数据库和 REST 接口的 Spring Boot 项目。
上层页:Java 生态全景图
如果想看 Java 在 JVM、Spring、后端生态里的位置,回到 Java 生态全景图
总结: 阶段一的吸收顺序是:先做一个小任务,遇到真实卡点,再引入概念,最后把概念迁移到别的小程序。这样变量、判断、循环、方法和对象不再是词,而是你亲手解决过的问题。