|
|
课程介绍:
& v' U: i% u& p* n本套课程囊括了Java语言核心语法、面向对象程序设计、常用API、集合框架、IO流、多线程、网络编程、反射技术、常用设计模式、JDK新特性等JavaSE各个领域的知识,帮助学习者建立和夯实Java语言基础。本课程结合诸多设计模式,如工厂、单例、责任链、代理、观察者等,深入浅出地剖析了大量企业级技术的实现原理和工作流程,如IOC、AOP、动态代理、泛型技术、面向接口编程、自定义注解、XML配置、POI、JSON等,让学习者能够学以致用。课程本着趣味性、通俗性、实用性的原则,让学习者爱上Java、学懂Java、使用Java。
8 F9 a$ {# h s8 z5 u' y0 J: Z
4 }8 F4 X: R- s6 G* W: a! h适合人群:
|- m8 |* e1 |4 ]9 e8 s) y& b零基础、对Java感兴趣的爱好者* M3 ?$ M* m' Z8 d: F9 V2 |2 B
期望巩固Java语言基础知识的技术人员
) U9 r; t) W" X5 O' P" k6 n% Y4 c3 Y8 P. X* B
课程目录:9 F5 j2 l% F0 j1 W- F
(一)计算机基本概念和JDK的安装
6 ?, n1 ~* A( ]( N8 Z/ `1 N1 k: q1.01.计算机的基本概念
7 \/ W- I7 U, ^; \4 x9 D; u; u- ~- {1.02.计算机功能键和常用快捷键
) s. l; ]& A9 I7 |# Z4 J1.03.JDK相关的基本概念5 d) i5 e8 h7 t4 a# N
1.04.JDK的下载、安装和配置0 X/ X4 D- x) O# u
( B. B+ N: u P( \7 ? |(二)我的第一个Java程序:HelloWorld( N( ]1 j8 c, k( B& ]6 D2 \2 j
2.01.IntelliJ IDEA简介
4 {" ^$ f5 w+ H$ u0 H2 W; _4 ^2.02.我的第一个Java程序:HelloWorld! _" f8 C4 m, g
2.03.Java程序开发与运行原理
8 {# h9 N* T3 @/ g2.04.IDEA的基本配置+ R% Y2 v; Q, Y5 A. {' Z" J- ]
2.05.IDEA常用快捷键演示8 m3 D( g& w ~. \- \: P
2.06.Java语言编码规范
7 G- M+ R* t5 A+ a1 L' z2 D2 p" \, C
(三)Java核心_常量、变量3 b4 L; @6 l- i! g
3.01.Java的注释' S8 _7 h ]+ H( U$ u0 f8 M& K
3.02.Java的关键字
. G2 ^% q1 t4 C1 c1 v9 u% t: D; Q3.03.Java的常量
8 ~5 |& o: D; V) f; d# p3.04.变量的定义和使用+ k# J7 Y' S* s, d
3.05.Java的数据类型& D. |4 Z% J* |$ T- _
3.06.数据类型转换) l2 u% ]2 o* h8 s
3.07.Java的标识符
! J# O" n5 ~) d. j) N
h; g6 F" q+ k. d7 ~/ \1 m(四)Java核心_运算符
% H2 q, @) } u1 @! R, b: A4.01.算数运算符$ ~ t* k$ ~2 B4 i: q
4.02.字符和字符串参与加法运算
; _ }; i. F! N4.03.自增和自减运算符
3 l$ l6 c# V2 \- f# D# E: Q- u9 u4.04.赋值运算符
# ]" A/ q; I' I Q7 r3 n4 S" G2 N4.05.关系运算符4 j. r4 {3 t1 A4 m: h
4.06.逻辑运算符
8 ]2 j ]' b& |4.07.三元运算符
^ D ~% U) x# t/ i x2 _1 u! Q
+ o! e, w" w: B, n5 i7 M(五)Java核心_流程控制之选择结构2 s- k1 Y& [* y2 U: s' J3 ^4 m( D
5.01.Scanner的基本使用$ W$ h9 P) a3 _7 g
5.02.【案例】Scanner类的应用_计算两个整数和
K! s# ?! ^1 a4 K5.03.流程控制结构的概述和顺序结构
2 s7 g. Z5 B9 t- l/ `5.04.选择结构概述
4 s/ M" C" x9 y5.05.if语句的第一种格式
; ^% L4 ~9 A; O- K' A6 O5.06.if语句的第二种格式
6 ]% j- a+ f5 \4 h$ x1 w5.07.if语句的第三种格式1 v# ~2 B# B3 n7 a1 R/ V% A% F
5.08.【案例】if语句_获取两个整数的最大值
$ W0 w/ v# _" t% S* ~5.09.【案例】if语句_根据考试成绩打印对应的级别
( d, D8 ^! D- d) |& ^5.10.switch语句简介
$ H0 m( `0 M0 y. }, n' x3 O5.11.【案例】switch语句_根据数字打印指定的日期
`: o9 R! z0 D3 o; a; P
" } W/ i8 Q p; D% S(六)Java核心_流程控制之循环结构9 n: o9 ?2 d) Q- ?3 y- M- W8 D
6.01.Java中循环结构的概述和分类
" b: I+ r0 R3 g5 n# F( d6.02.for循环的格式和执行流程
( C% x. e" ~ D6 @/ d& G6.03.【案例】for循环_打印5次HelloWorld$ B# l& W* q5 g4 Y. h i
6.04.【案例】for循环_正向以及逆向打印数字! v" n& r& m% ?) ?/ Q7 t! ]
6.05.【案例】for循环_求1~5之间的数字和3 ?( a: r, C+ \; W+ j
6.06.【案例】for循环_求1-100之间的偶数和
/ C( t* M E( q3 t5 a! z" f) @1 W# }6.07.【案例】for循环_打印所有的水仙花数' q7 m9 ]: F& W$ B
6.08.【案例】for循环_计算水仙花数的个数
( _6 m0 U8 U' E8 ~6.09.while循环的格式和执行流程5 ~3 A' H5 T5 k; P4 d2 }: G* [/ [
6.10.【案例】while循环_打印5次HelloWorld
+ c: o% C- J* n; v% z2 _6.11.【案例】while循环_计算1~100之间的数字之和
& i( J5 \, \% v m- |0 b2 b. J% f6.12.do_while循环简介
, d: z- w' F: q1 G2 h. x6.13.【案例】do_while循环_模拟练习知识点的次数# V, ?( ?# A: X5 {/ @$ D
6.14.三种循环的区别8 o: O6 I" w5 `* i6 F
6.15.死循环% p( ]% m. r7 @- E4 d
6.16.break关键字的用法5 W. Z" O: B2 w& c* S X
6.17.continue关键字的用法
7 @% M$ Z: K" T/ `6.18.循环嵌套
9 Y4 w' F; J7 K6.19.带标号的循环结束7 a3 g. v5 v" Y5 s( S/ T" J) g
6.20.【案例】循环综合案例_1024程序员节小黑发橙子3 `5 \& P T6 ]8 Y6 j
6.21.Random类的简单使用
$ a/ z( r, f, A8 {- u7 M" M8 x6.22.【案例】Random类_猜数字的小游戏.mp4
! U9 A( p$ u/ f$ V. ]1 V) ~, }9 J. i/ `3 N
(七)Java核心_方法和数组0 J' _: Z+ X2 f* V w i$ F
7.01.方法概述
- d/ |. _- |) v7.02.方法的格式
1 h8 u7 f' R6 B# P7 }7.03.方法的定义
" Q5 x, u* a% C, V6 U( l7.04.方法的调用: m: D7 q% w* @7 l+ [" a& B
7.05.方法调用图解. C$ n" u! p- d" `& |- m/ L% O
7.06.【案例】方法_比较两个整数是否相等9 u/ X8 Z8 r# C4 N. ` ^" ], M
7.07.定义方法的注意事项. i' w6 `- J, P/ \; d. a
7.08.方法重载的概述0 e! c' M4 e8 j1 P% y
7.09.【案例】方法重载
; T! {2 T3 B: |" v- P: w, c7.10.【练习】哪些是方法重载
- F# f* G$ G8 {' Z8 G4 q w9 k7.11数组概述
6 d3 m' s f9 U: y: V2 b7 t6 O$ }4 O7.12.数组的三种定义格式0 }! Z8 _1 \8 A: W: T* ^ |
7.13.数组中元素的访问方式# K% | o) o6 N
7.14数组的遍历& }7 n: v9 n, {% d' h' R+ X$ X
7.15数组的初始化6 l+ P& }( ^( w8 P! B
7.16数组动态初始化图解
) a: j+ F9 X7 v1 D+ M7 @1 \7.17数组静态初始化图解
3 g, W% Q& d2 T$ o7.18两个数组的内存图解& }$ o) i% O& z6 I" I* J
7.19一个数组两个引用的内存图解
9 Z1 j Y/ \4 K, E% u& E* _7.20数组索引越界异常$ C! R5 `0 @/ z- L' y* G
7.21空指针异常
0 Y! O8 A$ ] ?. y1 A1 Q7.22.【案例】获取数组中的最大值和最小值
" y* i' L5 H8 v$ W" g' m8 n' G- y7.23.【案例】数组_定义方法打印数组
& {. W+ L) V) a: v8 [7.24.引用类型传递和基本类型传递的区别
) `- m r4 l1 ~0 g8 k5 L* T$ W8 V8 J- J; N( ~7 G3 E/ @+ Q
(八)Java编程思想_面向对象之封装& M. w9 d1 A2 }+ C6 K9 A( A: V
8.01.面向对象的思想概述
@" M1 P/ G9 n0 s" Q) N+ ?3 \8.02.类与对象概述4 i" a: G0 c9 X' h! i
8.03.【案例】:手机类的定义和使用6 }# ^+ R1 P; f
8.04.【案例】:学生类的定义和使用
. t' A& w+ G) T! C; a% ~8.05.一个对象创建过程的内存图解
$ }* H* J5 @0 J3 U7 v8.06.两个对象创建过程的内存图解
* G& S1 X; g/ ~0 F; `8.07.对象作为参数的内存图解
, o: |" j* t: }" X: Q0 x8.08.使用变量的规则/ c& A5 v1 q9 B1 r
8.09.成员变量和局部变量的区别
9 P/ c+ M. T0 ^2 d8.10.封装概述7 \) k1 k1 s/ M2 d: A
8.11.private关键字的用法
0 W2 `' f- a7 C$ i4 x3 |8.12.this关键字的用法6 l# J. \/ O8 |& P2 B
8.13.构造方法及演示' h x% g8 D, @1 h6 K
8.14.标准的JavaBean类的定义和使用
f/ A- C) `5 W, y" w
% A1 d2 [+ n2 i7 e- e(九)Java编程思想_面向对象之继承
. b0 I, W) J- H/ s& D' b+ G% {# ?9.01.继承概述) B( F$ [- ]# M' `- J- J
9.02.【案例】继承_动物类! }/ _# Q1 Z0 _1 [5 R. O5 P
9.03.继承的优缺点* V1 c& Y: w+ I( S m# R
9.04.继承关系中成员变量的使用特点# r* b+ f3 O! r8 j& [) L$ x: W
9.05.使用成员变量的内存图解2 `9 |1 _! G" S/ {( @
9.06.this和super的区别
6 X7 x% f9 v$ y3 P4 |. Y" c5 L9.07.继承关系中成员方法的使用格式. V. u* ]% ?9 A4 v, o4 X: }
9.08.使用成员方法的内存图解
+ H" o! p* q! s% d9.09.继承关系中构造方法的使用特点- D9 c |+ y- E' M* J8 @2 J
9.10.方法重写的概念! x4 ?) D3 }3 |# C( d7 s" S0 ?+ f
9.11.四大访问权限修饰符+ G: X$ K" T6 @" ^
9.12.方法重写和方法重载的区别, T8 W% J, F1 m
9.13.Java中继承的特点
: J) ^* @: V9 x, q% l8 G7 H6 R' i
! I0 e8 O) p. m B& z7 t7 n(十)Java编程思想_面向对象之多态
0 B0 @5 j( D9 t" i10.01.多态概述
. b* w5 L/ K9 t$ ]% C10.02.父类引用指向子类对象的内存图
; j' T+ M$ G; J' Y( {. b: Y6 n10.03.多态的使用场景及其内存图解
l) T/ U( U8 Y1 [10.04.多态中成员变量的使用1 o1 Z3 d& l8 j0 s6 _+ @
10.05.多态中成员变量使用的内存图解2 h, G! d# ?, _" j+ @
10.06.多态的好处和弊端; Y& T2 z. e& `4 g
10.07.抽象类的概述
8 X$ u$ K5 y- p2 D$ u Y+ o10.08.抽象类的特点
. K" E- ^# J) J u2 B1 m6 S10.09.【案例】抽象类_员工类代码实现" ?1 J- d5 i2 s0 s0 @
10.10.final关键字概述和特点2 a. X! a4 I( {! ^8 b
10.11.static的用法之静态成员变量
& e9 J! B) ?& ]. H8 s; A10.12.static的用法之静态成员方法& H# J6 r& r0 X: o2 A0 \+ B$ r
10.13.接口的概述8 D' d$ F1 Y. O' D/ P
10.14.接口的特点
) S6 Q+ a7 p$ F; Z! s5 X10.15.接口的成员特点
# v! d% U3 x0 ~+ g
, M R% ^* U7 s/ P5 Q4 [ O(十一)Java常用工具_API* j% G' m9 d5 r8 p. {+ \6 t( M
11.01.API简介
4 J+ s/ e5 ?! p2 c11.02.Object类的特点
5 q" L" ~" p g1 Q11.03.JavaBean重写Object类的方法# N8 ?+ Y H7 T }$ r9 z/ |
11.04.Scanner类: \/ j4 J" u( n3 s% K c
11.05.String类的判断功能: D& p! Z% e6 W. T7 i
11.06.String类的获取功能! }% k0 E" e4 j+ \) N
11.07.String类的转换功能
* P9 p1 K: f5 j3 Z; L( m11.08.StringBuilder和StringBuffer类0 ~+ q9 G% Q2 n' u2 f4 d0 `5 S
11.09.Date和Calendar类
" m! T5 v" }3 Z2 }5 v11.10.基本类型的包装类
5 b2 Y. L7 V4 D+ v: o4 `6 u! G0 w x9 g* q0 h
(十二)Java常用工具_集合
" ^4 w/ U; u, r: P- N0 `- V8 n12.01.集合简介
- [: z" `7 i( \ ?12.02.List集合的特点和应用. K1 I$ s) u$ w
12.03.增强for的使用6 p; ~# A5 \7 o% Q& l3 i
12.04.迭代器演示* c O8 ^% n4 {4 H
12.05.泛型简介$ ~2 x' O# u4 G
12.06.Collections工具类的使用
/ O0 A6 @0 F8 k1 A. H: t/ p12.07.Set集合的使用* h0 q8 P5 m+ e1 X8 l
12.08.Map集合的使用
% s/ x' ~: d1 z/ j12.09.【案例】模拟斗地主发牌之买牌
; }# S/ r& Q( q12.10.【案例】模拟斗地主发牌之洗牌和发牌
]0 l& C" J' b1 I E12.11.【案例】模拟斗地主发牌之看牌
- y, }0 g6 {* e% B: M j1 E; f9 O
# A6 a1 ~& N7 E0 w: C) M(十三)Java常用工具_IO流& Q' {+ |. A4 H1 Y
13.01.异常的分类' x7 K6 S9 c8 _# ]
13.02.异常处理方式之try_catch9 C: @( Y4 R( O+ E
13.03.异常处理方式之throws# V$ f$ f$ w& F$ A
13.04.IO流的概述和分类
; P, h! U7 I' k7 j# ~/ h& P13.05.File类的创建及判断功能
+ Z' g0 L5 a0 j7 O' w13.06.File类的获取功能- G7 L6 _7 p9 T, O! p$ Q; k
13.07.字符流读数据之一次读取一个字符: ]" E9 u( i+ ?3 S6 i
13.08.字符流读数据之一次读取一个字符数组$ g& D$ L$ p4 ^4 l
13.09.字符流写数据
( Q% k& ]! o) i/ Q5 ?13.10.字符流拷贝文件之一次读写一个字符3 h. d9 |5 n7 A6 Z
13.11.字符流拷贝文件之一次读写一个字符数组
( U% n4 @& {; s13.12.字符缓冲流普通用法( b0 n, j9 G5 a0 L% W, s& C
13.13.字符缓冲流之一次读写一行
$ u5 G2 b5 D7 o" }* B13.14.普通字节流一次读写一个字节
! s$ ?* F/ n8 L; Y13.15.普通字节流一次读写一个字节数组
6 l; }$ @5 h( w3 p: P9 \) n13.16.高效字节流的用法4 [* ^- c P* k
13.17.【案例】模拟用户上传头像之获取合法路径9 b" [$ f$ o% v
13.18.【案例】模拟用户上传头像之判断要上传的文件是否存在
+ V2 t) B/ U L6 m$ w" c13.19.【案例】模拟用户上传头像之上传功能实现4 o4 n% ~8 _: e% J
+ H. K# V! Q! N; i(十四)Java高级_反射% |: v- H p9 A$ y0 e) {
14.01.反射基本概念
' D# \' q. ~+ a9 w14.02.获取字节码文件对象的三种方式# L( z. I- q% C7 w
14.03.通过反射的方式获取构造方法并使用+ H( b+ w s$ ]8 {1 m
14.04.通过反射的方式获取成员方法并使用) P% l* p0 M2 ?* ?! t; O6 E
14.05.【案例】反射_获取setter方法给对象的属性设置值7 i9 k" c$ x, z$ [, n$ Z. q
14.06.通过反射的方式获取成员变量并使用
' c& L. k* Z+ M' C: _& p
" `' }7 C" y( _9 \(十五)项目实战; q0 d* v9 y- V1 ?
实战项目2 E$ R# k. u/ G6 X [# `% ~( D
项目名称: EShop网上商城(控制台版)+ X6 r0 M0 G/ U' O; x
项目描述:0 S; V; _& l. ]% R7 [+ C! ?
EShop网上商城项目是一个在线商城控制台模拟项目,主要功能包括后台管理、商品管理、订单管理和购物车管理等模块,构建了一个大型web系统所必须的基础功能,同时支持在该模块上进行二次开发。涉及反射技术、泛型类、泛型方法、泛型固定边界、注解、JSON、POI、Properties、XML技术、枚举、Debug调试技术、工厂、单例、适配器、代理、责任链、观察者、模板方法、MVC、面向对象程序设计和面向接口程序设计等技术。通过该项目的学习,能够了解实际开发环境中大型web项目的开发模式和流程,掌握常用框架中部分重要技术的实现原理,大大提升编码能力和业务分析能力。
: z& Z; ^2 [" i2 ~: I9 x- N
: {$ ~- r* w: H8 W) N; w# c9 A, j _
来源: 2019 博学谷Java基础精讲(入门篇)视频教程 |
|