|
|
课程介绍:
; B) t w4 g# z" t6 q本套课程囊括了Java语言核心语法、面向对象程序设计、常用API、集合框架、IO流、多线程、网络编程、反射技术、常用设计模式、JDK新特性等JavaSE各个领域的知识,帮助学习者建立和夯实Java语言基础。本课程结合诸多设计模式,如工厂、单例、责任链、代理、观察者等,深入浅出地剖析了大量企业级技术的实现原理和工作流程,如IOC、AOP、动态代理、泛型技术、面向接口编程、自定义注解、XML配置、POI、JSON等,让学习者能够学以致用。课程本着趣味性、通俗性、实用性的原则,让学习者爱上Java、学懂Java、使用Java。- g2 m- {, s/ A' u3 t6 y
- A8 ]' r4 M3 W8 s% D6 q, Y; l
适合人群:
# t/ R& |+ N) k; g, A6 |1 C零基础、对Java感兴趣的爱好者
1 Y. c/ \2 J, `- ~* [/ `期望巩固Java语言基础知识的技术人员
* `# m2 P: ~, m. i6 V& S4 m0 t& ^2 O
2 o7 O0 ]( O9 U! f+ W课程目录:
& m/ ^9 m9 D6 S0 M(一)计算机基本概念和JDK的安装
# E$ T- @0 r. l1.01.计算机的基本概念" `' V Q( _" T
1.02.计算机功能键和常用快捷键
8 J9 T8 I" i4 Z- o, i4 j- a1.03.JDK相关的基本概念7 V8 s; y4 C/ K, e _. u& b
1.04.JDK的下载、安装和配置5 C n' P- P( G& S3 v7 g' L
$ ?# R4 r! z1 w+ M
(二)我的第一个Java程序:HelloWorld% e3 W2 s: v* |3 q2 ]( Q
2.01.IntelliJ IDEA简介
0 L! {+ X4 q; _: }! f; F2.02.我的第一个Java程序:HelloWorld
$ b L* q4 Y2 q7 _% @2.03.Java程序开发与运行原理
5 E( t3 S/ P; S! G6 {* q7 j2.04.IDEA的基本配置
! M# Z( n! z9 }% b6 ?- [2.05.IDEA常用快捷键演示5 g. @' ]& u* A! T
2.06.Java语言编码规范
" C. t$ ^4 @9 ?# z, [/ L& m# K( a L0 O5 r% p
(三)Java核心_常量、变量
, s0 ~, ^9 O3 K: t2 q3.01.Java的注释
$ |0 X2 ^1 N }( J3.02.Java的关键字 @8 b) @+ b* Z' [2 }
3.03.Java的常量0 Z1 [2 `, \; |! l% \+ y
3.04.变量的定义和使用6 L; P. `( |2 @$ a8 a
3.05.Java的数据类型
( m" L$ u4 \4 `3.06.数据类型转换
: h9 i, P! V) M: f3.07.Java的标识符
- Y/ m& c7 y0 v# g0 t3 D/ D
6 T' E1 h6 W( U& E0 ^(四)Java核心_运算符: Q% G/ }7 n! l* q4 K/ @
4.01.算数运算符6 D' u* _/ [3 m: `( S- W; K
4.02.字符和字符串参与加法运算
8 U: `% r9 V- P: ~* E: [2 J7 v0 k% n4.03.自增和自减运算符+ m. N" R* o4 N0 M) u' Y
4.04.赋值运算符
+ z' Q6 \4 V" S# j; g4.05.关系运算符
8 x& C8 m+ H4 x6 G9 Z$ Y* w4.06.逻辑运算符
+ {! c; z' R* @# ~4.07.三元运算符2 d" c* c. R# p1 X3 a/ C
" l0 h! `% b y7 ]+ ]7 k0 O5 c1 ?(五)Java核心_流程控制之选择结构/ X: F. e, O. o0 X$ D5 Z
5.01.Scanner的基本使用
7 i: @* f- w; V& I0 b J$ w4 g5.02.【案例】Scanner类的应用_计算两个整数和/ T' g& [5 @8 i) I+ [- u( e5 }
5.03.流程控制结构的概述和顺序结构9 q, }. m1 ?8 O6 ~8 D
5.04.选择结构概述+ {, M5 `9 k! l3 d
5.05.if语句的第一种格式
- N- w4 `/ j, G8 B$ O. w/ P* y5.06.if语句的第二种格式: c; k& K: W; E- p0 h% C/ A
5.07.if语句的第三种格式
, Z. {' g% i0 G& r8 X5.08.【案例】if语句_获取两个整数的最大值# J+ N7 x! L6 Y8 V: ^6 ^7 A; E
5.09.【案例】if语句_根据考试成绩打印对应的级别
$ }0 f" V5 y5 `/ b5.10.switch语句简介. f* U3 Z# x& |; X
5.11.【案例】switch语句_根据数字打印指定的日期
& t6 M# D x. S. t; v8 [9 C1 K
. r# ?- u0 \- h! c1 w9 T- G6 H(六)Java核心_流程控制之循环结构
7 u( G, t- `7 M+ ]6.01.Java中循环结构的概述和分类
3 x8 T. T p* h9 Z6 Z, _8 R6.02.for循环的格式和执行流程. g1 _2 V( L" j0 {% [
6.03.【案例】for循环_打印5次HelloWorld; z2 }0 @% m2 J. O0 Q& j
6.04.【案例】for循环_正向以及逆向打印数字9 v m+ e0 Q" w
6.05.【案例】for循环_求1~5之间的数字和
: [' T- G7 X( C+ {% u6.06.【案例】for循环_求1-100之间的偶数和
4 {8 q. D' Q% t) J6.07.【案例】for循环_打印所有的水仙花数
( z; Y: g" D' z6.08.【案例】for循环_计算水仙花数的个数
' l" R( I, ]8 P+ s& [$ H5 \6.09.while循环的格式和执行流程. J" o9 r7 D# V0 |- R; l* [
6.10.【案例】while循环_打印5次HelloWorld1 K% \6 u1 z/ N# W- f( H# o
6.11.【案例】while循环_计算1~100之间的数字之和' I* U. U/ {* P F3 Q
6.12.do_while循环简介
' k2 V# |7 |. k$ J Z! P: {/ b9 ~6.13.【案例】do_while循环_模拟练习知识点的次数" a* d& a) M. i
6.14.三种循环的区别' x& L; h2 j5 y& A8 b) [: s
6.15.死循环; G. }& ^+ ~2 W( ^- l( H
6.16.break关键字的用法' A# O% Z8 _( r& P: [+ c
6.17.continue关键字的用法
8 ^8 P9 Y7 W' \7 [. J6.18.循环嵌套 }6 N9 H, z8 a# R9 x# x2 e$ n+ W- L2 `
6.19.带标号的循环结束
8 H* E2 }( C' |# y+ }" y4 G1 P6.20.【案例】循环综合案例_1024程序员节小黑发橙子
" k# ] s: q, n& e9 s' O/ J' s# V+ u6.21.Random类的简单使用! z* @0 V2 q: [% U" i4 K/ e7 y. O
6.22.【案例】Random类_猜数字的小游戏.mp4# D) i/ y9 }1 _4 ?& ?
F/ Z* f* U+ y0 N; l/ T, i(七)Java核心_方法和数组+ ^" T# B, B6 B+ \" D
7.01.方法概述
! {/ V% w$ H: t0 ]7.02.方法的格式$ v4 [1 v, K8 r" e# Y# i
7.03.方法的定义4 W* r6 m" C5 b
7.04.方法的调用4 w0 q7 s8 h5 G
7.05.方法调用图解 E. C4 {& `! S* x" g- e
7.06.【案例】方法_比较两个整数是否相等
" H# ?1 n6 _' d6 K# v( F7.07.定义方法的注意事项
4 D+ x; C+ S$ g7.08.方法重载的概述
! |; C# t; S( a8 P! I7.09.【案例】方法重载0 y6 \* O2 U. `. e: N
7.10.【练习】哪些是方法重载- c5 E7 O1 n/ S. `
7.11数组概述
. {7 r" T! {: d% i; e" h7.12.数组的三种定义格式9 E! `. Z9 O, _! q. N2 g0 P, ]1 w
7.13.数组中元素的访问方式
3 t$ e+ n; |0 P9 d7.14数组的遍历+ m: G: L5 L" L8 o/ r' M7 a1 M% b
7.15数组的初始化7 |. R9 t6 w% Z" W1 c5 l$ B
7.16数组动态初始化图解
6 S+ }' f; u! A& f* u6 I7.17数组静态初始化图解3 A+ `- C6 p. r8 n: v' b: H
7.18两个数组的内存图解 b+ e" a0 `9 S5 u/ V
7.19一个数组两个引用的内存图解+ \) h/ \8 U! s9 r4 L- k
7.20数组索引越界异常5 \8 e# f/ K3 Y4 Y$ G# `% N6 [$ v8 x
7.21空指针异常
) L+ g% y8 v }9 G4 q( p: N3 r7.22.【案例】获取数组中的最大值和最小值1 E) u! Y. W6 u# T& N
7.23.【案例】数组_定义方法打印数组* S( f* u Q+ @" `: \# m/ y
7.24.引用类型传递和基本类型传递的区别$ b- Y- v" {& O4 K6 Q$ t2 s
' g+ p) `% e3 B+ B; d6 r(八)Java编程思想_面向对象之封装
( E* w" N1 Y8 p! y6 i8.01.面向对象的思想概述, u2 t4 h0 j; o: E! H+ {
8.02.类与对象概述6 B0 ^8 n" [- B3 y
8.03.【案例】:手机类的定义和使用& ]9 }. C) J+ L" X; {3 |
8.04.【案例】:学生类的定义和使用
/ n, r+ U$ V! C+ p8 F8 L1 \9 j- r4 v8.05.一个对象创建过程的内存图解
; Y9 d+ p7 A" _$ |) I7 ?$ _8.06.两个对象创建过程的内存图解
3 i/ S$ F0 R T8.07.对象作为参数的内存图解/ ?7 S; y4 h1 J
8.08.使用变量的规则
+ e7 T' L/ ^; `9 n8.09.成员变量和局部变量的区别
' p) |" f$ y" v3 O8 I8.10.封装概述
* S# W" E( ]) Y6 X6 k0 t3 c8.11.private关键字的用法
$ ~( k. n' W6 o. w8.12.this关键字的用法
s# r2 Y2 P2 Q* h8.13.构造方法及演示
, ]: x7 A% m: m: ~. R8.14.标准的JavaBean类的定义和使用
2 h; s0 A+ n+ U. T" d/ I; S
5 ^& [- Y) \* B7 c(九)Java编程思想_面向对象之继承. x2 m" w& m( {1 G: k M3 e1 _" C
9.01.继承概述, _% g# m- f; |1 S U8 E( X1 H
9.02.【案例】继承_动物类
& m6 H) m/ R9 R: V2 a+ b. R% c9.03.继承的优缺点
5 [ K, }* l2 t9.04.继承关系中成员变量的使用特点! N. R' I. l0 I; x3 Q& ~" ]5 I
9.05.使用成员变量的内存图解# `( m0 |% k3 w- l6 ~: u! Z& z/ D& ]% l; W
9.06.this和super的区别
% {" D7 _# N; z# W, x. t9.07.继承关系中成员方法的使用格式7 V* e. x. e3 E; z, \; X
9.08.使用成员方法的内存图解$ M/ t( j$ }. p
9.09.继承关系中构造方法的使用特点. u5 w2 K: z& O/ I, a5 X- {
9.10.方法重写的概念/ o! D- [, F# Q2 B+ @; Z f
9.11.四大访问权限修饰符+ Q- J) E) K+ s. w! a8 ]( d( ?: ?5 l
9.12.方法重写和方法重载的区别
- Z3 y$ h+ C. s! }. @9 }7 ?5 ?; i9.13.Java中继承的特点) {% I* {, }1 G5 G
, G; D0 [' T5 [* K+ Z
(十)Java编程思想_面向对象之多态
& A% n/ `/ K/ G$ Q5 _" }10.01.多态概述- q& F, A) E9 f5 E1 `
10.02.父类引用指向子类对象的内存图
: |7 J/ K" A, b9 c& h! g10.03.多态的使用场景及其内存图解
4 P% K( b# t1 q' \10.04.多态中成员变量的使用
' b4 K0 i6 n' k8 |7 G7 z0 A10.05.多态中成员变量使用的内存图解, s e. L, s- M7 K& Y0 }/ M
10.06.多态的好处和弊端
" X6 N( h) S7 v- @* ]7 B! Y+ [ C10.07.抽象类的概述3 X5 |" m( ~, I' x( e
10.08.抽象类的特点! F' ^7 P) n f3 N
10.09.【案例】抽象类_员工类代码实现
: E( p' G+ @3 [' ^* C1 ?+ b6 s10.10.final关键字概述和特点8 k* e' t* p, _9 }( P: I# d
10.11.static的用法之静态成员变量
! ?0 Z9 q: o2 i0 _10.12.static的用法之静态成员方法1 M& z) K% N# Q/ ]# C- c0 t
10.13.接口的概述
; `- r$ V4 b4 c h( E+ |$ M. d- P10.14.接口的特点2 x9 m; ? r' \7 O2 P$ X4 Q
10.15.接口的成员特点
: A# }+ t- ~: F6 i6 I( I4 L$ ` p: B
(十一)Java常用工具_API1 j. M k- J; \" [+ g6 P" E
11.01.API简介3 Y' U; I+ \: }7 B/ O
11.02.Object类的特点
5 P; }5 e h: \8 @! x- R- {* Y11.03.JavaBean重写Object类的方法
# L+ e2 E& K1 R: \8 t* w$ K8 {11.04.Scanner类
' e1 t* i. }% o. }11.05.String类的判断功能- r0 M* E( O9 |- t" @
11.06.String类的获取功能- a' e1 h/ ]- R! ]
11.07.String类的转换功能
* L/ Z- s8 P; T9 ~# K11.08.StringBuilder和StringBuffer类# T( G" {* }5 s& H. ~- T
11.09.Date和Calendar类
; g" {+ K/ ]# o( c' @11.10.基本类型的包装类
- d# w/ R( _; E1 f% Z0 Z% B5 T- [0 k
(十二)Java常用工具_集合8 j }6 ]5 V7 N: C$ @
12.01.集合简介
' S6 e' ?6 S H0 R& Z! U12.02.List集合的特点和应用
5 N. f) o2 q x1 r12.03.增强for的使用' `; H$ d3 b4 G( x/ I- }
12.04.迭代器演示$ J, i4 u* ]' ?" M( `
12.05.泛型简介0 t/ L3 C) G9 E8 B: ^& ]9 g
12.06.Collections工具类的使用
6 w; a' Q" k4 P" j+ `12.07.Set集合的使用
; `& y/ X7 W- [7 t- n; J12.08.Map集合的使用 r { q8 }& h
12.09.【案例】模拟斗地主发牌之买牌
7 K% l( B+ P# a3 R) Q+ Y12.10.【案例】模拟斗地主发牌之洗牌和发牌
2 I4 i5 z; w" y8 H; g0 H* d3 _12.11.【案例】模拟斗地主发牌之看牌& V/ [. z1 |! q" c6 _* D; t
3 h8 R# H" x& e- a3 M9 q) N1 i(十三)Java常用工具_IO流
* T) X9 R+ R6 k; t3 ?8 q13.01.异常的分类+ l2 t1 Q9 L4 M9 R
13.02.异常处理方式之try_catch# Q. n- a! j5 k" w- L& k+ g/ ?4 }
13.03.异常处理方式之throws$ S8 b" w( x- _* y
13.04.IO流的概述和分类
, e7 O7 ^* k, {0 i13.05.File类的创建及判断功能. h* ` @& n/ A( r1 b' @" s
13.06.File类的获取功能
0 ^/ c7 j' D+ P2 v9 P: V) u: a. O13.07.字符流读数据之一次读取一个字符( [7 ?& x! e. V
13.08.字符流读数据之一次读取一个字符数组$ E: n" j6 ? m; B6 j1 h
13.09.字符流写数据- W/ B' N6 Z9 |8 h9 d$ V
13.10.字符流拷贝文件之一次读写一个字符
5 P. V# T' [1 d* t! j6 O2 g# r13.11.字符流拷贝文件之一次读写一个字符数组3 @8 A+ Y, {9 S& n$ Y7 j
13.12.字符缓冲流普通用法1 Q2 J) u1 h* a) r# H5 v
13.13.字符缓冲流之一次读写一行
* L6 Y8 Q1 y) O' t1 B* h# v, x13.14.普通字节流一次读写一个字节
( u* r6 G) [. y7 p13.15.普通字节流一次读写一个字节数组! c3 n! F, [6 n0 m7 L) [+ E; }6 D+ S
13.16.高效字节流的用法
6 Q/ e: c+ X9 t0 K @) u6 w8 j* ~" }13.17.【案例】模拟用户上传头像之获取合法路径
* d8 ]; u: F2 K. e4 K5 m13.18.【案例】模拟用户上传头像之判断要上传的文件是否存在
, i2 P E# p! F6 b$ [, `13.19.【案例】模拟用户上传头像之上传功能实现
; |8 Z0 f& A3 ^
: L; B% v7 m/ ~1 m4 u; F# M(十四)Java高级_反射
. u5 |/ A: A1 Y4 I14.01.反射基本概念4 v# d, R; u% I9 B7 \9 m) R
14.02.获取字节码文件对象的三种方式. m4 A. O0 [0 L/ K: W& r: }
14.03.通过反射的方式获取构造方法并使用" t5 D& ]* c7 L
14.04.通过反射的方式获取成员方法并使用$ V# L: ?3 x+ ~! ]/ p
14.05.【案例】反射_获取setter方法给对象的属性设置值
# r% k$ X2 X6 f3 d$ l7 [14.06.通过反射的方式获取成员变量并使用2 m8 E( R9 d& j9 t" ?
7 c( d, G5 A; B% j7 u(十五)项目实战
) I2 y8 T! x! c" x% U; D2 A# A实战项目
# M& I* W6 ]) X) M: X2 q项目名称: EShop网上商城(控制台版)
: u2 \5 _3 g) w, n" p; r项目描述:
& O) h/ ]0 `$ H7 r2 O$ I* z$ q1 uEShop网上商城项目是一个在线商城控制台模拟项目,主要功能包括后台管理、商品管理、订单管理和购物车管理等模块,构建了一个大型web系统所必须的基础功能,同时支持在该模块上进行二次开发。涉及反射技术、泛型类、泛型方法、泛型固定边界、注解、JSON、POI、Properties、XML技术、枚举、Debug调试技术、工厂、单例、适配器、代理、责任链、观察者、模板方法、MVC、面向对象程序设计和面向接口程序设计等技术。通过该项目的学习,能够了解实际开发环境中大型web项目的开发模式和流程,掌握常用框架中部分重要技术的实现原理,大大提升编码能力和业务分析能力。
' E; H7 L$ O) ^* Z3 @9 {, t( p5 w$ m6 @ H
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|