# learn-java-base **Repository Path**: hzy45/learn-java-base ## Basic Information - **Project Name**: learn-java-base - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-04-30 - **Last Updated**: 2026-05-05 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Java 循序渐进学习项目 —— 任务管理器 围绕「任务管理器」主题,分 7 个阶段逐步掌握 Java 核心语法。 > **运行环境**:JDK 17+ ## 阶段大纲 ### Step 01:基础语法 - 文件:`src/step01_basics/Basics.java` - 知识点: - main 方法 —— 程序入口 - 变量与基本数据类型(int, double, boolean, char, String) - 运算符与表达式 - 控制流:if-else, switch - 循环:for, while, for-each - 数组 - 方法的定义与调用 ### Step 02:面向对象编程 (OOP) - 文件:`src/step02_oop/TaskManager.java` - 知识点: - 类与对象 - 属性(字段)与方法 - 构造方法 + `this()` 链式调用 - this 关键字 - 封装:private + getter/setter - 方法重载 (Overload) - 继承 (extends) - 方法重写 (Override) - 多态 - 抽象类与接口 - `instanceof` 模式匹配(JDK 16) ### Step 03:集合框架 (Collections) - 文件:`src/step03_collections/CollectionDemo.java` - 知识点: - ArrayList —— 最常用的动态数组 - LinkedList —— 链表 - HashMap —— 键值对映射 - HashSet —— 去重集合 - 遍历集合的方式 - Collections 工具类 - Comparable 接口与排序 - equals 与 hashCode - 不可变集合 `List.of / Map.of / Set.of`(JDK 9) ### Step 04:异常处理 - 文件:`src/step04_exception/ExceptionDemo.java` - 知识点: - try-catch-finally 基本结构 - 多个 catch 块 - finally 块的用途 - throw 关键字手动抛出异常 - throws 声明异常 - 自定义异常 - 异常链 - try-with-resources ### Step 05:文件 I/O - 文件:`src/step05_fileio/FileIODemo.java` - 知识点: - File 类 —— 文件与目录操作 - FileReader / FileWriter —— 字符流读写 - BufferedReader / BufferedWriter —— 缓冲流 - PrintWriter —— 格式化输出 - NIO Files 工具类 - CSV 文件读写实战 ### Step 06:Stream API 与 Lambda 表达式 - 文件:`src/step06_stream/StreamDemo.java` - 知识点: - Lambda 表达式语法 - 函数式接口 (Functional Interface) - Stream 创建方式 - 中间操作:filter, map, sorted, distinct, limit - 终端操作:forEach, collect, count, reduce - Collectors 工具类(分组、分区、拼接) - Optional 类 - 方法引用 ### Step 07:现代 Java 语法(JDK 10 ~ 17) - 文件:`src/step07_modern/ModernJavaDemo.java` - 知识点: - `var` 局部变量类型推断(JDK 10) - 增强的 String 方法:`isBlank / strip / repeat / lines`(JDK 11) - `switch` 表达式与箭头语法(JDK 14) - 文本块 Text Block `"""..."""`(JDK 15) - Record 记录类(JDK 16) - 密封类 Sealed Class(JDK 17) ## 运行方式 在项目根目录下编译和运行,`-d out` 将 class 文件输出到 out 目录: ```bash # 以 Step 01 为例 javac -encoding UTF-8 -d out src/step01_basics/Basics.java java -cp out Basics # Step 07 现代语法 javac -encoding UTF-8 -d out src/step07_modern/ModernJavaDemo.java java -cp out ModernJavaDemo ``` > **注意**:Windows 下编译含中文注释的源文件时,需加 `-encoding UTF-8` 参数,否则会出现 GBK 编码错误。 清理编译产物(PowerShell): ```powershell Remove-Item -Recurse -Force out\* ``` ## 学习建议 1. **按顺序学习**:每个阶段基于前一阶段知识,逐步递进 2. **动手修改**:阅读文件顶部注释了解学习目标,尝试修改代码观察效果 3. **关注输出**:运行程序后对照输出结果理解每个语法点的实际效果 4. **举一反三**:理解示例后,尝试用相同语法解决自己的场景问题