|
|
课程介绍:
6 K- p4 G, V# X# ]& g7 _5 n本套课程囊括了Java语言核心语法、面向对象程序设计、常用API、集合框架、IO流、多线程、网络编程、反射技术、常用设计模式、JDK新特性等JavaSE各个领域的知识,帮助学习者建立和夯实Java语言基础。本课程结合诸多设计模式,如工厂、单例、责任链、代理、观察者等,深入浅出地剖析了大量企业级技术的实现原理和工作流程,如IOC、AOP、动态代理、泛型技术、面向接口编程、自定义注解、XML配置、POI、JSON等,让学习者能够学以致用。课程本着趣味性、通俗性、实用性的原则,让学习者爱上Java、学懂Java、使用Java。3 M& ~9 D" c( H2 Y1 a, r8 `8 C: A1 Q
2 S- k j% A7 g( K
适合人群: M9 p7 F& M: w$ N* |7 _- c" B# L
零基础、对Java感兴趣的爱好者- z% g" @5 |- B/ s+ a: q
期望巩固Java语言基础知识的技术人员4 O8 n* z/ g5 Y) E: b# Q
8 {1 k, P" ?- e3 s: Y/ h
课程目录:1 ]. L+ I! e1 D
(一)计算机基本概念和JDK的安装% N4 B; q. H4 [6 D9 a( {7 b5 q! \
1.01.计算机的基本概念
: c( R, k7 A5 j: f1.02.计算机功能键和常用快捷键
2 H) B. G& }( ]2 W8 ]% }: [2 Q1.03.JDK相关的基本概念
5 u- K1 \% X& u7 r* {( _# y1.04.JDK的下载、安装和配置$ i5 G O, Z% m; q
9 [. V* h: n+ K4 j$ p3 y! M(二)我的第一个Java程序:HelloWorld; |" r4 D+ n$ [' W( o# w- O) n
2.01.IntelliJ IDEA简介
! h* H3 E% L6 P% Y/ W! @2.02.我的第一个Java程序:HelloWorld, O3 ~4 E. t! U% \6 \: y
2.03.Java程序开发与运行原理
9 q% K4 } o. g2.04.IDEA的基本配置
5 _6 v, I% ^5 N% ]5 u2.05.IDEA常用快捷键演示
, {, d( W6 x8 o: M2.06.Java语言编码规范( Q* s/ g f2 P# W. U2 M
! H/ a( E: }. Z1 v
(三)Java核心_常量、变量! k9 g3 E" ^9 n9 e4 B
3.01.Java的注释" |2 n7 u' X1 ]! `0 w/ G: D- S, a1 y6 K
3.02.Java的关键字. \2 ~8 E% r g2 `
3.03.Java的常量3 }4 h1 H, j4 w7 J! F: ?
3.04.变量的定义和使用
" |' d- L' I0 ?8 Y" r( V* n Z; z& D3.05.Java的数据类型
B* @( p& |" k0 ]$ ?3.06.数据类型转换
. b* Z! p' {" Y- Z) _- J& R- Z3.07.Java的标识符% N4 h# Y* G6 Y
, K+ [2 v+ C; \
(四)Java核心_运算符. O! C' J8 z6 V3 |% Q
4.01.算数运算符
/ N8 V4 Y$ s% f4.02.字符和字符串参与加法运算8 y1 }/ L r2 X$ e, h5 U B, I
4.03.自增和自减运算符
, l9 q8 n# u9 I& J4.04.赋值运算符
" o$ H; H4 t N9 i3 f" y4.05.关系运算符; ~8 p$ l" M( _& {; B8 _1 S
4.06.逻辑运算符
2 X: ?9 K2 J0 K6 R' o4.07.三元运算符' Y x' k5 B' ]8 s, E/ A
0 w3 X7 z, F. y% s
(五)Java核心_流程控制之选择结构1 x2 ~ t2 ]! c
5.01.Scanner的基本使用
' X( j2 f) P6 C# F2 C. y2 t5 W5.02.【案例】Scanner类的应用_计算两个整数和/ W3 ~- x0 t% z# _4 X- I1 F- i
5.03.流程控制结构的概述和顺序结构! ^( S/ u% B, L, o$ W a
5.04.选择结构概述
, [9 J b% l1 s5 u- \% z5.05.if语句的第一种格式 x6 G% a0 S3 S. H# o U5 T4 ?* V3 C
5.06.if语句的第二种格式
' { a& u- ?3 `* k% o1 {6 C1 b2 C6 m' p5.07.if语句的第三种格式# Y7 ^1 H* F2 C
5.08.【案例】if语句_获取两个整数的最大值
7 [/ S) b s) e Q5.09.【案例】if语句_根据考试成绩打印对应的级别' i& i7 O" e+ O3 Z1 _7 \
5.10.switch语句简介
( V7 ? W y j! [, \5.11.【案例】switch语句_根据数字打印指定的日期* H) s4 s# L0 {
4 [& [9 S8 E" z/ Q1 w! B: C(六)Java核心_流程控制之循环结构
5 J4 ?; ?; Z/ f7 n& M% R. ]# d6.01.Java中循环结构的概述和分类
; w$ E% v: L, B1 u) I6.02.for循环的格式和执行流程9 v6 I0 N. c, M! }( p- s0 F9 H
6.03.【案例】for循环_打印5次HelloWorld8 c6 N7 Q. p+ X; R3 j! @$ Z/ R" O* r
6.04.【案例】for循环_正向以及逆向打印数字: w1 I- b1 C: w. P
6.05.【案例】for循环_求1~5之间的数字和3 e S8 f5 V7 r" y9 W
6.06.【案例】for循环_求1-100之间的偶数和; Q T9 d1 O8 [7 F( v$ B A
6.07.【案例】for循环_打印所有的水仙花数- ]+ e/ @, q6 H" }# |5 s0 K" F: q
6.08.【案例】for循环_计算水仙花数的个数: D7 S7 Q; M3 d r6 r9 j
6.09.while循环的格式和执行流程
1 C3 o& B; H% G2 I/ _6.10.【案例】while循环_打印5次HelloWorld* M3 p2 } S W- G% J, d
6.11.【案例】while循环_计算1~100之间的数字之和
. I: k8 d- ^! N2 p+ a7 _6.12.do_while循环简介
" j: I& W. x: ^; e& X& m+ Z- D6.13.【案例】do_while循环_模拟练习知识点的次数
/ ]/ z" f, V7 g5 u6.14.三种循环的区别0 ?& m2 }) i! j% {2 n
6.15.死循环
! }7 ]* d+ e6 N6.16.break关键字的用法
4 u$ g) w' e/ P- h( `6.17.continue关键字的用法
( Z) }% L, L0 K( ?0 B6.18.循环嵌套+ s6 M, d% a& Z9 z: z, J/ I
6.19.带标号的循环结束
' {/ ~& M7 a N5 R6.20.【案例】循环综合案例_1024程序员节小黑发橙子 ^: \1 X% a, K, O2 F( g
6.21.Random类的简单使用
6 E" u- m1 |4 g8 v F% |6 [+ c6.22.【案例】Random类_猜数字的小游戏.mp4
# P3 X8 Y7 @$ q; ]/ c$ ]2 I7 l2 c2 H& j0 S( T: D
(七)Java核心_方法和数组$ {6 k9 F! `6 \$ k. r; O. c
7.01.方法概述; s8 k1 q9 _/ h
7.02.方法的格式
/ V& Z/ Y) r9 S6 @8 W! L7.03.方法的定义, |+ h6 _% U: I7 W# J! e- _
7.04.方法的调用
6 P) M3 l/ F8 K& [3 J6 @7.05.方法调用图解/ s" y, W5 V6 k b) J* k
7.06.【案例】方法_比较两个整数是否相等
3 F9 q( e" Y$ Y) m6 i7.07.定义方法的注意事项
" `2 j# }, V7 {) h, `8 W7.08.方法重载的概述
0 P, [- v, S& n0 _# b7.09.【案例】方法重载
, _+ @0 N) G0 O1 V+ o# n. y7.10.【练习】哪些是方法重载' G, q& N& H: g" l$ {# V! p
7.11数组概述, X- o$ _; ]- ?) b1 m: `9 G
7.12.数组的三种定义格式
. J. q5 c" ?$ S9 D2 T. T7.13.数组中元素的访问方式9 e0 M- [# E4 `4 ]
7.14数组的遍历
: `$ W* j$ C8 d/ v7.15数组的初始化0 g3 y0 q7 b+ r0 w5 U* m7 w7 l, l
7.16数组动态初始化图解
2 ]' K6 E5 N) T+ h) X0 l/ r7.17数组静态初始化图解
3 t- T+ u1 u3 W. p7.18两个数组的内存图解
r9 a, C: Z$ h1 I2 G7.19一个数组两个引用的内存图解$ m1 H6 a$ f, E3 c: B( {$ A/ a
7.20数组索引越界异常% H9 f2 n. g3 S$ P
7.21空指针异常
' O; P# O* ]1 ^- b2 y d7.22.【案例】获取数组中的最大值和最小值, `0 r! l: p3 G
7.23.【案例】数组_定义方法打印数组3 D. o) D0 l8 k5 B- |8 B* } [
7.24.引用类型传递和基本类型传递的区别' \# O, \) ?" p# O) O. r1 B: L
( p. j" H3 V2 f A5 V
(八)Java编程思想_面向对象之封装
5 P/ d; r( B; U( B8.01.面向对象的思想概述& j1 k- ~1 L+ W& V+ p E' v
8.02.类与对象概述
8 T+ e" B9 `. B9 t8.03.【案例】:手机类的定义和使用! H& O; e$ f# b5 Z1 |
8.04.【案例】:学生类的定义和使用
- s9 [- ^5 F+ e4 o$ h7 @8.05.一个对象创建过程的内存图解
G+ m' _5 Q' O0 n" c6 ^$ g" K8.06.两个对象创建过程的内存图解
% f, k# d7 m0 O3 I8.07.对象作为参数的内存图解
1 X- k6 V7 t/ e8.08.使用变量的规则
* C5 O% S% Q; d- A% {8 q9 M8.09.成员变量和局部变量的区别
( r7 D [* o* L! H8 ~% q& P3 x5 f8.10.封装概述
# p+ R" m& x/ A4 @6 u8.11.private关键字的用法
" d7 O% y% u; z6 R3 {6 [8.12.this关键字的用法4 L1 Q5 a: l4 p8 r
8.13.构造方法及演示$ H9 N! f; m. ~5 M/ J2 G
8.14.标准的JavaBean类的定义和使用& G g; j7 E& u3 m' a' u: e
7 s" g1 @# Q* C
(九)Java编程思想_面向对象之继承( k5 T* t5 x5 b
9.01.继承概述0 a3 N3 p2 @; K- z" P9 v) Y' |8 e+ A
9.02.【案例】继承_动物类
' C* m H* s( O$ N1 l3 G9.03.继承的优缺点
. \1 z$ D4 I+ R+ v+ ]2 S# x9.04.继承关系中成员变量的使用特点+ U) h8 b( d8 J4 o6 k) m, S8 G# k
9.05.使用成员变量的内存图解. Q# V: |8 `0 _' c
9.06.this和super的区别
; k- E7 b! {2 P8 `; P6 v6 c$ k9.07.继承关系中成员方法的使用格式
5 u( t# q# c0 g3 F) f- ]9.08.使用成员方法的内存图解; T( V, [9 A; i. x N% }" R$ `, q
9.09.继承关系中构造方法的使用特点
% E9 y/ a H" m8 w% w) R9.10.方法重写的概念2 C* H* x* \' o- R' m b! u' p
9.11.四大访问权限修饰符$ _8 L, |6 R" {$ X
9.12.方法重写和方法重载的区别
. h: d! l9 V' P# |& C9.13.Java中继承的特点
1 |2 q6 _+ t7 t( B u8 j1 m& k Z- N) E
(十)Java编程思想_面向对象之多态
9 B' f6 g0 E& q+ G" D: e10.01.多态概述/ r( z6 K$ I! w# H
10.02.父类引用指向子类对象的内存图
( |& }( X1 j* Q% n! L' S7 \3 i10.03.多态的使用场景及其内存图解% O/ o; X2 ?+ Y: y. m! A a
10.04.多态中成员变量的使用/ _1 J8 f+ Q9 \7 v% u( [
10.05.多态中成员变量使用的内存图解
1 }0 ?! M9 m, y10.06.多态的好处和弊端% M& u t7 ?) x1 `( @/ G) b- E+ D2 u
10.07.抽象类的概述, e5 K- v! r/ Z/ ?5 G7 @, a
10.08.抽象类的特点+ r, T! P( f# K$ S5 L+ z
10.09.【案例】抽象类_员工类代码实现1 h- r3 M- ?7 h; X G: r3 p3 \* }
10.10.final关键字概述和特点4 r/ F9 P+ k1 h0 E
10.11.static的用法之静态成员变量
* S: J# E% S3 \9 I8 y O10.12.static的用法之静态成员方法
2 Q9 c2 p& s* X- v$ V$ i$ l10.13.接口的概述/ g% J1 c* M( v9 O1 J" b1 v$ l3 U' l
10.14.接口的特点: d! V( k) `. N
10.15.接口的成员特点8 w% E$ ?8 T8 G- r
* o F8 p9 h! y7 {8 Y% }( O' U
(十一)Java常用工具_API
$ s5 Z3 V5 Y4 X: B11.01.API简介
$ K+ E: K& n0 f' i- A11.02.Object类的特点
# p2 o" j, ~/ E: w% e11.03.JavaBean重写Object类的方法
: K" V0 M3 d x8 ^3 g11.04.Scanner类
' J. w( F- K5 W$ {11.05.String类的判断功能
5 w7 i: G* q6 R$ V3 g; y11.06.String类的获取功能
# y G. Y* C0 g4 L0 Z+ R11.07.String类的转换功能% h2 s( b3 D7 G0 P6 H! b5 y; U8 Z
11.08.StringBuilder和StringBuffer类
( o; i C9 k8 s8 p1 m11.09.Date和Calendar类, ^9 o( l, o0 d3 a
11.10.基本类型的包装类' }7 e% A i% L2 F& n
8 M8 n: q9 N( A6 Y( a8 m: C(十二)Java常用工具_集合6 O+ J; c$ s, v3 ~
12.01.集合简介
- B& n# T" W+ u, q, r12.02.List集合的特点和应用
. J3 h% J9 d2 ~12.03.增强for的使用
6 ?0 ^) c \$ a7 ^ N1 f12.04.迭代器演示1 Y6 S. z9 |- L+ W% i
12.05.泛型简介8 ^) {% _1 I! x# L, J# n8 U+ h, l+ i
12.06.Collections工具类的使用- W7 \* _( ~( ~/ b. C1 l
12.07.Set集合的使用
t8 s9 U8 L: ]- \- P/ Y( f! x7 ?) K12.08.Map集合的使用: X8 s! V7 \7 m5 w$ R5 n
12.09.【案例】模拟斗地主发牌之买牌
! { u+ a* `$ x% H a, T12.10.【案例】模拟斗地主发牌之洗牌和发牌
* O" ~/ Z# W$ @& U12.11.【案例】模拟斗地主发牌之看牌
+ m! `1 {: W$ k0 X) t
" |' y% V; ^* Z7 ~' G/ }" L1 B: v(十三)Java常用工具_IO流9 P' j- @: d! i& e" A9 S B2 p C
13.01.异常的分类
7 {$ [0 K. ?( n4 M13.02.异常处理方式之try_catch( d! e2 S3 c. n' A# d8 i& b V
13.03.异常处理方式之throws! U% v* ]* p6 s b
13.04.IO流的概述和分类/ R% y9 x' a- c4 h& u2 ^2 H
13.05.File类的创建及判断功能$ D+ W7 J# ]2 M% c* x* g' t- ^; O
13.06.File类的获取功能5 ]$ n5 p% b, o4 v* |5 b+ L
13.07.字符流读数据之一次读取一个字符
. ^2 z/ {* O% G+ `; _8 n. c13.08.字符流读数据之一次读取一个字符数组6 M% W" u5 ~( B4 {
13.09.字符流写数据7 T- a% E: j9 o. O* z
13.10.字符流拷贝文件之一次读写一个字符& {' q/ L4 O8 G. U4 b
13.11.字符流拷贝文件之一次读写一个字符数组# ?1 a; m) B( _
13.12.字符缓冲流普通用法4 c% V4 |+ I2 h H, t2 R; z
13.13.字符缓冲流之一次读写一行2 {6 u/ ~; N/ h1 g. E3 w, I( g, o
13.14.普通字节流一次读写一个字节
) b6 J1 c1 C: d& Q x9 w: Q: J, H/ g' R13.15.普通字节流一次读写一个字节数组 K% M# U: H. m1 T0 e
13.16.高效字节流的用法' e4 T7 S: K/ L6 ^$ y* g
13.17.【案例】模拟用户上传头像之获取合法路径3 a% k% K; c a( D8 K
13.18.【案例】模拟用户上传头像之判断要上传的文件是否存在2 f5 Y5 J5 m- I4 v' F: T' i
13.19.【案例】模拟用户上传头像之上传功能实现
, e* Q/ d/ [. m$ ]7 _/ T3 z. h! F: o- }' a
6 F; E5 z; s& m1 Q# ^(十四)Java高级_反射
' K5 w2 @4 P* s0 U: ]14.01.反射基本概念8 K o4 c; m! E) V0 N
14.02.获取字节码文件对象的三种方式% t. D2 X7 W# \/ G# b
14.03.通过反射的方式获取构造方法并使用; b! F, ^* \" e% {5 u
14.04.通过反射的方式获取成员方法并使用
$ R" s D# _7 s1 D' Z: M" z4 Y) h14.05.【案例】反射_获取setter方法给对象的属性设置值
! g- W4 }6 U* y14.06.通过反射的方式获取成员变量并使用9 ]! A0 e6 ?, T6 J; R0 V5 i. b2 T( u
+ K4 m+ B1 w2 ~) h2 F1 m" ~2 ^
(十五)项目实战5 y! L; Y. q( r8 O0 }% G
实战项目- t" b# ^# j4 M% f% l) v( D
项目名称: EShop网上商城(控制台版), p0 d [& t0 A6 ? L
项目描述:
) N' j: I$ t# c: QEShop网上商城项目是一个在线商城控制台模拟项目,主要功能包括后台管理、商品管理、订单管理和购物车管理等模块,构建了一个大型web系统所必须的基础功能,同时支持在该模块上进行二次开发。涉及反射技术、泛型类、泛型方法、泛型固定边界、注解、JSON、POI、Properties、XML技术、枚举、Debug调试技术、工厂、单例、适配器、代理、责任链、观察者、模板方法、MVC、面向对象程序设计和面向接口程序设计等技术。通过该项目的学习,能够了解实际开发环境中大型web项目的开发模式和流程,掌握常用框架中部分重要技术的实现原理,大大提升编码能力和业务分析能力。
# W, k( p6 M) L4 _1 U2 c
' r2 D$ E% J2 y
+ x) `% T- w$ R' ]5 h7 t来源: 2019 博学谷Java基础精讲(入门篇)视频教程 |
|