Files
gc-plan/week1/教案.md
2026-04-29 23:45:17 +08:00

5.7 KiB
Raw Blame History

第一阶段教案Java 核心基础速通(第 1 周)

学习周期7 天 每日用时2-3 小时 教学方法概念讲解30min→ 代码演示30min→ 动手练习1-2h 最终产出:命令行通讯录程序


每日教学大纲

第 1 天Hello World —— 迈出第一步

核心概念JDK/JRE/JVM 的关系、Java 跨平台原理、编译与运行

教学重点

  1. JDK开发工具包包含 JRE运行环境JRE 包含 JVM虚拟机
  2. Java 程序先编译成 .class 字节码,再由 JVM 执行 —— "一次编译,到处运行"
  3. javac 是编译器,java 是启动器
  4. public static void main(String[] args) —— 程序的唯一入口

代码示例 day01/HelloWorld.java

public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello, Java!");
    }
}

常见踩坑

  • IDEA 中右键 → Run 即可运行,无需手动配置环境变量
  • 文件名必须和 public 类名完全一致(包括大小写)

第 2 天:数据与运算 —— 让程序"算"起来

核心概念:基本数据类型、变量声明、运算符、字符串拼接

教学重点

  1. 8 种基本类型byte/short/int/long/float/double/char/boolean
  2. 变量声明三要素:类型 + 名称 + 值
  3. 算术运算符:+ - * / %,注意整数除法截断
  4. 字符串用 String(不是基本类型,是引用类型),+ 可拼接

练习项目day02/Calculator.java —— 一个简单的四则运算计算器


第 3 天:流程控制 —— 让程序"思考"起来

核心概念:条件判断、循环、分支选择

教学重点

  1. if / else if / else —— 分支逻辑
  2. switch —— 多分支(适合固定值匹配)
  3. for 循环 —— 已知次数时使用
  4. while 循环 —— 未知次数时使用(先判断后执行)
  5. do-while 循环 —— 至少执行一次(先执行后判断)
  6. break 跳出循环,continue 跳过本次

练习项目

  • day03/MultiplicationTable.java —— 打印 9×9 乘法表for 嵌套)
  • day03/GuessNumber.java —— 猜数字游戏while + if

第 4 天:数组与方法 —— 组织数据与代码

核心概念:数组、动态数组、方法定义与调用

教学重点

  1. 数组声明:int[] arr = new int[10];
  2. 数组下标从 0 开始,越界会抛 ArrayIndexOutOfBoundsException
  3. ArrayList 动态数组:ArrayList<String> list = new ArrayList<>();
  4. 方法的定义:public static 返回类型 方法名(参数列表) { 方法体 }
  5. 方法的调用:方法名(实参);
  6. 形参 vs 实参,值传递

练习项目day04/StudentScoreManager.java —— 学生成绩管理器

  • 添加成绩、查看全部、计算平均分、查找最高/最低分

第 5 天:面向对象(上)—— 用类描述世界

核心概念类与对象、构造方法、封装、this 关键字

教学重点

  1. 类是模板,对象是实例 —— new 类名() 创建对象
  2. 成员变量 vs 局部变量
  3. 构造方法:与类同名,无返回值,用于初始化对象
  4. 封装:private 修饰成员变量 + public getter/setter
  5. this 关键字:代表当前对象,区分成员变量和局部变量

练习项目day05/Student.java —— 定义 Student 类

  • 属性姓名、年龄、学号private
  • 方法:学习、考试、自我介绍
  • 写测试类创建 3 个学生对象并调用方法

第 6 天:面向对象(下)—— 继承与多态

核心概念:继承、多态、接口、抽象类

教学重点

  1. extends 继承:子类拥有父类的属性和方法(单继承)
  2. super 调用父类构造方法或成员
  3. 方法重写 @Override:子类重新定义父类方法
  4. 多态:父类引用指向子类对象 Animal a = new Dog();
  5. abstract 抽象类:不能实例化,可以有抽象方法和普通方法
  6. interface 接口:完全抽象,一个类可以实现多个接口

练习项目day06/AnimalHierarchy.java —— 动物继承体系

  • 抽象父类 Animal有 name 和抽象方法 makeSound
  • 子类 Dog、Cat 重写 makeSound
  • 接口 Pet有 play 方法Dog 和 Cat 实现它

第 7 天:异常处理 + 集合框架 + 综合项目

核心概念异常处理、集合框架List/Map/Set

教学重点

  1. try-catch-finally 处理异常,防止程序崩溃
  2. ArrayList 有序列表List—— 可重复,有索引
  3. HashMap 键值对Map—— key 唯一,快速查找
  4. HashSet 无序集合Set—— 不可重复
  5. 泛型 <T>:编译期类型检查

综合项目addressbook/ —— 命令行通讯录

  • 封装 Contact 类
  • 使用 HashMap 存储联系人(以姓名为 key
  • 菜单驱动的 CRUD 操作
  • 异常处理防止崩溃

教学方法建议

环节 时间 内容
概念导入 15min 用生活类比引入概念(类=图纸,对象=房子)
代码演示 30min 老师在 IDE 中边写边讲,每个语句解释为什么
跟练 30min 学员照着敲一遍,感受语法
独立练习 1h 不看参考代码,独立完成当日练习项目
复盘 15min 对比参考代码,找出差异和理解盲区

注意事项

  1. 不要跳步:每天的内容建立在前一天的基础上,确保当天掌握再前进
  2. 多犯错:看到报错不要慌,仔细读错误信息是最快的进步方式
  3. 先思考后动手:在写代码前,先用中文把思路写下来
  4. 代码量 > 看书量:每天至少手敲 100 行代码,肌肉记忆很重要