|
|
课程介绍:
6 R- u, I% U J [: b) t; g% M本套课程囊括了Java语言核心语法、面向对象程序设计、常用API、集合框架、IO流、多线程、网络编程、反射技术、常用设计模式、JDK新特性等JavaSE各个领域的知识,帮助学习者建立和夯实Java语言基础。本课程结合诸多设计模式,如工厂、单例、责任链、代理、观察者等,深入浅出地剖析了大量企业级技术的实现原理和工作流程,如IOC、AOP、动态代理、泛型技术、面向接口编程、自定义注解、XML配置、POI、JSON等,让学习者能够学以致用。课程本着趣味性、通俗性、实用性的原则,让学习者爱上Java、学懂Java、使用Java。) ?5 N1 ?; _+ j6 x, `% D8 [
3 J m& |7 ]$ C! U: K适合人群:- G4 M# V K. _. s# e
零基础、对Java感兴趣的爱好者
( c2 ^5 A3 @" X9 o期望巩固Java语言基础知识的技术人员# B5 }: o7 O1 P! D3 r, N' @
8 U3 ^6 W: }4 ]
课程目录:* ^" g; A1 q$ Q* N3 m
(一)计算机基本概念和JDK的安装% G# N: j. {: r0 @ }1 g Y
1.01.计算机的基本概念* R7 k: Q' K; o$ \& R% c
1.02.计算机功能键和常用快捷键( I( E& i h" Z! z
1.03.JDK相关的基本概念" Q5 a: q1 `* n& }
1.04.JDK的下载、安装和配置
; z3 H0 D' O4 U7 y/ _; C
- ]# f7 X" f6 t(二)我的第一个Java程序:HelloWorld# z7 Q1 J& Z% b
2.01.IntelliJ IDEA简介
f! d) Y9 i3 |7 E& Z4 H" r2.02.我的第一个Java程序:HelloWorld& m+ b8 F# P: i
2.03.Java程序开发与运行原理0 F+ ]% `. x# L
2.04.IDEA的基本配置1 S& J! l3 ~% r" u& U0 W
2.05.IDEA常用快捷键演示
; B B7 o' f, \& T, X2.06.Java语言编码规范1 \- Y8 K; g. H4 R; `5 B0 W
+ B5 |9 T7 u, U1 N& G+ w1 j' L) l(三)Java核心_常量、变量) {! l% v- b' y- X Y
3.01.Java的注释: M# k6 }3 q2 s/ G- j
3.02.Java的关键字: j; L0 }! ]4 k+ N7 V: n! ^. R
3.03.Java的常量$ x5 \3 E/ r; @' Y/ ^ D
3.04.变量的定义和使用
d/ F* N0 A! t5 @3.05.Java的数据类型
+ p% C7 Q8 v% T3.06.数据类型转换- Z, L0 t5 G7 c6 D/ t
3.07.Java的标识符
2 V; T$ T: u1 |# @
. U# F" r! B; J" {5 e(四)Java核心_运算符7 Z6 E+ M! R2 ^5 U6 D G( \$ ]1 U
4.01.算数运算符; B( `; _- z. u* X% J- X
4.02.字符和字符串参与加法运算
: M) D. m- y5 L4.03.自增和自减运算符* b( I1 {0 X6 u2 D7 m
4.04.赋值运算符+ [) l7 }; h" X1 _9 k* D8 ~* t) D
4.05.关系运算符8 X8 Z5 C4 _; Y; }
4.06.逻辑运算符0 y, \2 x- F3 L. ?* h& j. T1 ]
4.07.三元运算符- Y' K4 n6 [1 p# r
- [: ^* N9 k3 B5 ?(五)Java核心_流程控制之选择结构
/ `6 a1 P) j: o @0 }) P5.01.Scanner的基本使用
4 r% K) c! o' ~( r5.02.【案例】Scanner类的应用_计算两个整数和
2 f5 B4 x. Q" R) U5.03.流程控制结构的概述和顺序结构+ q+ H6 W7 x& D( ]5 R& Y: ?1 p
5.04.选择结构概述* C" h- S. \ \' q( G
5.05.if语句的第一种格式
* l2 q2 I+ w( F8 u+ S6 X0 K: k5.06.if语句的第二种格式8 U7 U/ t1 Q, i. ~6 @
5.07.if语句的第三种格式" A7 c! R* P5 H8 f- { ^' {# K' k# K
5.08.【案例】if语句_获取两个整数的最大值% D) d9 \4 o7 |8 f0 r
5.09.【案例】if语句_根据考试成绩打印对应的级别
/ G& {1 {" U j5 E# m2 P. i5.10.switch语句简介
. a' l2 W2 C6 @: W4 I5.11.【案例】switch语句_根据数字打印指定的日期
3 J5 ~, A Q# g+ N4 }1 L/ r2 L( k/ M! q; b
(六)Java核心_流程控制之循环结构0 G6 H- M, ?/ a0 C8 e
6.01.Java中循环结构的概述和分类
/ i) R) r! J7 N0 V1 u. U, H3 ~5 L6.02.for循环的格式和执行流程& R& z: S3 V; ^# f% D7 v9 Q
6.03.【案例】for循环_打印5次HelloWorld
0 e2 {. I6 o {! N6.04.【案例】for循环_正向以及逆向打印数字
( X+ l% V+ w/ e! I5 P1 Y$ Q6.05.【案例】for循环_求1~5之间的数字和3 q) }1 O( R" V) T) i0 @, L
6.06.【案例】for循环_求1-100之间的偶数和. i9 R" s' O' q. S1 i& @
6.07.【案例】for循环_打印所有的水仙花数 n ?- U( G. p
6.08.【案例】for循环_计算水仙花数的个数 `* Z V6 w5 Q
6.09.while循环的格式和执行流程. _0 _5 H7 ]3 ^( U! Y+ C
6.10.【案例】while循环_打印5次HelloWorld5 u( U# m1 |6 p, z! e$ J
6.11.【案例】while循环_计算1~100之间的数字之和
" B+ @" x: |6 G/ M* ~3 v* z6.12.do_while循环简介* |! {. Z- |" _' z7 b/ U1 ?6 t; ~6 h+ |' E
6.13.【案例】do_while循环_模拟练习知识点的次数 _5 V: U- g8 D
6.14.三种循环的区别! b9 S9 P" y- y4 K, i: j9 [( `% o
6.15.死循环
0 q, z. l7 y: l1 l6 S4 O6.16.break关键字的用法
6 O7 j4 h/ @4 W3 Y( \, y6.17.continue关键字的用法
0 _9 ?. W: w* F4 h) u! t+ y6.18.循环嵌套' ` d/ z" F s3 m
6.19.带标号的循环结束 E4 p; m5 G, w
6.20.【案例】循环综合案例_1024程序员节小黑发橙子
- D7 s5 `2 B5 _6.21.Random类的简单使用+ h( R! s; A8 w" Q# Z9 H
6.22.【案例】Random类_猜数字的小游戏.mp4- M: f# j. r0 x: U1 Y4 j: l0 T
* X7 y9 P0 }! H- B
(七)Java核心_方法和数组( z0 x5 [# r6 u0 f, Y- d0 Q
7.01.方法概述" e: F$ R- {- g, y
7.02.方法的格式
3 }5 @* i# n! `& j7 C( Q5 j c7.03.方法的定义4 e# ~+ A) s& [
7.04.方法的调用* L- |5 z- J1 C* H
7.05.方法调用图解0 S9 G/ M# E$ P) A$ u5 s
7.06.【案例】方法_比较两个整数是否相等
, d( K! Y" Z! A+ J, K7 A7 a# j+ O$ F7.07.定义方法的注意事项
$ ~5 s5 E9 @! g9 K7.08.方法重载的概述% R/ y2 m. z' |
7.09.【案例】方法重载6 P. g6 j5 [: W; e
7.10.【练习】哪些是方法重载
. I$ S, A% ^9 P: P( ?: D7.11数组概述
# n. ]% }& r- O7.12.数组的三种定义格式+ H' _5 B; Z5 W: ^0 G: m
7.13.数组中元素的访问方式: v4 c" A2 t9 _6 R t& v
7.14数组的遍历
/ Y# v+ j0 L' n+ I- E1 n+ `7.15数组的初始化9 P% F( z& @& F+ e
7.16数组动态初始化图解
& }8 Z" g* l- E0 l# A$ S" G C& r7 c7.17数组静态初始化图解
$ o& p# `( F. z3 x4 {7.18两个数组的内存图解6 P; r5 U" t" U( r+ z
7.19一个数组两个引用的内存图解
2 m% Y' e$ T+ `+ y% n) q, }1 t7.20数组索引越界异常
! x/ @1 `( N6 V6 J' c7.21空指针异常* I1 y2 R9 w% h+ W1 v# B, x ^
7.22.【案例】获取数组中的最大值和最小值
* J. A& s7 r* U8 x" Q+ i" D7 L7.23.【案例】数组_定义方法打印数组
" S9 y2 [* H+ v. B% s7.24.引用类型传递和基本类型传递的区别0 I4 e0 y8 }9 k* ~4 l0 N
' s$ c$ B/ z) T4 j9 q% g; _+ j
(八)Java编程思想_面向对象之封装
5 B- o8 C7 t8 J' f5 ^4 n3 S8.01.面向对象的思想概述1 w/ K+ J% ^- }7 P& {% v5 y$ x1 U
8.02.类与对象概述5 u6 u$ [8 n6 c: [9 i. z
8.03.【案例】:手机类的定义和使用$ e1 ~; s( c& }8 m: s+ q
8.04.【案例】:学生类的定义和使用( `% n, A9 Y. ~. _: f5 R
8.05.一个对象创建过程的内存图解% p2 A; m8 t: r2 s
8.06.两个对象创建过程的内存图解
$ m$ r( {5 ` a. j1 |9 E8.07.对象作为参数的内存图解
; l4 i) u5 n' h# T& ?" @/ G8.08.使用变量的规则( d5 p. i F/ }- X* I. o* Y
8.09.成员变量和局部变量的区别. p- G/ V4 H4 l$ }: m/ R
8.10.封装概述0 z! y1 c/ |% R8 [1 p4 B5 K
8.11.private关键字的用法
# Z. { Y% E9 q' n3 _$ p2 C% L, j8.12.this关键字的用法
( q6 E* y8 G% f3 |) A- S# v8.13.构造方法及演示
8 S/ \) j5 ]) V6 [7 T8.14.标准的JavaBean类的定义和使用
$ e0 F3 ^. P# | l6 }. C7 Q8 f+ m$ B) R* I7 Z) i* ]" N- q/ b3 x5 }
(九)Java编程思想_面向对象之继承
) z. f- n8 Y/ h8 n5 ^& H4 |9.01.继承概述
% g4 j j! x1 v6 z9.02.【案例】继承_动物类# l: s" l9 f; O) \! F
9.03.继承的优缺点
$ r6 ^& p8 m0 o% G E6 q9.04.继承关系中成员变量的使用特点
z; D% v( o0 p3 M* p9.05.使用成员变量的内存图解! O( e$ o2 F* F6 H
9.06.this和super的区别/ b% p5 {$ ?: q. I4 ~" _ C8 T+ A
9.07.继承关系中成员方法的使用格式* ^' [! E; s- s Q5 O
9.08.使用成员方法的内存图解
1 Z0 y! ]* ?! _* Q9 g- H2 _7 D% z9.09.继承关系中构造方法的使用特点
' q/ S) x5 O+ |) s9 b9.10.方法重写的概念7 R$ d3 L0 _' w/ s" \) T
9.11.四大访问权限修饰符: u. t3 T. K' I- C9 A! c3 w( o, j
9.12.方法重写和方法重载的区别6 _, w$ c- ?! @9 U
9.13.Java中继承的特点
" u3 R6 } Q- d& {" L4 q0 |
) E0 N q# A2 B+ j- Q' w(十)Java编程思想_面向对象之多态
. `) f6 z: U1 ~, v0 k10.01.多态概述$ O9 o0 u/ Z1 ^ B# {
10.02.父类引用指向子类对象的内存图/ |& i# l: B5 }9 v5 o0 ?
10.03.多态的使用场景及其内存图解
; _5 M v8 K) X6 t# x10.04.多态中成员变量的使用- t+ {% }; q+ U
10.05.多态中成员变量使用的内存图解 D: {: g( ~+ p/ Y
10.06.多态的好处和弊端
5 I. v, r* i) V! ~2 {10.07.抽象类的概述
: O1 a7 n4 N* q10.08.抽象类的特点
. {2 k1 b' A; z, |# {0 ?10.09.【案例】抽象类_员工类代码实现
; B/ E3 T: ]0 C/ S) q* X10.10.final关键字概述和特点* x+ R B5 i, o2 d* E0 a v6 h
10.11.static的用法之静态成员变量& V8 C6 @% _, _+ _- P/ |
10.12.static的用法之静态成员方法
* K ^0 F3 }8 j. @4 p5 n8 `10.13.接口的概述
4 P1 `- T6 { N. a" ~ N10.14.接口的特点1 ]4 j# p' Z5 k" p6 r1 M
10.15.接口的成员特点
+ Y9 Z4 F0 C( [/ Q+ n3 q
! r {- p+ f1 ]; p1 A1 x$ e+ g. k1 K(十一)Java常用工具_API$ n( J( {; L4 l$ |
11.01.API简介; O0 J5 V2 D4 L! A7 ~
11.02.Object类的特点: y6 U! u! M, q) n3 ~
11.03.JavaBean重写Object类的方法' q- j: K* ~! H. J4 k" }3 M
11.04.Scanner类
9 {0 y) E) `" S l2 X% j11.05.String类的判断功能
5 s i: D8 b5 d$ [, H2 i1 w11.06.String类的获取功能
; Q; K! g+ i$ {* V+ U' t6 |1 t11.07.String类的转换功能5 E/ Z5 i# @: z' Q w; k
11.08.StringBuilder和StringBuffer类8 o$ e3 ]' e+ \3 {. W* S
11.09.Date和Calendar类! z |0 M3 v$ G6 m% R4 C- _
11.10.基本类型的包装类
% k) u. c, r+ L( c
: c! V- w0 c7 Q% {) ](十二)Java常用工具_集合 j2 t4 L0 p8 {6 k. q
12.01.集合简介
3 {* W% b, W! z5 m8 E- J12.02.List集合的特点和应用9 |+ P& H2 S! t/ z" r
12.03.增强for的使用6 u. Z1 r# |1 K! `2 ^
12.04.迭代器演示 ^6 q! J, \& r# ?+ R% \, n
12.05.泛型简介) z& l4 B. D4 \8 u: x8 Y- M
12.06.Collections工具类的使用0 S1 A0 h/ S6 U) K, V" E5 \9 m8 q
12.07.Set集合的使用
& k; k6 y$ X( E3 @9 ]" _" v4 r4 }9 R12.08.Map集合的使用
; t4 g( ^3 _0 K6 ]12.09.【案例】模拟斗地主发牌之买牌/ E: t# F, G. L5 C
12.10.【案例】模拟斗地主发牌之洗牌和发牌
; \- }% |3 v" a) W* f6 ]: |( w12.11.【案例】模拟斗地主发牌之看牌
2 i/ U X+ J z) m5 V" J( Z( B% x0 k: c4 I9 Z
(十三)Java常用工具_IO流
. V3 N4 \% _) T13.01.异常的分类
0 o( v$ o# [! o( s13.02.异常处理方式之try_catch
/ e4 k; D3 Q4 j. B1 t" C: ?13.03.异常处理方式之throws
' S2 C, x. `/ `7 d5 I2 ?13.04.IO流的概述和分类, H0 E! B5 f: [7 Z" m
13.05.File类的创建及判断功能
6 {9 o6 |* y g, o. u4 E4 G13.06.File类的获取功能
% [! w. f1 F1 S( u( w13.07.字符流读数据之一次读取一个字符6 S8 E) r% M: Y/ s0 t
13.08.字符流读数据之一次读取一个字符数组
" k q) i0 }# k% n/ C13.09.字符流写数据( G6 `+ o& R' v3 t7 \
13.10.字符流拷贝文件之一次读写一个字符
1 }# M9 ^* n* _8 C {( X& S6 Z13.11.字符流拷贝文件之一次读写一个字符数组1 s# j6 Q" L N: H+ [# _' t: `, J& I
13.12.字符缓冲流普通用法
9 u5 K* y" a4 Y4 [; d `" W. a13.13.字符缓冲流之一次读写一行# a; O1 l( \5 i+ Y- `
13.14.普通字节流一次读写一个字节3 V. Q8 H o# d% ^ x9 G* y2 N
13.15.普通字节流一次读写一个字节数组' `3 l) N+ ~3 N l
13.16.高效字节流的用法
4 b1 t5 E5 m# o+ \, D! p13.17.【案例】模拟用户上传头像之获取合法路径) a! T O$ s+ V0 r, c
13.18.【案例】模拟用户上传头像之判断要上传的文件是否存在% `) N# V ?, `* E( u' E
13.19.【案例】模拟用户上传头像之上传功能实现0 W9 y/ N' c3 {1 l8 V
) k! ]3 N" B( y8 u7 `; H9 p) {* w8 I
(十四)Java高级_反射' H, a! n! X! Z7 a0 D5 N. m
14.01.反射基本概念
! G& l5 Z' V8 {2 R. s+ d14.02.获取字节码文件对象的三种方式9 J6 O5 n/ m ?5 d+ E
14.03.通过反射的方式获取构造方法并使用( E+ c) o0 L! I( C0 N& H
14.04.通过反射的方式获取成员方法并使用
: e7 Q/ u: q4 @; l" @& d14.05.【案例】反射_获取setter方法给对象的属性设置值' N& Z' u2 N# _" a' U/ _6 s
14.06.通过反射的方式获取成员变量并使用
: y! v |3 `9 ]. t
9 B, u! Y. c) _% Q(十五)项目实战
; v) [4 r; j% m* z实战项目 O! q/ Z9 h: J* V
项目名称: EShop网上商城(控制台版)3 b3 C) H" |1 |0 O0 }9 `- O+ M% R
项目描述:% {3 v" C, I' {5 Z
EShop网上商城项目是一个在线商城控制台模拟项目,主要功能包括后台管理、商品管理、订单管理和购物车管理等模块,构建了一个大型web系统所必须的基础功能,同时支持在该模块上进行二次开发。涉及反射技术、泛型类、泛型方法、泛型固定边界、注解、JSON、POI、Properties、XML技术、枚举、Debug调试技术、工厂、单例、适配器、代理、责任链、观察者、模板方法、MVC、面向对象程序设计和面向接口程序设计等技术。通过该项目的学习,能够了解实际开发环境中大型web项目的开发模式和流程,掌握常用框架中部分重要技术的实现原理,大大提升编码能力和业务分析能力。% J; k9 k- ?( X( m, L! l0 s
- l! C' v9 K7 e: X B3 g, k6 r3 G$ [" }1 `5 m- G5 f" V, x' ]
来源: 2019 博学谷Java基础精讲(入门篇)视频教程 |
|