序章
  • 课程介绍
  • Java已死吗?
  • Java进化论
  • 首次Hello World
  • 继续Hello World
  • 一次编写,到处运行?
  • 学习方法论
基本语法
  • 变量、基本数据类型
  • 运算符一览
  • 流程控制:分支与循环
  • 数组
  • 关键词与注释
  • 放码过来:MOOC练习演示-NetBeans
  • 放码过来:MOOC练习演示-IDEA
  • 放码过来:USACO:黑色星期五
面向对象
  • 从坦克大战说起
  • 对象、类、状态与行为I
  • 对象、类、状态与行为II
  • toString、equals与hashCode
  • 再谈equals与hashCode
  • 继承与实现
  • 继承与实现II
  • 接口与组合
  • 包、访问控制及构造方法
  • 放码过来:胜利十一人
数据结构
  • 问题:双城记词频统计
  • 数组与扩容
  • ArrayList和LinkedList
  • HashSet和TreeSet
  • HashMap与TreeMap
  • PriorityQueue:最小堆
  • PriorityQueue:最大堆
  • 放码过来:LeetCode:石头记
  • Stack:后进先出的栈
  • 放码过来:LeetCode:解压字符串(递归)
  • 放码过来:LeetCode:解压字符串(迭代)
  • 集合类图与小结
输入输出
  • 文件读写:从礼尚往来说起
  • 初阶文件读取
  • 初阶文件写入
  • try-with-resources简介
  • 巨大文件流处理
附加:延伸学习
  • 三次Hello World
  • JDK源码阅读示例:String.repeat(int count)方法
  • 告别手写toString/hashCode/equals...Lombok使用说明
  • Lombok实现机制简介:JSR269
  • Java编译API(JSR199)及其应用简介