零基础学Java
共170课时
7,096
首单特价
立即购买¥68VIP专属
领域会员免费
课程收录到: Java工程师
本课程已被收录到以下领域会员卡中,购买会员卡后可免费学习
Java工程师
Java 是一门历史悠久的编程语言。全球有1200万以上Java程序员以及海量的设备,还有无所不能的Java生态圈。诸如阿里巴巴、京东、百度、腾讯、美团、去哪儿等互联网公司,基本都是以Java为首选编程语言的。即使在最新的云计算领域,Java仍然是AWS、GoogleAppEngine等平台上,使用最多的编程语言。本系列课程,帮你解决新手-初级-中级-高级多个阶段的问题,不仅全面、扎实地掌握语言及原理,还能提供现实问题的代码。
¥299.00 ¥1159.00
立即购买
查看详情首单特价
立即购买¥68VIP专属
领域会员免费
臧萌
臧萌,现任 PayPal 数据处理组技术负责人,极客时间视频课程《零基础学Java》作者。
臧萌先后在 Sybase、eBay、盛大、亚马逊、携程、PayPal 等公司工作。在14年的一线开发中,他积攒了丰富的工作经验,作为技术负责人,也深谙职场规则。
多年来他专注于Java,有10多年一线软件设计和开发经验,对 Java 语言和软件开发有深刻的认识。臧萌曾编写过一本 Java 入门高口碑书籍《Java 入门123》,这本书豆瓣评分9.2,被称为 Java 入门图书的“战斗机”,累计 7 次印刷,售出超过 3w 册,通俗易懂的讲解风格也获得了众多读者的好评。
课程概述
课程评价
互动留言
你将获得
- 全面掌握 Java 核心语法;
- 玩转 Java 常用类库及工具;
- 攻克面向对象、多线程等技术难点;
- 独立用 Java 编写一款小游戏。
课程介绍
「极客时间出品」
在最权威的 TIOBE 编程语言排名榜单上,Java 常年稳居第一,可以说是世界上应用最为广泛的一门语言。
包括阿里巴巴、京东、去哪儿网、亚马逊在内的知名公司都在使用 Java 语言。
同时,在微服务、云计算、大数据、Android App 开发等领域,Java 也是当之无愧的主角。
可以说,学好了 Java,不愁没有用武之地,未来的就业之路也会非常宽广。
考虑到有不少人想学习编程,但苦于没有合适的教材,或者没有掌握正确的方法,始终不得其门而入。
因此,我们和臧萌老师合作开发了《零基础学Java》这门课程,臧萌老师之前曾写过一本广受好评的Java入门畅销书,相信凭借这些经验,他也会给广大初学者带来一门听得懂、学得会、用得上的 Java 入门课。
这门课将帮你轻松迈进编程世界的大门,并能够独立编写出规范、有用的 Java 程序,同时为后续的深入学习打下坚实的基础。
-
通俗易懂,化抽象为具象:通过大量比喻、类比来辅助理解抽象概念,轻松掌握Java基础语法,不再视编程语言为“天书”。
-
大小练兵,让理论融入实践:通过动手实践来更深入地掌握各知识点,把学到的知识融会贯通,完成从学一门编程语言到用一门编程语言的转变。
-
内容丰富,贯穿核心知识点:从最基础的语法讲起,再到循环控制、类、面向对象、以及多线程等高阶内容,学完后就可以独立编写一些小型应用程序,将想法变成可以运行的程序,体验创造的乐趣。
课程目录
课程目录
- 01 | 课程介绍01 | 课程介绍3分46秒 试读
- 202 | 内容综述02 | 内容综述2分45秒 试读
- 303 | 开发环境搭建(macOS)03 | 开发环境搭建(macOS)2分36秒 试读
- 404 | HelloWorld程序编译和运行(macOS)04 | HelloWorld程序编译和运行(macOS)13分2秒
- 505 | 开发环境搭建(Windows)05 | 开发环境搭建(Windows)6分30秒
- 606 | HelloWorld程序编译和运行(Windows)06 | HelloWorld程序编译和运行(Windows)13分23秒
- 707 | 详解HelloWorld程序07 | 详解HelloWorld程序5分9秒
- 808 | IntelliJ IDEA集成开发环境的安装和使用(macOS)08 | IntelliJ IDEA集成开发环境的安装和使用(macOS)12分42秒
- 909 | IntelliJ IDEA集成开发环境的安装和使用(Windows)09 | IntelliJ IDEA集成开发环境的安装和使用(Windows)12分52秒
- 1010 | 从加减乘除到变量10 | 从加减乘除到变量18分47秒
- 1111 | 再探计算加减乘除的程序11 | 再探计算加减乘除的程序11分41秒
- 1212 | Java中的基本数据类型12 | Java中的基本数据类型20分28秒
- 1313 | Java中的运算符13 | Java中的运算符22分54秒
- 1414 | Java中的位运算符14 | Java中的位运算符23分31秒
- 1515 | 基本数据类型的更多语法点15 | 基本数据类型的更多语法点23分22秒
- 1616 | 字符集编码和字符串16 | 字符集编码和字符串16分20秒
- 1717 | 操作符和数据类型总结17 | 操作符和数据类型总结20分11秒
- 1818 | 程序执行流程之if-else语句(上)18 | 程序执行流程之if-else语句(上)22分57秒
- 1919 | 程序执行流程之if-else语句(下)19 | 程序执行流程之if-else语句(下)12分56秒
- 2020 | 程序循环之for语句20 | 程序循环之for语句19分33秒
- 2121 | 代码块和变量的作用域21 | 代码块和变量的作用域20分25秒
- 2222 | 程序循环之while语句22 | 程序循环之while语句20分4秒
- 2323 | 程序执行流程之switch语句23 | 程序执行流程之switch语句10分36秒
- 2424 | 循环和判断的总结(上)24 | 循环和判断的总结(上)29分20秒
- 2525 | 循环和判断的总结(下)25 | 循环和判断的总结(下)24分37秒
- 2626 | 用数组保存成绩26 | 用数组保存成绩18分4秒
- 2727 | 认识变量和数组(上)27 | 认识变量和数组(上)21分13秒
- 2828 | 认识变量和数组(下)28 | 认识变量和数组(下)12分15秒
- 2929 | 多维数组29 | 多维数组16分28秒
- 3030 | 用数组灵活处理程序30 | 用数组灵活处理程序21分19秒
第二章 Java面向对象编程
- 131 | 类(class)31 | 类(class)7分13秒
- 232 | 初探类和对象32 | 初探类和对象10分2秒
- 333 | 认识引用类型(上)33 | 认识引用类型(上)8分37秒
- 434 | 认识引用类型(下)34 | 认识引用类型(下)8分7秒
- 535 | 类、对象和引用的关系35 | 类、对象和引用的关系4分39秒
- 636 | 认识数组类型36 | 认识数组类型10分5秒
- 737 | 引用的缺省值null37 | 引用的缺省值null13分11秒
- 838 | 像自定义类型一样使用类38 | 像自定义类型一样使用类15分25秒
- 939 | Java中的包和访问修饰符(上)39 | Java中的包和访问修饰符(上)11分0秒
- 1040 | Java中的包和访问修饰符(下)40 | Java中的包和访问修饰符(下)5分47秒
- 1141 | 打造一个小超市41 | 打造一个小超市35分41秒
- 1242 | IntelliJ调试程序初探42 | IntelliJ调试程序初探15分39秒
- 1343 | 方法:让Merchandise对象有行为43 | 方法:让Merchandise对象有行为10分18秒
- 1444 | 返回值:让Merchandise计算毛利润44 | 返回值:让Merchandise计算毛利润15分36秒
- 1545 | 参数:让Merchandise计算多件商品的总价45 | 参数:让Merchandise计算多件商品的总价29分22秒
- 1646 | 参数和返回值是怎么传递的46 | 参数和返回值是怎么传递的14分40秒
- 1747 | 分清参数、局部变量和实例的地盘47 | 分清参数、局部变量和实例的地盘13分17秒
- 1848 | 隐藏的this自引用48 | 隐藏的this自引用11分10秒
- 1949 | 理解方法:一种特殊的代码块49 | 理解方法:一种特殊的代码块6分53秒
- 2050 | 理解方法的调用:代码的一种特殊跳转50 | 理解方法的调用:代码的一种特殊跳转13分50秒
- 2151 | 给类和方法加Java注释51 | 给类和方法加Java注释11分40秒
- 2252 | 成熟的类的对象要自己做事情52 | 成熟的类的对象要自己做事情13分34秒
- 2353 | 方法的签名和重载53 | 方法的签名和重载11分56秒
- 2454 | 重载的参数匹配规则54 | 重载的参数匹配规则7分44秒
- 2555 | 构造方法:构造实例的方法55 | 构造方法:构造实例的方法9分54秒
- 2656 | 构造方法的重载和互相调用56 | 构造方法的重载和互相调用12分34秒
- 2757 | 静态变量57 | 静态变量12分8秒
- 2858 | 静态方法58 | 静态方法6分26秒
- 2959 | 静态方法的重载59 | 静态方法的重载6分48秒
- 3060 | static代码块和static变量初始化60 | static代码块和static变量初始化6分41秒
- 3161 | 方法和属性的可见性修饰符61 | 方法和属性的可见性修饰符8分31秒
- 3262 | 重新认识老朋友:Math和Scanner(上)62 | 重新认识老朋友:Math和Scanner(上)12分35秒
- 3363 | 重新认识老朋友:Math和Scanner(下)63 | 重新认识老朋友:Math和Scanner(下)10分38秒
- 3464 | 最熟悉的陌生人:String (上)64 | 最熟悉的陌生人:String (上)16分40秒
- 3565 | 最熟悉的陌生人:String (下)65 | 最熟悉的陌生人:String (下)14分3秒
- 3666 | 重新认识老朋友: main方法和System类66 | 重新认识老朋友: main方法和System类9分16秒
- 3767 | String类的好兄弟67 | String类的好兄弟7分28秒
- 3868 | 继承:方便让商品增加新的类别68 | 继承:方便让商品增加新的类别8分48秒
- 3969 | 子类对象里藏着一个父类对象69 | 子类对象里藏着一个父类对象9分56秒
- 4070 | 覆盖:子类想要一点不一样70 | 覆盖:子类想要一点不一样11分46秒
- 4171 | super:和父类对象沟通的桥梁71 | super:和父类对象沟通的桥梁7分36秒
- 4272 | super:调用父类的构造方法72 | super:调用父类的构造方法10分17秒
- 4373 | 父类和子类的引用赋值关系73 | 父类和子类的引用赋值关系15分13秒
- 4474 | 多态:到底调用的哪个方法?(上)74 | 多态:到底调用的哪个方法?(上)6分57秒
- 4575 | 多态:到底调用的哪个方法?(下)75 | 多态:到底调用的哪个方法?(下)7分45秒
- 4676 | 多态里更多的语法点(上)76 | 多态里更多的语法点(上)10分9秒
- 4777 | 多态里更多的语法点(下)77 | 多态里更多的语法点(下)6分34秒
- 4878 | instanceof操作符78 | instanceof操作符8分32秒
- 4979 | 继承专属的访问控制:protected79 | 继承专属的访问控制:protected7分32秒
- 5080 | final修饰符(上)80 | final修饰符(上)8分50秒
- 5181 | final修饰符(下)81 | final修饰符(下)8分29秒
- 5282 | 继承里的静态方法82 | 继承里的静态方法10分27秒
- 5383 | 插曲:for循环的另一种写法83 | 插曲:for循环的另一种写法4分59秒
- 5484 | 万类之祖:Object类84 | 万类之祖:Object类9分15秒
- 5585 | hashCode和equals 方法(上)85 | hashCode和equals 方法(上)13分44秒
- 5686 | hashCode和equals 方法(下)86 | hashCode和equals 方法(下)5分30秒
- 5787 | toString方法87 | toString方法5分30秒
- 5888 | 初探Class类88 | 初探Class类14分16秒
- 5989 | 初探反射(上)89 | 初探反射(上)10分33秒
- 6090 | 初探反射(下)90 | 初探反射(下)13分32秒
- 6191 | 面向对象三要素:封装、继承和多态91 | 面向对象三要素:封装、继承和多态3分37秒
- 6292 | 枚举:定义商品的门类92 | 枚举:定义商品的门类18分29秒
- 6393 | 接口:让商品类型更丰富(上)93 | 接口:让商品类型更丰富(上)7分47秒
- 6494 | 接口:让商品类型更丰富(下)94 | 接口:让商品类型更丰富(下)17分11秒
- 6595 | 抽象类:接口和类的混合体95 | 抽象类:接口和类的混合体10分41秒
- 6696 | 有方法代码的接口96 | 有方法代码的接口8分32秒
- 6797 | 接口内代码的更多内容97 | 接口内代码的更多内容8分58秒
- 6898 | 静态内部类98 | 静态内部类9分3秒
- 6999 | 成员内部类99 | 成员内部类6分16秒
- 70100 | 局部内部类100 | 局部内部类7分30秒
- 71101 | 匿名类101 | 匿名类8分30秒
- 72102 | 特殊类的总结102 | 特殊类的总结5分2秒
- 73103 | 让我们的超市运转起来:设计篇103 | 让我们的超市运转起来:设计篇18分47秒
- 74104 | 让我们的超市运转起来:代码篇104 | 让我们的超市运转起来:代码篇20分44秒
第三章 Java中的异常处理
- 1105 | 初识异常:try catch105 | 初识异常:try catch8分15秒
- 2106 | Java中异常的分类106 | Java中异常的分类12分58秒
- 3107 | 抛出异常的语法107 | 抛出异常的语法8分37秒
- 4108 | Java异常的传递108 | Java异常的传递13分26秒
- 5109 | 自定义异常109 | 自定义异常11分18秒
- 6110 | 异常传递不是凌波微步110 | 异常传递不是凌波微步4分24秒
- 7111 | try catch finally语句111 | try catch finally语句10分33秒
- 8112 | 自动回收资源的try语句112 | 自动回收资源的try语句5分37秒
- 9113 | Java中的常见异常113 | Java中的常见异常3分57秒
第四章 Java中的常用工具类和新语法
- 1114 | Collection类族简介114 | Collection类族简介8分41秒
- 2115 | Collection中的List (上)115 | Collection中的List (上)12分56秒
- 3116 | Collection中的List(下)116 | Collection中的List(下)10分13秒
- 4117 | Collection中的Set117 | Collection中的Set7分55秒
- 5118 | 泛型简析(上)118 | 泛型简析(上)8分36秒
- 6119 | 泛型简析(下)119 | 泛型简析(下)14分33秒
- 7120 | 再探泛型120 | 再探泛型18分36秒
- 8121 | Iterator接口121 | Iterator接口5分35秒
- 9122 | Map:key和value的映射122 | Map:key和value的映射14分17秒
- 10123 | 定义自己的注解123 | 定义自己的注解16分9秒
- 11124 | Lambda V.S. 匿名类(上)124 | Lambda V.S. 匿名类(上)13分55秒
- 12125 | Lambda V.S. 匿名类(下)125 | Lambda V.S. 匿名类(下)9分51秒
- 13126 | 基本类型的自动装箱和拆箱126 | 基本类型的自动装箱和拆箱14分59秒
- 14127 | Java中的File类127 | Java中的File类18分25秒
- 15128 | Java I/O简介128 | Java I/O简介6分51秒
- 16129 | 写文件内容小程序129 | 写文件内容小程序14分18秒
- 17130 | 读文件内容小程序130 | 读文件内容小程序12分4秒
- 18131 | 网络通讯名词简介131 | 网络通讯名词简介13分8秒
- 19132 | 简单的网络通讯小程序(上)132 | 简单的网络通讯小程序(上)15分18秒
- 20133 | 简单的网络通讯小程序(下)133 | 简单的网络通讯小程序(下)22分47秒
- 21134 | 简单的抓取网页内容的程序134 | 简单的抓取网页内容的程序8分12秒
- 22135 | JDK和JRE135 | JDK和JRE14分31秒
第五章 Java中的线程
- 1136 | 初识线程136 | 初识线程11分50秒
- 2137 | 创建自己的线程137 | 创建自己的线程15分20秒
- 3138 | 再探线程138 | 再探线程13分50秒
- 4139 | 多线程:混乱开始了139 | 多线程:混乱开始了9分38秒
- 5140 | 同步控制之synchronized140 | 同步控制之synchronized14分24秒
- 6141 | 同步控制之wait notify141 | 同步控制之wait notify16分19秒
- 7142 | 多线程经典模型:生产者消费者142 | 多线程经典模型:生产者消费者7分3秒
- 8143 | 线程同步之join143 | 线程同步之join7分53秒
- 9144 | 死锁144 | 死锁8分19秒
- 10145 | ThreadLocal线程专属的变量145 | ThreadLocal线程专属的变量10分33秒
- 11146 | 定时任务146 | 定时任务8分0秒
- 12147 | volatile关键字的作用147 | volatile关键字的作用9分26秒
- 13148 | concurrent包基本原理148 | concurrent包基本原理6分23秒
- 14149 | concurrent包中的Atomic类族149 | concurrent包中的Atomic类族5分13秒
- 15150 | concurrent包中的锁150 | concurrent包中的锁11分29秒
- 16151 | concurrent包中的数据结构151 | concurrent包中的数据结构9分11秒
- 17152 | concurrent包中的线程池152 | concurrent包中的线程池9分1秒
- 18153 | 聊天室开张喽 (上)153 | 聊天室开张喽 (上)5分36秒
- 19154 | 聊天室开张喽 (下)154 | 聊天室开张喽 (下)16分48秒
第六章 Java编程实战
- 1155 | 什么是学习一门语言155 | 什么是学习一门语言8分12秒
- 2156 | Java平台简介156 | Java平台简介8分47秒
- 3157 | Maven概念简介157 | Maven概念简介11分58秒
- 4158 | Maven的安装和配置158 | Maven的安装和配置6分55秒
- 5159 | 创建一个简单的Maven项目159 | 创建一个简单的Maven项目5分30秒
- 6160 | 一个从pptx文件中抽取文字的小工具160 | 一个从pptx文件中抽取文字的小工具10分16秒
- 7161 | Maven常用命令和插件161 | Maven常用命令和插件14分0秒
- 8162 | Intellij更多功能介绍162 | Intellij更多功能介绍7分5秒
- 9163 | 值得学习的类库简介163 | 值得学习的类库简介4分24秒
- 10164 | 如何在Stack Overflow上提问才不会被骂164 | 如何在Stack Overflow上提问才不会被骂4分45秒
- 11165 | 浅谈程序设计165 | 浅谈程序设计4分27秒
- 12166 | 游戏小程序功能定义166 | 游戏小程序功能定义5分33秒
- 13167 | 游戏小程序设计和模块划分167 | 游戏小程序设计和模块划分4分37秒
- 14168 | 游戏小程序代码分析168 | 游戏小程序代码分析5分36秒
- 15169 | 使用Swagger创建一个Spring Boot的Web服务169 | 使用Swagger创建一个Spring Boot的Web服务16分16秒
- 16170 | 结课测试&结束语170 | 结课测试&结束语11分10秒