|
|
课程介绍:7 f3 R; Z/ k) h i
本套课程囊括了Java语言核心语法、面向对象程序设计、常用API、集合框架、IO流、多线程、网络编程、反射技术、常用设计模式、JDK新特性等JavaSE各个领域的知识,帮助学习者建立和夯实Java语言基础。本课程结合诸多设计模式,如工厂、单例、责任链、代理、观察者等,深入浅出地剖析了大量企业级技术的实现原理和工作流程,如IOC、AOP、动态代理、泛型技术、面向接口编程、自定义注解、XML配置、POI、JSON等,让学习者能够学以致用。课程本着趣味性、通俗性、实用性的原则,让学习者爱上Java、学懂Java、使用Java。. M) z6 [( ~1 |5 |
& W7 W# E. i6 `$ \, `( j
适合人群:5 V) e0 Z: w5 E3 P5 A
零基础、对Java感兴趣的爱好者
2 E( p+ h- q/ J期望巩固Java语言基础知识的技术人员
# ~& I& a/ O8 O$ X+ D2 E1 _ G9 w* c6 g' W1 S+ Q9 S/ |
课程目录:# X0 U1 y' G5 P
(一)计算机基本概念和JDK的安装
! R5 V( \$ ]- p( ^1.01.计算机的基本概念
6 i9 r1 B0 n( }( |0 S1.02.计算机功能键和常用快捷键9 e% v) p1 W" k: z: d5 _
1.03.JDK相关的基本概念
+ ~* k7 X$ m% D0 J1.04.JDK的下载、安装和配置
: P8 w8 V/ I* F0 R0 J+ ?8 A& x
+ b1 I0 @3 _5 j! _0 N- F) B) `- o& P(二)我的第一个Java程序:HelloWorld: H8 Y* W6 o. A5 X: t8 q0 d
2.01.IntelliJ IDEA简介
$ w( h8 m' r0 y/ I, A0 x2.02.我的第一个Java程序:HelloWorld6 Y1 _; T* L2 ]) k S7 ^
2.03.Java程序开发与运行原理" o; W9 i0 r" y" I; I/ H2 Y6 C1 O: L
2.04.IDEA的基本配置- b: x% e% z8 r; u- E( A* R0 J1 D
2.05.IDEA常用快捷键演示
( \, H# r: Y$ H2 P2.06.Java语言编码规范
0 n. d- D& U0 |* Z# ~. Q% J- s9 r3 s0 H0 F5 |5 a# @5 ]* k
(三)Java核心_常量、变量
8 b# N" o U. \: y1 @- j9 B3.01.Java的注释1 Y5 P7 t( ~+ N/ ^1 G1 n- g) U
3.02.Java的关键字+ G B$ y; A# u5 d3 W5 _' o
3.03.Java的常量
7 T- O, l+ j, [* k, c ]3.04.变量的定义和使用
6 b! k: Y4 P6 m' L! {" Z# h+ I4 \- E3.05.Java的数据类型* l3 W* ?/ X) H. S7 X2 K$ U% l" v$ L
3.06.数据类型转换: g$ @7 Z- L+ M$ I' \0 o
3.07.Java的标识符
5 V* `) U, o/ ~; ]
# F; P7 c+ d1 d(四)Java核心_运算符# ?$ v/ t: |* k1 }: y
4.01.算数运算符6 _ |4 C- m( [$ V2 ~
4.02.字符和字符串参与加法运算& _6 N4 S0 r* Q
4.03.自增和自减运算符5 o" K) Z6 n7 c) D
4.04.赋值运算符
" S% x0 n, Y4 q; v5 K; i4.05.关系运算符' Q! _* X% Z6 w$ `/ ~
4.06.逻辑运算符
0 s) ]. \4 V5 k6 p4 o" G4.07.三元运算符
/ @7 Q; t+ q8 h2 Z
# N6 Y5 u6 O2 n7 F# N* s# R(五)Java核心_流程控制之选择结构
% C6 a7 E G+ q# L7 f( K5.01.Scanner的基本使用
: Q5 v7 [2 x7 W8 l$ a( g( d5.02.【案例】Scanner类的应用_计算两个整数和0 X1 l+ s2 _4 n, Y3 ]
5.03.流程控制结构的概述和顺序结构
. m ~: b3 C3 \! s$ G4 n4 |. a+ v5.04.选择结构概述
( ^3 u: P2 T+ E u- I, Z! J5.05.if语句的第一种格式
- R' d2 w. }7 |( v# {: D, {1 ~6 r, I5.06.if语句的第二种格式
' _0 Y; h* {9 J+ G, n5.07.if语句的第三种格式* |4 ~. C5 W: C+ ~
5.08.【案例】if语句_获取两个整数的最大值
' L' U) L* d" k A6 D5.09.【案例】if语句_根据考试成绩打印对应的级别8 g" w4 g) ~9 \$ Z
5.10.switch语句简介7 w& T; z5 Y( G$ M
5.11.【案例】switch语句_根据数字打印指定的日期
% s+ a! \# q7 C* }$ Y- V% K# {: c$ {. N
(六)Java核心_流程控制之循环结构) }' x7 P& J- N1 h
6.01.Java中循环结构的概述和分类
9 ~4 Z+ y% P5 ^- E8 J6.02.for循环的格式和执行流程 U+ R$ q8 X; S1 T, \: _! R
6.03.【案例】for循环_打印5次HelloWorld6 b. e! X! ]7 I1 {* U$ g
6.04.【案例】for循环_正向以及逆向打印数字9 Z+ g- @; ^' t* y$ L- e
6.05.【案例】for循环_求1~5之间的数字和
; i2 K) r* l# ~3 Y: T6.06.【案例】for循环_求1-100之间的偶数和
; v1 D* ~# G. ]% u/ |! n$ E u6.07.【案例】for循环_打印所有的水仙花数5 _& a" S! Y: N, v7 q7 A9 L* P
6.08.【案例】for循环_计算水仙花数的个数 u: t! F6 M2 n: P! A
6.09.while循环的格式和执行流程+ k' _! ?; l$ F4 Q) q0 @
6.10.【案例】while循环_打印5次HelloWorld
[2 }& B6 ~- q$ y6.11.【案例】while循环_计算1~100之间的数字之和* A2 p6 I; c9 z- X) }4 \0 u& [
6.12.do_while循环简介
7 Z, f) n* k6 E. Q6.13.【案例】do_while循环_模拟练习知识点的次数
% p4 I" F1 ~* q a6.14.三种循环的区别 x" Q5 D6 [- n+ [6 Y
6.15.死循环5 p0 V8 Y% }8 {, f& b. X
6.16.break关键字的用法
! |# i. \/ P$ q" e3 W0 ~6.17.continue关键字的用法# i! O: _* M1 w* W
6.18.循环嵌套6 j% \, O; v6 Z2 K/ F: f. O
6.19.带标号的循环结束; |* _) N6 g9 m
6.20.【案例】循环综合案例_1024程序员节小黑发橙子9 Q+ y! I, }$ v
6.21.Random类的简单使用1 Q6 o- N# X5 v/ h
6.22.【案例】Random类_猜数字的小游戏.mp49 [$ X* g ~* ^/ W; A
4 u7 }+ ]) ]7 V2 Q
(七)Java核心_方法和数组. F/ C7 A6 K9 l) ?
7.01.方法概述
. h" e: D# M& x7 @. b8 M7.02.方法的格式* w D5 I1 M! s* d( c e
7.03.方法的定义
7 `' W* ^& y# O+ B1 S' e8 @. C7.04.方法的调用
) I! T, k( {7 a% X0 \4 F7.05.方法调用图解
$ I, ?: y7 k3 d2 n; y$ S7.06.【案例】方法_比较两个整数是否相等/ S- V. p ^4 {; O% I
7.07.定义方法的注意事项
/ d% B2 h6 ^3 w% n7.08.方法重载的概述
- p* F' L/ Q E7 B1 z4 V6 t7.09.【案例】方法重载
6 U9 J+ ^1 G# E6 m" @* o" {3 k. \6 Q7.10.【练习】哪些是方法重载
" y9 u0 u! m+ A a6 V7.11数组概述
7 ~0 F+ _# O. l @( |+ }7.12.数组的三种定义格式
- X5 V8 z$ g! Z6 @7.13.数组中元素的访问方式
) \0 D7 d# N Q5 X% J$ {4 J6 E7 F. q7.14数组的遍历9 g4 p1 p$ U: i4 T$ K& W- F
7.15数组的初始化
. O1 M7 V# V6 C7.16数组动态初始化图解
( \$ E# H8 h7 G. y6 C7.17数组静态初始化图解$ p) m5 S* [/ @. J M5 n
7.18两个数组的内存图解4 R7 s/ L1 L7 t% S) a! y8 w/ X
7.19一个数组两个引用的内存图解 y- k' P6 |7 \7 A2 p4 s
7.20数组索引越界异常
. x. F" r4 l4 a7.21空指针异常
+ x, k3 d8 e% I: a/ z2 i3 R7.22.【案例】获取数组中的最大值和最小值
5 U9 X( ~; {6 O7.23.【案例】数组_定义方法打印数组
+ D6 `+ q7 B9 o2 Q% C3 V# L* m7.24.引用类型传递和基本类型传递的区别
9 A5 ]. X! u9 I t& d6 \' @* m3 F! r; T" O! r4 @
(八)Java编程思想_面向对象之封装
# @ a3 t7 P/ s8.01.面向对象的思想概述
1 E' p( P5 ], A1 c; y9 n1 j# n x2 r8.02.类与对象概述
7 W. w: {3 E- o, Z6 G0 w# E8.03.【案例】:手机类的定义和使用" n0 [4 j! e6 y7 S. _0 [& R
8.04.【案例】:学生类的定义和使用
, ~2 L* b* ~2 l% o* O* z) G/ q- m$ r8.05.一个对象创建过程的内存图解4 h1 M( Y$ G, T2 E% x a
8.06.两个对象创建过程的内存图解7 c# R+ @3 H' i* h h7 G
8.07.对象作为参数的内存图解+ |' A9 ]! l4 \7 V; K# T8 W
8.08.使用变量的规则
% t( n+ {& U* Y' G0 {7 x8.09.成员变量和局部变量的区别! M- C& B8 j+ y$ S: y- U5 R2 t: _: O3 l
8.10.封装概述
% o5 [# K$ _/ l, F) L) d8.11.private关键字的用法2 C( f I# b4 j8 O
8.12.this关键字的用法
n+ s' B6 D5 J3 M7 \8.13.构造方法及演示 p. n/ x3 c( E# ^
8.14.标准的JavaBean类的定义和使用 n& `% ]& j4 q, Y: S8 @( t
, q7 J, O& i* `2 I$ W/ t(九)Java编程思想_面向对象之继承& N4 x- ]. B& P* {% K
9.01.继承概述
0 ? k; W. {- z; Q2 g% r' @9.02.【案例】继承_动物类
" J) N7 f' K7 _) X9.03.继承的优缺点
; v# R* I# `0 h1 e2 j9 s9.04.继承关系中成员变量的使用特点 R$ f7 L% M. E
9.05.使用成员变量的内存图解
1 `$ X3 K$ J. w9.06.this和super的区别
5 ?# ]; O- B* k7 i; S9.07.继承关系中成员方法的使用格式
2 ?; c* x6 P( g/ \: E/ I9.08.使用成员方法的内存图解/ ]* t: k7 P; _% x( R# W/ i/ ], _# t
9.09.继承关系中构造方法的使用特点
& a2 b9 W# L' S' g/ m9.10.方法重写的概念7 T6 j0 s- N# {" @
9.11.四大访问权限修饰符. k7 k: M& Z7 X+ {
9.12.方法重写和方法重载的区别
) Z( b; Q& x: f9.13.Java中继承的特点
. I# ~# W! D$ X; M2 N+ u2 {3 ?4 m+ p! c& h2 d& K4 |
(十)Java编程思想_面向对象之多态# o' J- l. p+ e
10.01.多态概述" Q# F% k) w/ F
10.02.父类引用指向子类对象的内存图
; {% S6 S n2 ]3 {, t( a9 i' R5 y10.03.多态的使用场景及其内存图解" C; Z8 y3 D% X0 ]
10.04.多态中成员变量的使用
+ M* E2 i8 U: a/ v$ a10.05.多态中成员变量使用的内存图解3 ?6 x7 b# e5 s5 R% f8 j
10.06.多态的好处和弊端5 w- U" s2 _- V2 D
10.07.抽象类的概述: ^, S/ X& k8 V& L- @6 y
10.08.抽象类的特点# r, m: u) b( R& y" }0 Z1 _+ e4 A
10.09.【案例】抽象类_员工类代码实现
' o. B' z9 g4 J* F: K/ O5 Z10.10.final关键字概述和特点7 K V2 O$ ^, g' D
10.11.static的用法之静态成员变量
. i4 o3 e' u& z" h10.12.static的用法之静态成员方法
! @2 v1 U9 ?: e* T' u- f4 j10.13.接口的概述
* N( f# E' M% O/ Z10.14.接口的特点
' b; v2 s: I( s2 f4 l& E2 b. p5 F10.15.接口的成员特点# t# w* Z2 {8 R$ D D \
+ @' {3 K2 m* t' S0 o
(十一)Java常用工具_API# D( D) T8 F% X
11.01.API简介. e( ?3 @. E/ }1 d' Y2 Z6 F
11.02.Object类的特点
: W# w' r r. K' G8 h- \( s11.03.JavaBean重写Object类的方法, w k- s$ ]( d& b" X* c& P' d
11.04.Scanner类
1 D# `0 }# I$ ]( k: t! Z11.05.String类的判断功能
+ P; p p5 I# }3 ?! B9 g$ t6 g11.06.String类的获取功能9 y2 a8 M" }/ m0 p H) P# c& |
11.07.String类的转换功能
3 }3 B4 V0 q, z& R11.08.StringBuilder和StringBuffer类- Q L. x+ ~2 u( i7 U* D! n
11.09.Date和Calendar类
! s) K# [! Z2 U11.10.基本类型的包装类2 \' H2 G* @/ [3 S6 k& ^2 [7 N0 N
4 m5 g' a0 | U- i6 D
(十二)Java常用工具_集合: f% N% g V4 X7 t! u
12.01.集合简介
- F' j: M/ v8 W r9 {* ~# c12.02.List集合的特点和应用
0 y# j8 S. e+ f12.03.增强for的使用
; V1 c2 p ?/ k8 _$ b12.04.迭代器演示3 o7 T$ w# J: l! L* r; V
12.05.泛型简介3 p! {+ H: P/ C
12.06.Collections工具类的使用
Z: Z7 X. j$ R- W" ^! C9 O5 a L" [12.07.Set集合的使用! b8 X. _" I# ^% _( B: O! u
12.08.Map集合的使用6 l4 c$ d$ r$ t8 }& ~3 m/ z0 `
12.09.【案例】模拟斗地主发牌之买牌* `% K3 {# Z" Z6 a- V" r4 l, b
12.10.【案例】模拟斗地主发牌之洗牌和发牌
/ `1 z: ^0 ]" D5 q/ W2 S12.11.【案例】模拟斗地主发牌之看牌
1 F; W' X) B9 G3 F% R5 f) I% H# s! V& j1 R9 Y
(十三)Java常用工具_IO流; X% c. Y9 Y' i5 N- H& q3 J, d9 K# \
13.01.异常的分类
. K4 E: A- t0 G2 y, [% l7 D {13.02.异常处理方式之try_catch
6 g! C4 N, [1 r& g7 G7 w6 N3 a13.03.异常处理方式之throws' q) o7 Z( I& |) _6 ?
13.04.IO流的概述和分类* z$ k& g- C8 y' ?5 N2 G' T9 Y
13.05.File类的创建及判断功能
6 f2 \& C1 }6 C: z3 c+ y; o13.06.File类的获取功能6 K# U. O( D/ |5 z' N: @+ Q5 P
13.07.字符流读数据之一次读取一个字符
7 E# ~5 s- S# s1 E& U13.08.字符流读数据之一次读取一个字符数组
& Z. K5 a1 c/ K% T13.09.字符流写数据
- J2 i4 C1 D, j0 D4 c' C13.10.字符流拷贝文件之一次读写一个字符7 Q7 S. q: X8 F6 T+ j8 Q
13.11.字符流拷贝文件之一次读写一个字符数组
R. Z3 l, c5 i6 E) j13.12.字符缓冲流普通用法# A/ N% N, _+ L
13.13.字符缓冲流之一次读写一行# \: Z; ]% u4 o! p+ O
13.14.普通字节流一次读写一个字节1 }. T3 C# h3 X& Q7 m
13.15.普通字节流一次读写一个字节数组
2 @9 t. [/ D |7 p+ W; c13.16.高效字节流的用法0 [2 V E' e8 |2 \. J" q
13.17.【案例】模拟用户上传头像之获取合法路径$ K3 n5 C: ~2 P2 e4 ?9 T2 x: B
13.18.【案例】模拟用户上传头像之判断要上传的文件是否存在; N# I( L/ p9 G. I; R: T
13.19.【案例】模拟用户上传头像之上传功能实现
& N: b2 C. R$ o ^& `; O1 Q8 z0 C8 [3 s9 @! ]% l( N
(十四)Java高级_反射
8 [' k2 g0 `) L T' v% U4 r14.01.反射基本概念
9 w, W- x! z# l4 {: s14.02.获取字节码文件对象的三种方式
y5 F9 F8 }( |$ a& |9 A( o8 c9 r14.03.通过反射的方式获取构造方法并使用( Q* }. P) C5 h9 u9 ~1 u
14.04.通过反射的方式获取成员方法并使用
$ c& P# U: C" z5 P14.05.【案例】反射_获取setter方法给对象的属性设置值# V9 j+ ?6 j) e9 d! i4 f
14.06.通过反射的方式获取成员变量并使用
, I4 k- j! |5 ^- n) T/ D" C9 n4 f
" `2 r% u5 ^$ C3 G! T(十五)项目实战! Y# ~" z% ]6 e1 I, A
实战项目
$ Z% G3 f5 n, y) G9 E项目名称: EShop网上商城(控制台版)& `/ z- G9 W3 b( u: f" t+ v
项目描述:
* n- {. _# J/ o5 V% a' hEShop网上商城项目是一个在线商城控制台模拟项目,主要功能包括后台管理、商品管理、订单管理和购物车管理等模块,构建了一个大型web系统所必须的基础功能,同时支持在该模块上进行二次开发。涉及反射技术、泛型类、泛型方法、泛型固定边界、注解、JSON、POI、Properties、XML技术、枚举、Debug调试技术、工厂、单例、适配器、代理、责任链、观察者、模板方法、MVC、面向对象程序设计和面向接口程序设计等技术。通过该项目的学习,能够了解实际开发环境中大型web项目的开发模式和流程,掌握常用框架中部分重要技术的实现原理,大大提升编码能力和业务分析能力。* w4 S8 H, r! }0 r9 _: U
# ^ ?! P4 L( e( a% \# G7 a
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|