课程名称:极客时间《零基础学Java》

课程简介

本课程专为零基础学习者设计,从开发环境搭建、基础语法讲起,逐步深入到面向对象、异常处理、集合框架、泛型、注解、Lambda表达式、I/O操作、网络编程、多线程并发、反射、Maven项目管理,最后通过聊天室游戏小程序两个实战项目收尾。全程以“超市”案例贯穿,让抽象的概念变得具体可感。



课程内容详情(按学习顺序)

第一部分:课程概览与环境搭建(第01-09讲)

  • 01 零基础学Java课程介绍
  • 02 内容综述
  • 03 开发环境搭建(macOS)
  • 04 HelloWorld程序编译和运行(macOS)
  • 05 开发环境搭建(Windows)
  • 06 HelloWorld程序编译和运行(Windows)
  • 07 详解HelloWorld程序
  • 08 IntelliJ IDEA安装和使用(macOS)
  • 09 IntelliJ IDEA安装和使用(Windows)

第二部分:Java基础语法(第10-28讲)

  • 10 从加减乘除到变量
  • 11 再探计算加减乘除的程序
  • 12 Java中的基本数据类型
  • 13 Java中的运算符
  • 14 Java中的位运算符
  • 15 基本数据类型的更多语法点
  • 16 字符集编码和字符串
  • 17 操作符和数据类型总结
  • 18 程序执行流程之if-else语句(上)
  • 19 程序执行流程之if-else语句(下)
  • 20 程序循环之for语句
  • 21 代码块和变量的作用域
  • 22 程序循环之while语句
  • 23 程序执行流程之switch语句
  • 24 循环和判断的总结(上)
  • 25 循环和判断的总结(下)
  • 26 用数组保存成绩
  • 27 认识变量和数组(上)
  • 28 认识变量和数组(下)
  • 29 多维数组
  • 30 用数组灵活处理程序
  • 31 类(class)
  • 32 初探类和对象
  • 33 认识引用类型(上)
  • 34 认识引用类型(下)
  • 35 类、对象和引用的关系
  • 36 认识数组类型
  • 37 引用的缺省值null
  • 38 像自定义类型一样使用类

第三部分:面向对象基础(第39-56讲)

  • 39 Java中的包和访问修饰符(上)
  • 40 Java中的包和访问修饰符(下)
  • 41 打造一个小超市
  • 42 IntelliJ调试程序初探
  • 43 方法:让Merchandise对象有行为
  • 44 返回值:让商品计算毛利润
  • 45 参数:让商品计算多件商品总价
  • 46 参数和返回值的传递方式
  • 47 分清参数、局部变量和实例的地盘
  • 48 隐藏的this自引用
  • 49 理解方法:一种特殊的代码块
  • 50 理解方法的调用:代码的一种特殊跳转
  • 51 给类和方法加Java注释
  • 52 成熟的类的对象要自己做事情
  • 53 方法的签名和重载
  • 54 重载的参数匹配规则
  • 55 构造方法:构造实例的方法
  • 56 构造方法的重载和互相调用

第四部分:静态、继承与多态(第57-82讲)

  • 57 静态变量
  • 58 静态方法
  • 59 静态方法的重载
  • 60 static代码块和static变量初始化
  • 61 方法和属性的可见性修饰符
  • 62 重新认识老朋友:Math和Scanner(上)
  • 63 重新认识老朋友:Math和Scanner(下)
  • 64 最熟悉的陌生人:String(上)
  • 65 最熟悉的陌生人:String(下)
  • 66 重新认识老朋友:main方法和System类
  • 67 String类的好兄弟
  • 68 继承:方便让商品增加新的类别
  • 69 子类对象里藏着一个父类对象
  • 70 覆盖:子类想要一点不一样
  • 71 super:和父类对象沟通的桥梁
  • 72 super:调用父类的构造方法
  • 73 父类和子类的引用赋值关系
  • 74 多态:到底调用的哪个方法?(上)
  • 75 多态:到底调用的哪个方法?(下)
  • 76 多态里更多的语法点(上)
  • 77 多态里更多的语法点(下)
  • 78 instanceof操作符
  • 79 继承专属的访问控制:protected
  • 80 final修饰符(上)
  • 81 final修饰符(下)
  • 82 继承里的静态方法

第五部分:常用类与高级特性(第83-101讲)

  • 83 插曲:for循环的另一种写法
  • 84 万类之祖:Object类
  • 85 hashCode和equals方法(上)
  • 86 hashCode和equals方法(下)
  • 87 toString方法
  • 88 初探Class类
  • 89 初探反射(上)
  • 90 初探反射(下)
  • 91 面向对象三要素:封装、继承和多态
  • 92 枚举:定义商品的门类
  • 93 接口:让商品类型更丰富(上)
  • 94 接口:让商品类型更丰富(下)
  • 95 抽象类:接口和类的混合体
  • 96 有方法代码的接口
  • 97 接口内代码的更多内容
  • 98 静态内部类
  • 99 成员内部类
  • 100 局部内部类
  • 101 匿名类
  • 102 特殊类的总结

第六部分:超市实战与异常处理(第103-113讲)

  • 103 让我们的超市运转起来:设计篇
  • 104 让我们的超市运转起来:代码篇
  • 105 初识异常:try-catch
  • 106 Java中异常的分类
  • 107 抛出异常的语法
  • 108 Java异常的传递
  • 109 自定义异常
  • 110 异常传递不是凌波微步
  • 111 try-catch-finally语句
  • 112 自动回收资源的try语句
  • 113 Java中的常见异常

第七部分:集合框架与泛型(第114-126讲)

  • 114 Collection类族简介
  • 115 Collection中的List(上)
  • 116 Collection中的List(下)
  • 117 Collection中的Set
  • 118 范型简析(上)
  • 119 范型简析(下)
  • 120 再探范型
  • 121 Iterator接口
  • 122 Map:key和value的映射
  • 123 定义自己的注解
  • 124 lambda的理解和使用(上)
  • 125 lambda的理解和使用(下)
  • 126 基本类型的自动装箱和拆箱

第八部分:I/O与网络编程(第127-135讲)

  • 127 Java中的File类
  • 128 Java I/O简介
  • 129 写文件内容小程序
  • 130 读文件内容小程序
  • 131 网络通讯名词简介
  • 132 简单的网络通讯小程序(上)
  • 133 简单的网络通讯小程序(下)
  • 134 简单的抓取网页内容的程序
  • 135 JDK和JRE

第九部分:多线程与并发(第136-152讲)

  • 136 初识线程
  • 137 创建自己的线程
  • 138 再探线程
  • 139 多线程:混乱开始了
  • 140 同步控制之synchronized
  • 141 同步控制之wait/notify
  • 142 多线程经典模型:生产者消费者
  • 143 线程同步之join
  • 144 死锁
  • 145 ThreadLocal线程专属的变量
  • 146 定时任务
  • 147 volatile关键字的作用
  • 148 concurrent包基本原理
  • 149 concurrent包中的Atomic类族
  • 150 concurrent包中的锁
  • 151 concurrent包中的数据结构
  • 152 concurrent包中的线程池

第十部分:Maven与项目管理(第155-162讲)

  • 155 什么是学习一门语言
  • 156 Java平台简介
  • 157 Maven概念简介
  • 158 Maven的安装和配置
  • 159 创建一个简单的Maven项目
  • 160 一个从pptx文件中抽取文字的小工具
  • 161 Maven常用命令和插件
  • 162 Intellij更多功能介绍

第十一部分:进阶扩展与实战(第163-170讲)

  • 163 值得学习的类库简介
  • 164 如何在StackOverflow上提问才不会被骂
  • 165 浅谈程序设计
  • 166 游戏小程序功能定义
  • 167 游戏小程序设计和模块划分
  • 168 游戏小程序代码分析
  • 169 使用Swagger创建一个SpringBoot的Web服务
  • 170 结束语

第十二部分:聊天室实战(第153-154讲)

  • 153 聊天室开张喽(上)
  • 154 聊天室开张喽(下)


学习建议

  • 零基础学员:按顺序从第01讲开始,不要跳跃。
  • 有基础学员:可从第41讲“打造一个小超市”或第68讲“继承”开始。
  • 重点章节:多态(74-77)、集合框架(114-122)、多线程(136-152)是面试高频区。