课程名称:极客时间《零基础学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)是面试高频区。




