Java编程语言从入门到精通2024

理论与实践相结合的授课方式,助力您全方位掌握Java编程语言

4.43 (598 reviews)
Udemy
platform
中文
language
Programming Languages
category
instructor
2,654
students
47.5 hours
content
Jan 2022
last update
$64.99
regular price

What you will learn

拥有成为高级Java软件工程师技术能力

拥有专家级的Java语言技能

向从事该语言工作超过10年的专业Java开发人员学习Java软件开发行业的“最佳实践”

能够向未来的雇主证明您对Java的理解

系统性极强的课程,涵盖Java语言的方方面面,助力您打下扎实的语言基础

获得基本的Java基础知识,以过渡到Spring框架,Java EE,Android开发等

字典式的学习宝典,细分的知识点帮助您随时解答疑惑点

一次购买,终生受益。伴随着Java语言不断的发展进化,课程内容持续更新

学习经典的排序算法,诸如冒泡排序,快速排序,归并排序等

学习经典的数据结构,比如二叉树,二叉查找树,链表,队列,Map等

学习使用JSP、Servlet来开发网络程序

随时随地的讲师一对一答疑解惑

单元测试 - JUnit

如何进行debug工作

如何用Java解析XML和JSON

如何编写网络程序

不只是知识点的讲解,还有大量的练习题帮助你巩固所学

Description

Java是一门伟大的程序设计语言,不论是移动端开发(Android)亦或是企业级开发(Spring Boot ,Java Web Application)Java都占据重要的地位。在风起云涌的计算机技术发展历程中,Java的身影随处可见,而且生命力极其强大。

1995年,Java Applet使得Web网页可以表现精彩和互动的多媒体内容,促进了Web的蓬勃发展。之后随着Web的发展,应用Web成为大型应用开发的主流方式,Java凭借着“一次编译,到处运行”的特性,很好的支持了互联网应用所要求的跨平台能力,成为服务器端开发的主流语言。Java EE 至今仍然是最重要的企业开发服务器端平台。

2004年再次产生了对Web客户端体验的强烈需求,促使富因特网应用技术广泛流行,从Java Web Start到现在的JavaFX,都是重要的富因特网应用技术。

现在,我们步入了移动互联网时代,而Java依然是当之无愧的主角。从第一阶段移动互联网中的J2ME,到目前移动操作系统中全球占据份额最大的Android系统上的App开发,都采用的是Java语言和平台。云计算,大数据,物联网,可穿戴设备等技术的应用,都需要可以跨平台,跨设备的分布式计算环境,我们依然可以看到Java语言在其中的关键作用。除此之外,Java还是一门非常优秀的教学语言。它是一门经典的面向对象编程语言,拥有优雅和简明的语法以及丰富实用的类库,让编程人员尽可能的将精力集中在业务领域的问题求解上。许多开源的项目都是使用Java实现的。

本课程采用理论实践相结合的方式教学,结合讲师本人超过十年的Java及其相关平台的使用经验,力求能够帮助同学更好,更快的掌握Java编程语言。

结合Java语言的发展,本课程会持续保持更新!

课程内容

初级主题:

  • 计算机、程序和Java概述

  • Java语言程序设计基础

  • Java 条件判断

  • Java运算符

  • Java中的数学函数,字符和字符串

  • 如何使用Java语言中的循环

  • Java方法

  • Java数组(一维数组,多维数组)

高级主题

  • 对象和类

  • 面向对象的思想

  • 多态和继承

  • 异常处理和文本I/O

  • 抽象类和接口

  • 二进制I/O

  • 递归

  • Java语言常用的数据结构(List,Set,Map,Queue)

  • Java多线程

  • 排序

  • 二叉搜索树

  • 数据库编程(JDBC)

  • 单元测试(JUnit)

  • XML与JSON

  • 网络编程

  • Servlet

  • JSP

  • Java 8  新特性(Lambda,Stream)

  • ...


本课程的结构设计如下:

  • 每堂课都包括视频和代码

  • 有相关的理论测试和编程作业来巩固你所学

  • 有编码习题来帮助你彻底理解知识点



最后,希望大家学习愉快!



Content

预热阶段

资料
本系列课程简介
编程语言简介
Java语言的前生今世
Java语言简介
Java语言规范、API、JDK和IDE
Java语言的特性和优势
Java语言的运行机制
章节测验

准备环境

JVM,JDK 和 JRE
JVM,JDK 和 JRE
MacOS上安装JDK
IDE(集成开发环境)
Mac下安装IDEA
在Ubuntu 16.04 上安装JDK1.8
Linux下安装IntelliJ IDEA
Windows系统下安装并配置JDK
Windows系统上安装Intellij IDEA
章节练习题

Java编程基础

一个简单的Java程序
创建、编译和执行Java程序
创建、编译和执行Java程序(实战部分,使用文本编辑器)
使用IDE创建一个Java项目(基于Maven)
创建、编译和执行Java程序(实战部分,使用IDE)
软件开发流程
软件开发流程案例 – 贷款程序
Java编码规范
常见的编程错误 - 语法错误
常见的编程错误 - 运行时错误
常见的程序设计错误 - 逻辑错误
新手编程常见的错误
Java中的标识符
变量
赋值语句和赋值表达式
数值类型转换和取模操作符
常量
Java里的注释
命名规范
关键字(保留字)
数值类型变量
从键盘读取数据
数值操作符
操作符案例 - DisplayTime
操作符的优先级
数值型直接量
案例学习 - 显示当前时间
增强赋值操作符
自增和自减操作符
数值类型转换
基础编程常见的错误和陷阱
章节测验
章节总结

选择

资料
引言
案例 - 修改引言的案例
案例 - 比较操作符的案例
if语句
双分支if-else语句
常见的错误和陷阱
案例 - 产生随机数
案例 - 计算身体质量指数
逻辑操作符
案例 - 逻辑操作符
案例 - 判定闰年
switch语句
switch案例 - 12生肖
条件表达式
操作符的优先级和结合规则
章节总结
调试
章节作业

数学函数、字符和字符串

资料
引言
三角函数方法
Unicode和ASCII码
特殊字符的转义序列
字符与数值类型转换以及比较测试
字符串介绍以及获取字符串长度
从字符串中获取字符
连接字符串
字符串的转换
从控制台读取字符串
字符串比较
获得子字符串
获取字符串中的字符或者字串
字符串和数字间的转换
格式化控制台输出
章节作业

Java 循环

资料
while循环
while循环案例 - 猜数字
使用标记值控制循环和输入输出重定向
do-while循环
for循环
采用哪种循环
嵌套循环
案例 - 求最大公约数
案例 - 预测未来学费
关键字break和continue
案例 - 判断回文串
章节总结
章节练习题
作业

Java 方法

资料
引言
定义方法
调用方法
void方法
通过传值进行参数传递
模块化代码
重载方法
变量的作用域
方法抽象
章节总结
章节作业

一维数组

资料
引言
声明数组变量
创建数组
给数组元素赋值
数组实践1
数组大小和默认值
访问数组元素
数组初始化语法
处理数组1
处理数组2
处理数组3
处理数组4
处理数组5
处理数组6
处理数组7
foreach循环
案例 - 分析数字
案例 - 一副牌
数组的复制
将数组传递给方法
将数组传递给方法2
从方法中返回数组
可变长参数列表
线性查找法
二分查找
数组的排序 - 选择排序
Arrays类
命令行参数
Arrays类
二维数组
章节总结和练习题
数组测试题

多维数组

资料
二维数组的基础知识
处理二维数组
案例 - 多选题测验评分
案例学习 - 找出距离最近的点对
案例学习 - 数独游戏
多维数组
章节总结

对象和类

资料
为对象定义类
案例 - 定义类和对象1
案例 - 定义类和对象2
使用构造方法构造对象
引用变量和引用类型
访问对象的数据和方法
基本类型变量和引用类型变量的区别
使用Java库中的类 - Date类
使用类库中的类 - Random类
静态变量、常量和方法
可见性修饰符
数据封装域
向方法传递对象参数
对象数组
不可变对象和类
变量的作用域
this引用
章节测验
章节总结
章节作业

面向对象的思考

类的抽象和封装以及面向对象的思考
类的关联关系
类的聚集和组合关系
设计Course类
将基本数据类型作为对象处理
自动装箱和自动拆箱
BigInteger和BigDecimal类
构造字符串
不可变字符串与限定字符串
字符串的替换和分割
依照模式匹配、替换和分隔
字符串和字符数组之间的转换
将字符和数值转换成字符串
格式化字符串
StringBuilder和StringBuffer
示例学习:判断回文串时忽略既非字母又非数字的字符
章节总结

Java数据结构

HashMap
HashMap经典面试题之HashMap内部构造
TreeMap
案例学习-统计单词出现的次数
HashSet
LinkedHashSet
TreeSet
ArrayList
ArrayList源码分析
LinkedList
数据结构性能测试
Stack
Queue
Queue(队列)
线性表、栈、队列总结
Iterator 迭代器

Java中的异常

Java中的异常简介
异常的传播机制
Error和Exception
checked exception 和unchecked exception
try-catch-finally 语句块
try-with-resource语句块
throw和throws关键字
定义异常和使用它
使用exception的好处
Java 异常测验

Java多线程

实现Runnable接口创建线程
继承Thread类创建线程
线程池第一部分
线程池第二部分-固定大小线程池和弹性线程池
线程池第三部分-常用方法介绍
Callable 和 Future 接口第一部分
join 方法
线程中 interrupt 的概念和应用
线程中interrupt测验
多线程会导致的问题-线程间干扰以及原因

递归

什么是递归以及如何使用递归计算阶乘
使用递归计算斐波那契函数
使用递归解决回文字符串问题
得到目录的大小问题测验题
递归测验

二进制I/O

章节目标
在Java中如何处理文本I/O
文本I/O与二进制I/O
FileInputStream和FileOutputStream
FilterlnputStream 和FilterOutputStream 以及 DatalnputStream 和DataOutputStream
示例学习 - 检测文件的末尾
BufferedInputStream和BufferedOutputStream
示例学习 - 复制文件
对象I/O
Serializable 接口
序列化数组
随机访问文件

JDBC

JDBC简介
使用JDBC链接数据库
JDBC的重要接口

Servlet

资料
Servlet简介
配置Servlet项目
第一个Servlet程序
Servlet的3个生命周期方法
有关Servlet其他比较重要的接口和类
CurrentTimeServlet案例
表单案例
用户注册案例
Session (会话)
使用Hidden Value管理会话信息
使用Cookie管理会话信息
使用HttpSession来管理会话信息
章节测验

JSP

初识JSP
JSP脚本构件
预定义变量
案例 - 使用预定义变量计算Loan
JSP指令
page 指令案例 - 导入类
使用错误处理页面
在JSP中使用JavaBeans
读取和设置属性
案例 - 计算阶乘
综合案例 - 浏览数据库中的表
章节测试

Java 8 新特性

lambda介绍
lambda表达式案例学习
Stream
Default方法
Functional接口
数组并行排序

Screenshots

Java编程语言从入门到精通2024 - Screenshot_01Java编程语言从入门到精通2024 - Screenshot_02Java编程语言从入门到精通2024 - Screenshot_03Java编程语言从入门到精通2024 - Screenshot_04

Reviews

張嘉瑩
September 10, 2023
volume too small even adjust every related setting to max and the subtitle is not accurate but the content is clear
yuan
January 3, 2023
後半段課程許多題目明顯感受到沒用心 1.題目的答案只有一項,雖然是正確答案,但失去出題的意義 2.題目不清楚,如題目問code會循環幾次,但條件只寫count<=n卻沒定義n 3.講師的範例答案和作業所要求的完全不同,作業要求計算未來學費,講師的範本是學生的最高分數... 4.作業的題目部分文字用複製貼上卻沒修改,例如:一個作業題目要求宣告四個名為s3的字串變數
謝品寬
March 25, 2020
後面的課程,很多投影片像在唸稿不口語化,有時程式碼也講得不是很清楚,有些章節也沒有投影片甚至直接打程式碼不講觀念,聽得有些吃力,更要花時間自己上網找資料把觀念搞懂,但前面的內容算不錯,如果有學過其他程式語言,會覺得很好入門。
Junyan
June 14, 2019
非常棒的课程!课程内容十分全面和系统,也很适合初学者。因为基础的问题,哪怕有些地方刚开始会有点疑惑,但在学习的过程中会豁然开朗,更重要的是老师的反馈非常及时,有什么问题可以得到迅速、细致的解答。课程的安排也很合理,条理清楚,口齿清晰,非常推荐初学者!期待老师推出进一步的Java算法和实战课,感谢!?
Mengran
April 19, 2019
目前学习到一半 总体上感觉非常教学思路清晰流畅 把JavaSE所涉及到的具体结构都全面又快速地呈现出来了 个人觉得非常适合初学者上手 能让有一些Java基础的人巩固相关知识 相比起之前我在udemy上订阅的其他英文课程 这门课程讲解得更加轻快,戳中要害,没有英语系课程那么拖沓。会继续学习并持续提供点评! 唯一希望改进的地方是 这门课程的高级进阶内容比较少 如果可以希望老师再补充一下如generics,lambda expression等概念。

Charts

Price

Java编程语言从入门到精通2024 - Price chart

Rating

Java编程语言从入门到精通2024 - Ratings chart

Enrollment distribution

Java编程语言从入门到精通2024 - Distribution chart
1952390
udemy ID
10/7/2018
course created date
11/24/2019
course indexed date
Bot
course submited by