今天终于把项目化的图书管理系统完整跑通了, 从功能联调到最终运行,一步步验证下来,成就感拉满。
第一次在 Linux 服务器上部署网站, 虽然只是最基础的页面, 但看到它真正在线运行的那一刻, 突然觉得之前学的东西开始活起来了。
今天主要在学习 Java 集合进阶,围绕 List 和 Iterator 写了 6 道练习题。 在删除元素时报错,才真正明白 Iterator.remove() 的正确用法。
今天系统练习了 Java 集合进阶,从 List 到 Set,再到 TreeSet。
通过 HashSet 理解了去重的真正含义,
然后我在 TreeSet 中第一次接触到 Comparator 对排序和去重规则的影响。
写代码时明显感觉思路比以前清晰了不少。
今天系统练习按照分层设计做了一个订单管理系统
对我的意义非常大
在阿里云注册了人生第一个域名 mournic.xyz, 也算是正式拥有自己网站。
网站逐渐搭建完整,从最初的空白页面到现在的雏形,过程比想象中更有满足感。
在练习TreeSet区间操作时,我对
subSet() 的行为产生了误解。
一开始以为它会直接修改原集合,结果输出始终不对=-=。
然后再一次看视频后才明白,subSet() 返回的是一个新的视图集合,
如果不接收返回值,原来的 TreeSet 是不会发生变化的。
最好要这样
SortedSet
今天系统练习了 Map 的统计类用法,
包括 getOrDefault()、putIfAbsent()、
merge() 等方法,
并用它们完成了单词统计、成绩分段统计、
字符出现次数统计等练习。
对 Map 做计数和分类”的思路开始形成手感。
以前学过面向对象,只会用语法和概念,做项目时发现思维不够清晰,于是决定回去系统练习。
经过 12.25~12.29 的练习,我能设计抽象类 User,让 Student 和 Admin 继承,多态,接口用得顺手;
熟练用 Map、List 管理学生、班级和成绩,增删查改轻松;封装方法算总分、平均分、单科排名、不及格率等。
我明白了:学校存班级,班级存学生,学生存各科成绩;多态和方法调用顺序让系统设计更方便。
12.30~1.3 学习了 Java 和 Unity 项目实践。
Java 面向对象熟练:抽象类 User、Student 和 Admin 继承,多态与接口用顺手;
集合管理学生、班级、成绩,封装方法算总分、排名、不及格率,Stream 流与方法引用提升代码优雅性;
Unity 做了吃豆人和迷宫游戏,掌握 Prefab、UI、摄像机跟随和计时器。
第一次真正开始使用 Linux,从命令行到服务器环境,感觉像是推开了一扇全新的大门。
在用 Iterator 删除 List 中元素时遇到了
UnsupportedOperationException。
一开始以为是写法问题,后来才发现是 List.of() 创建的是不可变集合。
如果要可删除的话 还要在外面套个ArrayList
今天练习了 Map 的综合用法,
entrySet() 遍历方式,以及通过
split() 将字符串解析成键值对。
在实战中第一次完整实现了一个
基于 Map 的简单登录系统,
对key 唯一、value 绑定业务数据的理解更加清晰了。
今天在实现学生管理系统时,
使用 Map<String, Student> 完成了学生信息管理与成绩统计。
在调试过程中发现并修正了构造函数中
name 与 id 参数传入顺序写反的问题,
同时意识到 Scanner 等输入资源应作为类成员统一管理 直接new 一个 需要时调用,
对面向对象中“数据模型”和“管理类”的职责有了更清晰的理解。
今天在练习 JDBC 连接 MySQL 的过程中,
成功完成了 students 表的查询与成绩统计,
使用 ResultSet 遍历数据并在 Java 中进行汇总计算。
在调试时逐步理解了
executeQuery 与 executeUpdate 的使用场景差异,
同时意识到数据库字段变更(如字段重命名)
必须与 Java 实体类保持同步,
对“数据库结构 -> - Java 对象”的对应关系有了更清晰、工程化的认知。