TA的每日心情 | 开心 2018-4-8 22:14 |
---|
签到天数: 1 天 [LV.1]初学乍练
普通会员
- 积分
- 5517
|
java自学网(www.javazx.com)-java论坛,java电子书推荐:《 第一行代码 Java 视频讲解版》6 O9 A6 z& P# O4 o2 m5 ^) A8 L
java电子书推荐理由:(1)一本真正属于国人自己原创的Java精品好书,没有重复,没有拷贝,更没有抄袭。 (2)大量通俗易懂的文字,图示、代码几乎全部有注释,帮助读者降低阅读难度,快速上手。 (3)示例丰富,讲解详细,全书636个实例及源代码,详尽讲解Java理论知识和实操技能。 (4)全书400多个 提示 、 注意 、 问答 ,全面归纳Java开发各种疑难问题。 (5)200余到 常见面试题分析 ,无缝对接Java求职。 (6)超过60小时的Java名师教学视频,市场价值几千元。视频不同于其他书的视频,其他书都是讲解PPT课件,本书是作者边讲编写,让读者有上中学看老师板书的感觉,更容易跟着老师的思路走,更容易学会。 (7)附赠教学大纲、综合试卷、PPT课件、源代码等丰富配套资源。
- l- C) R8 Y, S3 x9 F9 A
3 D+ [2 l7 ~: g作者:李兴华 马云涛
4 G9 v; n: Q7 T' Z7 l7 v) z9 [. m出版社:人民邮电出版社
T6 d8 k; C7 H) f5 T出版时间:2017-04-01
4 |- ~+ d; _" @书籍价格:44.50元
% ^ V0 T7 }0 M* V, j$ f! L& q) Z6 n! O& q% a- ~9 N# m! @
$ m; `6 p) q2 r" j/ a; G- w
8 B3 o2 p: Y$ Z! U. b/ G% K
% G+ i0 [$ h0 m' E' W+ Z" V
java电子书目录:
; b2 r* L4 @1 _. `7 l9 {& p2 F第一部分 Java基础知识
. \6 X( {7 g" R5 {5 s# M9 `' E, Q8 @% G+ b3 }+ S
第1章 Java简介 2
5 p% f& w6 ~+ D2 x0 ]& ?% P J# g6 U% A4 X8 M5 R) l
(视频107分钟,例题2个,提示9个,注意6个,问答2个,技术穿越1个,面试题2个)$ \! ]& |' J, [% R2 j, r" O$ A
0 }/ e4 B) K" [ K }, W
1.1 Java简介 2: Q- K5 F( f# F7 Z
8 w% E* t5 e8 V7 O/ y K1.2 JDK的安装与配置 8
" N8 L7 f5 D9 U& _& e/ S7 _. v; L. e
1.3 第一个Java程序:永远的“Hello World !” 11
# `0 C: q+ z- M) m+ {3 ~
. U4 U, l$ Z3 _8 f4 r1.4 第一个程序解释 128 b- r4 [6 ~/ I# o
. y) J0 _ Y5 e
1.5 CLASSPATH 14
e0 L" X A- X6 }7 r s7 u7 |- s$ d1 C
本章小结 15
9 x! F. e) E1 u% S& P$ W8 J& {5 n7 p. _9 G6 R& W) ]- p0 [7 h \
课后习题 16' c" B* u# T/ m2 I F
$ P9 P+ V. a; p
第2章 程序基本概念 17
% p. q3 s+ z" c3 f3 J7 B5 e
8 @7 V+ s0 G, Q+ @, Z(视频244分钟,例题66个,提示20个,注意12个,问答3个,技术穿越8个,面试题2个)
# m8 p- F3 u) ?+ ?8 X( q8 M0 C; h% n/ k3 f: n' Q* ] b
2.1 Java的注释 17- }3 ^* x1 q! u0 L) n B A) a
, m' Q4 ^1 g3 H
2.2 标识符与关键字 19
+ L; E2 z6 z; [9 v0 r9 z% M% g# Q' R) K; I [6 N
2.3 数据类型划分 20
C) u" A( w9 S H& f
3 r8 Z' [; ]/ G# n3 Q* c9 p2.3.1 整型 22/ {. f: a/ v3 Z2 l
/ c4 Y# k4 h" T! A- p3 H% E8 J
2.3.2 浮点数 278 v9 H1 M. ]2 r7 J$ U
- S7 Y# a3 @5 I0 k: p1 j2.3.3 字符型 29& G: {# s. n7 i/ V* f5 G9 m
4 f+ F! B! j+ E' ?/ p4 b8 _2.3.4 布尔型 31+ B/ |: g, A- ~& ~! X! V3 d
' a: `- z( x- P
2.3.5 String型数据 31
6 {! B& J1 B5 ~
- h+ L6 r& v Y6 H1 I2 U2 `2.4 运算符 33- A5 d, ?4 X) H6 c0 F
- z/ e- T8 ^% Y/ c- e# F7 Y# R2.4.1 关系运算符 36
, }* S% u L) _% b6 y6 w
. r4 Q! z! I2 H2.4.2 数学运算符 37, x" u& F" t6 ?
+ E& q& [: Z% Z- J7 Y
2.4.3 三目运算 40! v, L E/ d$ {) c: O; ~3 c! i8 b
0 o. N7 u4 p& b% H! ^2.4.4 逻辑运算 417 m2 R* F& Q" U
; M$ P {- H* x0 q- u1 [2.4.5 位运算 445 ^% I0 J8 v1 e& r
% O( E/ W/ J2 @0 Z' D# I" v. H2.5 程序逻辑控制 46+ t- X" N& q% O
, D0 Z2 r, S+ `3 Q2.5.1 分支结构 47
: s; a! X M* l3 T- z# q @
6 k, _/ _: Y( r5 t. V0 T3 ?8 v; V$ f2.5.2 循环结构 52
& f! y% w7 s4 E; P s8 C2 k% X& F( Y* b: ^7 f2 Z, S
2.5.3 循环控制 58
7 ]/ U9 o# C5 ?/ C% r' x3 b8 f3 {! ?) U2 {
2.6 方法的定义及使用 598 T& q$ b' d9 `2 p; j6 B
, s4 t0 Y/ v4 {' Z) L& D' b2.6.1 方法的基本概念 598 m& `/ U Q$ A \8 Q4 {! k
7 E" u/ A4 w- n3 G
2.6.2 方法的重载 63
& i+ I% q; Y; B" R- c2 C: H( \7 D3 ]
! S5 y' O1 K6 J2.6.3 方法的递归调用 65: L& \) P3 t6 l* e
( |0 X2 c3 _2 e- z2 j1 E( z3 ^( b
本章小结 66
1 f: J5 k7 @5 e7 l! X/ `; D0 a1 g2 d( ~
课后习题 66
: d; t: O" O% @* W
/ f j- C6 z) K- S1 k+ i9 Q第二部分 面向对象
0 r4 B8 x. H! R- t# G! W# T9 M( Q( R
第3章 面向对象基本概念 70
* T2 V2 H9 e( e o, {1 U
& b8 p4 [. L3 t(视频898分钟,例题135个,提示37个,注意12个,问答10个,技术穿越17个,面试题3个)/ O/ U0 m2 Q, N3 V$ x! b4 g
2 M2 N- y( b' N. J1 m' X
3.1 面向对象简介 70$ a$ k# y$ ]4 @- v! \
2 W( p0 S l8 Q: G( ^3.2 类与对象 72
c ?1 _- P# y7 d* L
( j$ J9 i: m: T4 _( \( Y, N3.2.1 类与对象的基本概念 72
6 J! j# m: b6 O2 [
/ d5 \( R/ F0 p. v; q( [1 z/ j( r3.2.2 类与对象的基本定义 73
/ F; {: `% Q h( } U& P4 F+ t6 D% a6 ~, }1 P! H* ?" ^ ?
3.2.3 引用数据的初步分析 78
; [: x9 e( A8 n* N. {1 C7 R3 Y9 {$ }2 n7 w) W& U5 M
3.3 封装性初步分析 82$ m* a# g" t5 t: r5 h: a* a) l
+ Y% g3 ]" p- B: N+ g
3.4 构造方法 853 @0 \) |, W- U) Y7 {# A
$ g, N, ?1 @: M r; u: `* t: u
3.5 匿名对象 90& x" ~$ L! y! ?4 e
: ~0 Z2 W6 z. ^
3.6 简单Java类 91
6 D, a2 F; P- q3 ?# @3 j
+ H D; b7 `0 ?' y! {' H) m2 d! Q3.7 数组 933 G: I9 s% u4 h. S$ b3 M
' Z: R$ R0 g- h3 j: n
3.7.1 数组的基本概念 93% C6 W) }* n1 {1 P" K# _: i
. B& Q; F# y5 W1 ^8 W3.7.2 二维数组 97
% s' Y- u" H* T+ f" l+ X- {2 _4 k9 H8 Y* i/ \
3.7.3 数组与方法参数的传递 98
$ J, R1 V0 ~) T/ B, b5 e" s6 ^+ w0 H0 ~- R7 g( C
3.7.4 数组操作方法 108, A: u1 c7 l/ D+ h
! i* S+ G: X) O
3.7.5 对象数组 109: x2 Z, ?3 i/ F9 B/ l
5 ^( b0 C5 K0 A8 [' f: }: X
3.8 String类的基本概念 111# e8 e( p5 L5 J1 b. z1 l: { P
4 g: M' C$ a2 J
3.8.1 String类的两种实例化方式 1114 Y" e% |% \! U, M9 r
- O7 z( u1 t. y0 w& e' K) P' c9 r7 W3.8.2 字符串的比较1 112/ J( p) P1 A# C. H
1 q! V2 t6 H7 J
3.8.3 字符串常量就是String的匿名
9 S- }! K4 s9 x, x% h4 Y4 U+ @+ u6 t0 F: E0 J9 E: E
对象 114
8 h7 g; W0 I. N, U$ T$ Q4 g" B: m0 q
3.8.4 两种实例化方式的区别 115
9 ]- c$ L7 D" I0 z7 O6 s( T" K8 q+ A- s' Q( d$ W9 b
3.8.5 字符串一旦定义则不可改变 118
0 [2 {1 Q' i0 C: }3 q `4 y; b& X6 S. w* V$ {
3.9 String类的常用方法 120
3 v* h3 w0 h- d& R0 l' P3 C' F i( [
3.9.1 字符与字符串 122
4 O6 O) D2 P) m. H9 L t5 x q H2 d( _' f1 i+ M
3.9.2 字节与字符串 125
8 s9 i6 p# ]2 w+ t. a; g+ I; |" P# ^. D* Z; @
3.9.3 字符串的比较2 126
9 Q# L, h+ D$ r/ x" }
( Z9 }) Y$ e" V3.9.4 字符串的查找 127
3 w0 F; o7 d( U. t4 Y1 T$ z# a; C& ?' V4 ?! w
3.9.5 字符串的替换 129
6 p% m* v4 J) n7 i- `* K' y7 ^" N; U
7 n( k/ G9 V# b3.9.6 字符串的截取 130
* }( b! ]3 ]7 o6 L) B- d" [! w7 ~7 \, X$ @$ d. o
3.9.7 字符串的拆分 130
2 K/ j" U c- ^8 G3 X" ]" q
, A' {; j) E! M' B) }$ @3.9.8 其他方法 133
6 F6 u; T7 a$ r/ v- x' R
( }) z+ x' J y2 i3.10 this关键字 1367 ~, B Q- T, b. ^; f
6 j+ k r( c6 D* U% t' C
3.10.1 调用本类属性 136
: J; d* ?" V# p6 d- @. C/ S" Y& O. ^+ @- a& d$ y
3.10.2 调用本类方法 138 P- ?+ e) |) b% M9 j8 z% n; B& S4 Z
$ W7 K" p3 e( N( r) W3.10.3 表示当前对象 143
! U( V2 d; r. s+ n* E- l4 P6 z( U0 V- d, u
3.11 引用传递 144. k' ?8 }1 Y& B+ m6 T" _! j% F
& @( }4 b; Q2 p+ C0 {5 r% f1 G3.11.1 引用传递基本概念 144* h+ a6 {1 u) X0 P# b
/ F8 t+ r8 [5 J: N2 T' F# I3.11.2 引用传递实际应用 148( Y& k! {* ~1 j5 r1 X# n
3 I: Q; N: X7 p3.12 数据表与简单Java类映射 153, _' e9 q7 T: G ]& }
% M1 c/ |3 H3 n. p3 e3.13 对象比较 156
1 |$ N9 Y8 L4 i9 ?( Q4 N0 U- x
+ S& D" t( K* Z1 X m# ^3.14 static关键字 160
. L; A7 ]! e" ^) I1 {0 A+ c1 I# Y% \! M& Y6 ~; ^! b
3.14.1 static定义属性 160
: V& }+ \" ^% x) e6 a! Z" o/ |+ k' ^) o" O A$ g+ c E l
3.14.2 static定义方法 162
' [3 `; w! `) O7 C3 ?) X8 H7 k: Y# o$ U% m
3.14.3 主方法 164
/ N% q1 Z' s% Q
7 {7 y8 D' w5 A3 H, T3.14.4 static的实际应用 165
! d. y* a6 Y. H3 N& B: m8 }) j1 t- n* Q, t9 M2 E
3.15 代码块 167
$ ]" q1 r, X# ]9 |$ c
4 ?, d( L" r- r+ U" \( }0 X3.15.1 普通代码块 1679 K5 s( H& A% |& T9 } i) X
& X6 D9 e' b; U& Q: }3.15.2 构造块 168. ~0 h3 K4 ~ s' t
, K3 w H5 Q2 ^; x3.15.3 静态块 168
* I3 ]! `# ]$ [$ H: {5 j2 z5 V( n8 z* A, x; W& n
3.16 内部类 170$ {- G) m* W4 ^$ S# V. V
, t- q/ O$ w* G' X0 @) J: }& O
3.16.1 基本概念 170
# s* |3 t. Z9 w6 B. S& n0 ]4 a$ `, x1 J) ~# P8 h
3.16.2 使用static定义内部类 1740 O; ]2 V, f# T% h' f
G8 U) Q+ E5 |+ q+ d, v5 ?5 n3.16.3 在方法中定义内部类 1757 j$ E3 Z2 K' z0 x7 N2 o* O
" y1 x( e% B: x3.17 链表 1775 M. t" U8 f r' \
# f* J: U& P, u0 m8 n, b+ p: h
3.17.1 链表的基本形式 178
# i" @/ B- J4 c! t a9 X" H6 A5 G4 _/ O4 _. ?
3.17.2 链表的基本雏形 181
+ r: r- G9 e8 y- f# n) v
$ |) h6 Z& B1 D$ s$ A6 \2 I3.17.3 开发可用链表 184: O, B' S" f k. V
. q4 E' I* S+ l5 g# g4 _3.17.4 使用链表 194
6 u7 p" W% c B5 d4 h; |; W9 m. j; s4 H. Z. f
本章小结 200
0 ?3 x; k# M2 G) W
9 B+ z- ]: z8 C# {1 T- Q: y( d# L# [/ l课后习题 201
; N; K# ^# D, n! Y2 n
' p5 u' K" P" @: r U i+ L第4章 面向对象高级知识 204
8 C6 x# {$ r- B. ?" V4 Z
2 ~& }- A! J* c/ d(视频373分钟,例题96个,提示23个,注意9个,问答9个,技术穿越6个,面试题4个)
* N3 ^; `' B4 `2 g3 b" p2 ~
' O% _6 V9 i* M* ]/ N* o4.1 继承性 204
6 h8 S- P7 K/ r$ V7 I9 r9 W' P, E+ L3 ^, a8 P6 g
4.1.1 继承问题的引出 204# Y) \% C7 ]# Q9 D% ?( M
1 J. y: \; t3 ?- |9 t2 Y
4.1.2 继承的实现 2054 {8 u0 h$ d4 U6 q
+ s# T: R" Q3 Y; {4.1.3 继承的限制 2076 m [. c# i" l0 d' z: K8 H
" o3 x: i0 X* H2 D$ G3 s. O
4.2 覆写 211
) W! w1 \8 ~% Y0 \+ {9 O
2 J3 E s. e8 |9 i O: Z( [. _4.2.1 方法的覆写 2117 h& u7 M+ Q& r/ ^
. J' [* h4 t1 B: x' q7 n% q4.2.2 属性的覆盖 217% K) t* d- p' @
" f8 a$ X" p/ w0 G4.3 继承案例 218+ Q) L+ r& [/ q8 H: ^
4 ^1 }" J! s1 J6 Y+ j4.3.1 开发数组的父类 2193 i: |* i: `, h$ U
6 O/ b8 W }, e2 o, N3 |8 I* E4.3.2 开发排序类 221
$ K+ {3 n4 }7 Z8 K: A0 i ]0 X( j3 K& J+ N7 z
4.3.3 开发反转类 222' [2 V* M7 c: ?' h6 _) \8 c: {
, |, w! Y M- ]& Q
4.4 final关键字 223/ } D' _6 V# ^4 A! p: X! I4 W
5 F! u% A9 b: J$ l* x! L# x
4.5 多态性 224- s4 N$ z4 `# G5 S# ~
2 X4 @& m, R- q- q
4.6 抽象类 230
( f8 h0 H7 i8 z6 N/ B+ |, p& S9 j
* G& f3 [, d2 @' r& j {4.6.1 抽象类定义 230
0 I4 f7 o" z: l$ E5 J3 L* |" o8 t* N7 y7 ^) Z& e
4.6.2 抽象类的相关限制 232
9 \0 M0 m# T$ H# K; u2 h% u6 X. C3 K3 u# y
4.6.3 抽象类应用——模板设计模式 236
+ \& K1 u, U: T
P& g$ k7 a0 F* h# K4.7 接口 240
A5 Z7 M% U+ T! x: i2 W0 `! F! C; g& j
4.7.1 接口的基本定义 240
q/ [( D0 l0 n& X1 ?9 L" L9 M- B
, p' Q! b/ u* a# d4.7.2 接口的实际应用——标准 245; M {1 W; |* v8 C4 h+ T
/ y8 `! J. m; m8 |* R% _
4.7.3 接口的应用——工厂设计模式(Factory) 247
9 w6 w* Z9 B' R3 [) ~4 i s1 q
- f8 G( D: y; P4.7.4 接口的应用——代理设计模式(Proxy) 250
* H+ e8 Q: x" @) v5 G j8 q
9 N7 h* N4 x; d% e9 s+ d4.7.5 抽象类与接口的区别 252. n% Z6 n& R8 p0 C2 d7 e
% G, l+ A7 i) p b- C! }( S4 c
4.8 Object类 254
- @$ h3 b$ A# f3 T( u9 m' V
$ M( J3 {9 K, y4.8.1 Object类的基本定义 254, t) Z7 K0 T4 z* v: y+ w; M1 `
1 {8 n0 p$ Y' t6 Y
4.8.2 取得对象信息:toString() 255& M: D) c$ {3 m w- x. q" W: l
1 G1 v; k6 V- p& e: o c! ^
4.8.3 对象比较:equals() 256
) ~" y: @! w9 O. R
# O* I5 m* L5 E H, P4.8.4 Object类与引用数据类型 257
% ~3 I! f# t6 I* J+ J; k
- w! S! I6 M# _4.8.5 修改链表 259
. e S- u5 P# i* T* t* A/ Q$ a+ w3 z, f
4.9 综合练习:宠物商店 264
+ z- N. ^+ ?4 O( {2 `- k3 W
7 m7 ]9 N7 Y& {; Z! w) h ?4.10 匿名内部类 269
! o( U, \" H7 X6 u" B- g# q" c$ E; v1 T; A- @$ O
4.11 基本数据类型的包装类 270
; l& t0 ^2 u/ @0 ~9 H) q2 H
; Q! _+ S1 Q1 k4.11.1 装箱与拆箱操作 2719 {6 ~) |% Y( D' F* x3 _
1 c* o! x! k+ q( |4.11.2 数据类型转换 274. H! j7 N1 a# W
! n6 x- R+ P' Y4 s m
本章小结 277( E1 Q! W% ~1 x/ R% h
/ u0 T0 e* H) q. e+ }# q" B
课后习题 278
% j! Z% J! T6 N3 `
; p- x& J! C. }8 N& [7 A) m第5章 包及访问控制权限 282
V3 H0 ]% P: ~
1 J4 o, ^! m2 Q0 I+ }/ F* c; x(视频89分钟,例题22个,提示8个,注意2个,问答2个,技术穿越1个,面试题1个)
# H I4 P* I8 S& U+ Q7 v
; d7 Z( n# F( H, L" B5.1 包的定义 282
" g1 r9 `" o- |4 z$ Z; D8 M7 B$ A- i. M2 ]- L
5.2 包的导入 283
+ I9 t) E& Z( `. k- W1 G$ `+ v! E1 m3 R
5.3 系统常见包 2877 D4 x6 ^" k- P: `6 s1 w8 |! @' q! I
4 P# e, f" v: [# ?& d5.4 jar命令 2881 ~4 t6 i8 ?% c0 a
7 f5 A9 }9 n2 {5.5 访问控制权限 2892 R- f" D; I$ f+ Z
# l) ]$ Q* ]4 O; M- }
5.6 命名规范 291) \' ^$ W* o/ P8 }( k0 \& L
7 S" |2 v0 t& A( H: k: |- [$ N N! u/ G5.7 单例设计模式(Singleton) 291
% E! ~: P9 i9 k( ?
- h* t! S% m* I3 U! x! V9 n5.8 多例设计模式 295, A7 C3 v+ x3 a) m
+ S& Q1 t b) u% z, u本章小结 297) `, \' G1 n; E8 v2 W; T9 M
2 |9 U% D" W4 T; L9 v2 K
课后习题 297
* g2 m1 T6 U5 y- t
: f% p1 L) R* S" B* L! N第6章 异常的捕获及处理 298
" c8 ]3 M# z' B
$ E# [( j% ?9 k( I1 h; f' R(视频83分钟,例题18个,提示5个,注意1个,问答4个,技术穿越2个,面试题2个)
2 Q: t2 M3 ?% y7 T: [1 q5 a4 X) o q* c" m2 m2 q' o3 w/ n
6.1 认识异常 299
. p( G7 h1 J/ O% Y
8 S# ^/ [; h5 L. S/ e/ A w8 C* D6.2 处理异常 300$ L+ y ?. U8 x+ ~& R; E
+ F7 g4 P5 A1 x2 [6 H& x( d* x5 Y9 Z. \2 p6.3 异常的处理流程 304: ]- ^6 x9 Y% l9 t# t6 U5 L
5 d6 r0 K8 A+ ~: z) R6.4 throws关键字 308
( o7 r; `/ C4 h' w5 N+ S+ n9 F
6.5 throw关键字 309
% k1 M% `2 s4 \" ?8 O1 R' e( C: u6 E' P) F- e: U/ C
6.6 异常处理的标准格式 310; [' X7 L) A" V3 P9 a! X5 Q
8 N& t+ w9 U! C! `& R. J: K
6.7 RuntimeException类 312. |2 [3 Q! k' P& ~' K
/ W. \1 x& O6 N- t
6.8 assert关键字 313! G4 B8 }: _; W8 w. F
# Z B0 `* r, y V. }
6.9 自定义异常 3146 A6 Q) W0 h) \; a6 `
' s. ~* L5 O' q$ R" y+ Z本章小结 3155 M. g! |' c; P
- k( Q" f8 N9 m# U3 v. u; N) b, k课后习题 315
* N, e. O, K* d% C7 E" }, i2 k' q- F. O- O6 A# ^5 R8 Y) Y
第7章 Eclipse开发工具 317
! }7 h7 h3 |" ^* y$ t$ @8 u, W7 k# d) D( ~# \0 W& C
(视频75分钟,例题5个,提示6个,注意1个)4 f2 K8 k. _& {. n3 }, M0 w
: g) Q4 {6 Q3 k+ o% v/ ]7.1 Eclipse简介 317
+ P5 ?# s8 n' Q5 h4 j
1 J$ f( p) ^& j L! @7.2 JDT的使用 319
9 [6 n0 ^$ \# E. }& l4 N- r# i" i6 |) X+ ~0 f5 I8 h) g' b" a7 M
7.3 JUnit的使用 329
) Y0 _" i' E2 X6 ?# E# O
" m, M: N2 _) s& Q+ |本章小结 331; f2 P# z* Y& `: G0 `1 c
M9 N& |2 O. |8 O2 O9 X
第8章 Java新特性 332
# G- d6 `7 A5 a6 n b$ o! u) S% E4 ^$ o( y, _
(视频175分钟,例题56个,提示13个,注意1个,问答2个,技术穿越5个,面试题1个)) F. g7 `( g* ], R& u
# R" e. q% w4 f! n& ]! S0 p8.1 可变参数 3336 H, ^/ |' P3 _3 @
2 w) N/ C% I/ h% f4 ?8.2 foreach循环 335
/ d( h( r& q0 H/ K* H5 G9 l* U) m! _' j# x4 Q a
8.3 静态导入 335, Y# Y$ w& f2 B" z
6 P0 N) Y" t; V" f
8.4 泛型 337" ~/ a* K6 g7 X- K" k' E7 u" K
* U8 G7 y6 R4 J! l8 t2 g8.4.1 泛型的引出 337
6 c7 G# T9 y& G( q
8 E" Y; K# j( O1 v; d0 S7 S8.4.2 通配符 342. {' V# x% `' L
7 n; {+ r9 ?# H1 M q5 b
8.4.3 泛型接口 346; _5 d( F/ S( K# p! r
3 j5 p- u' R' i8.4.4 泛型方法 347
" O8 J% W( v, y2 W/ f" s; Z7 L
, W5 x% m( J, E( n% L% g" K8.5 枚举 348
0 z3 ^& L* s2 }- w+ Q
3 v' t. x4 C. n& A8.5.1 认识枚举 348/ W! v% h/ q5 M8 F z
9 t6 I$ V7 f2 x" M/ d2 O! Y# G3 C0 d# _
8.5.2 定义其他结构 3512 X4 w5 ~9 Z4 ~" _
4 j8 w$ X; I2 P& P/ v5 P( e. ~& T5 ?9 G
8.5.3 枚举的实际作用 354
) V& f3 z0 H" n2 |
( o2 V. a+ o/ t8.6 Annotation 356
0 C5 I( r$ r; {% g/ Y2 K8 V { P. H7 V8 }. ?2 n# D5 [
8.6.1 准确的覆写:@Override 3573 l: T) u& @* Z2 P$ I$ V# n- t
. O; n! I6 G9 ? L& d8.6.2 声明过期操作:@Deprecated 358) j4 }; b$ |9 Z' D. w7 Y8 r
/ z. M% K! G5 y) T+ b; ?; l% V5 L8.6.3 压制警告:@Suppress Warnings 359
) ]/ H. p, e" S( n& C, h) A: w+ X9 G3 e
8.7 接口定义加强 359: j1 I0 l) p l/ n( M. z, U3 i( J
: a2 i/ E# z" ?/ H2 L6 K
8.8 Lambda表达式 361
$ {$ [3 |+ j3 s& _3 C w* V9 ?" W1 r7 i0 L$ i" G$ L
8.9 方法引用 365
, l/ w+ T' P. Q: y$ {$ N: S& C, X4 B6 o
8.10 内建函数式接口 368
( |, g* g0 w" V% B* l( a. `7 _% } _! w- d) m
本章小结 3703 b& G( b' H+ `' I: ?
6 ~% p- M! O/ P
课后习题 371# R' k+ B# v/ L% ^& H& Q
. q% c4 V' q c& X, `" ?第三部分 Java高级编程7 V; f3 u/ {, Y0 |) V6 u
" S/ a8 V% U7 {5 v$ O第9章 多线程 373+ H8 ?, l8 N I. I
" ]8 L, V( d2 A( q+ q5 g c6 a# W(视频167分钟,例题24个,提示10个,注意2个,问答2个,技术穿越1个,面试题6个)
) \7 ]: D( A2 {6 e& q ~2 a6 M0 s) `
9.1 线程与进程 373
6 @7 U% f* |# n. X2 x/ F0 m/ k0 a# b4 M- X8 D( E" `! A9 u1 w
9.2 多线程实现 374
9 X5 a% k7 O2 P; }! `
4 J3 Q( @; j3 L; M9 k9.2.1 继承Thread类 3748 d* U8 X/ Z4 f
1 O6 G. c* `0 v% F# H& g$ q
9.2.2 实现Runnable接口 377
9 F0 d9 K7 e- c
# a. |% G1 q) w4 _- G) @9.2.3 多线程两种实现方式的区别 378
2 d+ Q) @ E+ p' {' o6 y6 i
/ q" m5 B* Y( R, h) `! ?* H/ {9.2.4 利用Callable接口实现多线程 382
% h$ T: w2 j; C1 ?, J. d7 ?, ]" P5 H$ m! I$ c0 A
9.2.5 线程的操作状态 3848 Y n, X) ^) L; R
0 g7 J/ j H8 s. p' P
9.3 多线程常用操作方法 385
' N! x: s6 f% w- V5 Q4 {( p2 @5 @& V. U0 O
9.3.1 线程的命名与取得 385* U7 n+ L% p! n8 b
( V/ n3 e4 z9 `+ j: t9 b5 n
9.3.2 线程的休眠 387- t* X. o: u' c3 A3 k; J
! P* E6 b2 S7 ?" ]$ S! L9.3.3 线程优先级 388* d, X3 c' c1 E5 S( W+ Q5 `
. \# `( _6 S; a' o. X: b9.4 线程的同步与死锁 390
$ v3 ^. o h* Z1 U" L. j1 @( j9 b* s9 }& B
9.4.1 同步问题的引出 390& }+ {# ]0 O5 j3 [
1 E$ N$ z' m' b$ m; m! X
9.4.2 同步操作 3926 b2 ]& N1 L( W
0 a+ \- F8 Y- c% [ ~+ u2 R
9.4.3 死锁 395/ y% A% m" O$ Y( l# a( ?
& r7 V; Q3 X6 G9.5 线程间的经典操作案例——生产者与消费者案例 397
1 i& P$ l5 a6 i b( v" x
5 d6 g6 I& y$ I9 ]/ n- Y7 m3 X9.5.1 问题的引出 397
3 e- X' x+ B3 R$ Q- r; {! P* d: K# l5 Z
9.5.2 解决数据错乱问题 399
& S. X) L7 I7 L: B! U
- m2 `% Y6 R J8 x6 G9.5.3 解决数据重复问题 4018 A7 v e6 m. R
: B, {& d1 a! ?$ s
9.6 线程的生命周期 403
( A: @! H+ h% g0 w2 f/ K1 u3 [/ G+ V/ D! u; {& Q. G
本章小结 4054 w) r8 D9 T5 @. N2 i3 W1 }
" A, D& a% y- u* q- d课后习题 405
) S: r) W9 h _, s
, T$ y7 M8 k0 @第10章 Java常用类库 407
5 e. f% D5 ?- k" \
4 ^9 P% `+ C5 D(视频364分钟,例题60个,提示25个,注意6个,问答8个,技术穿越2个,面试题4个)
* r7 `0 a3 r& m1 ]3 k: I# o( o, o; G& L% Y0 j0 S, z3 S
10.1 StringBuffer类 407, o9 B5 [1 o) _# T2 _
" Q' e4 u" z3 b- V* l10.2 Runtime类 412' Z7 A& y. L3 c' D' g2 v
2 r. s7 R6 b: J% n7 u10.3 System类 416% h6 u2 [, a( H' z) v6 K# L
3 H- O+ F) b/ Q" ~) h10.4 对象克隆 419
5 K( R) k5 \! f* ~
w' n( I8 X3 s+ n& Z10.5 数字操作类 420: A2 o; p- _* b" B
% L# C8 [1 N4 S10.5.1 Math类 420
- c, `: ?' ]# e! D' z" Z$ L, c* `0 o6 |9 G, t& _ d
10.5.2 Random类 421
& X* f: P2 G9 C; A% U
! {- z3 M$ `/ T10.5.3 大数字操作类 423
0 H8 r% O, v' J6 E# Y) G$ q# r% F$ F' F5 ^! ], y4 I
10.6 日期处理类 425
1 @9 s% J; x! A8 F. `* F- D4 U0 Z: g8 O
10.6.1 Date类 426
6 s @0 l8 y: [" ?& W, n! _. X- d' N' V6 }5 D+ B
10.6.2 日期格式化:SimpleDateFormat 427
1 B/ e9 v+ X- t0 `7 c* E& ?( U u. `- N' L0 _7 ^+ |' m' \" n
10.6.3 Calendar类 429. _5 E; H$ m# x. e ^/ |6 I
3 ~4 Z8 K w. ]3 `
10.7 比较器 430
- G) w/ i! Q K1 G1 T5 N P. L
( M* n w, {/ w, O* [" @9 }0 P10.7.1 Arrays类 430' [ j$ E w4 i% y9 k3 w# D
' v$ @! } G# r7 _
10.7.2 比较器:Comparable 432
# h1 r: @. _" \- Q# U1 M& X4 G% [' E" @& u {2 f
10.7.3 数据结构——BinaryTree 434& z) f4 X' F" e/ ~- n
! y6 Y: `/ q O: v10.7.4 挽救的比较器:Comparator 437
: [3 j4 H' N" F9 M1 [3 t, M
) R* B9 K0 Q7 R5 a10.8 正则表达式 4401 F& f, |. W' }7 E4 ?
& @/ O; t) m8 l: u2 H2 \1 y2 L10.8.1 问题引出 440: y6 y; S7 y) ]% h* d
1 @2 M* p3 m4 `% |6 h7 l# E' N
10.8.2 正则标记 442" ?3 z2 f. q; C2 a% `
: S( u( w' ~" k10.8.3 String类对正则的支持 443
8 G9 _3 T+ G4 b9 T% p6 `
+ F9 H+ j$ @: a5 h p10.8.4 java.util.regex包支持 447
8 B% B/ K) I) v2 R3 F1 j" E5 O* S' _0 M
10.9 反射机制 449, O; j, L( A" {$ D
2 N* a! \. l- c; a* y
10.9.1 认识反射 449
4 w, k4 ~6 Y! G l* N: a5 s9 F/ y' [* N( s3 W
10.9.2 Class类对象实例化 450
0 R2 C+ _9 J. Q- G; s
/ Y& [' f8 l2 z! o/ m9 d9 @; w10.9.3 反射实例化对象 4510 h. ~+ U* [* S5 _3 A# u
, B# D& M/ d( L) ]* H* D10.9.4 使用反射调用构造 454/ }/ W' a% ]+ b c' D
0 O6 n1 e: v8 x3 b0 l9 ~0 x0 n. K2 j4 C
10.9.5 反射调用方法 457
7 G" y8 Y" \5 D. S7 O4 v0 B0 t3 v* h
: r; X' D2 t6 n. o2 U10.9.6 反射调用成员 4592 l4 U7 N9 u# r$ R3 P4 _' u. _- ?
+ U: n v2 I% ?- F# k/ A. y10.10 国际化 461/ y% O# _$ L5 G: ~9 V
- z. d% y3 k: {10.10.1 使用Locale类定义语言环境 4626 S. j) W3 X* [$ h( `2 K
/ P" t! x% v u* U* N! A: m- i
10.10.2 利用ResourceBundle读取资源文件 463, A- o9 H3 I6 V) G
# S; {# t6 b. o$ _# j$ S10.10.3 多资源读取 465
# P( u0 p6 [* \ V% S- I- T
| b J5 P- R% f3 ? C本章小结 466
2 A9 ^1 o1 H6 q* A$ r4 v2 S& B( \% u. T+ \2 I
课后习题 4673 k# {% J' R8 D4 u. W b, r' D
# k. G9 B. Z1 r+ r. }! Q
第11章 Java IO编程 469+ |4 w! q! K- L3 f
! l" T8 U' ]3 U" g+ \+ {% V, E Q9 P
(视频307分钟,例题42个,提示27个,注意2个,问答4个,技术穿越4个); M& q% k% ~ S6 ^% \# c- U. j
, ~( q' w/ x, ^$ P$ q
11.1 文件操作类:File 469% J. C6 i C6 j
8 g( K% f& @8 b, O0 ^- \" I11.2 字节流与字符流 474
( H8 u2 s8 }$ w9 r" f; k6 ]7 X- K
) v8 n! \& e+ E9 Y11.2.1 字节输出流:OutputStream 475
9 |& r' g1 Q% O% I2 D+ d
k r* U6 p" ~6 I; J: d11.2.2 字节输入流:InputStream 479
+ Q5 r$ P+ k- M5 H- J: m
6 w1 V5 Y0 \; y: m. R; Y) ?0 f11.2.3 字符输出流:Writer 484
+ e) F' t& n9 e0 b% Z0 s; |2 X
! g1 F v2 E2 m" e11.2.4 字符输入流:Reader 486! y+ m. e& ^& o7 {( B
9 l% b# D4 J. c" J& a6 {11.2.5 字节流与字符流的区别 488
' A% e' D3 ?+ H' Q& k6 Q) Z% w2 s F7 p* {- e |7 u9 T$ f
11.3 转换流 489' i& J2 G3 \- J! q9 G: p. T
: c+ Z8 f. |6 w: {+ Y M ]" ?! R( T11.4 案例:文件复制 491, ^* E( ^; o( F
# S" a5 p5 a6 A/ V
11.5 字符编码 493
4 X6 G1 \. g- e, L6 h
# Z3 P# {& x. N% K4 c11.6 内存流 495
3 C5 q; o, q% L/ x$ C8 y4 x
7 |; f4 ]' }8 o9 E, j1 q) x. F11.7 打印流 498
7 r* g% p7 k4 A$ b
0 w0 F: S0 @% f" j# s) X/ Z7 E11.7.1 打印流设计思想 499
9 Z# c9 }6 g+ B8 \% \
/ }1 E# y7 u/ p( ?! t4 Q: ^6 |11.7.2 打印流 501% l0 A" l; M' D7 M# k& w
3 x7 F( N# K- ^11.7.3 PrintStream类的改进 502& _- f% z6 L ]8 u! W7 h6 [- |
9 M# ]+ `9 g6 Q: ]: Z
11.8 System类对IO的支持 5034 ~( k4 K: d0 \: |. V8 l2 U
6 R* s |- q4 n. }+ B& w11.8.1 错误输出:System.err 504
0 r3 Q" ~# _, U! K
J% O$ m2 u( S% k11.8.2 信息输出:System.out 505
# X& A! f/ t+ ?3 |% D# j- h% T% @) n) j; U* h
11.8.3 系统输入:System.in 5068 i) l4 x; g# j# X9 z6 F3 B9 G
8 q7 B8 g2 G9 P: P" a1 [, T
11.9 字符缓冲流:BufferedReader 508
, L$ U* g0 E* |- ?/ Y+ F; E p7 P. }: w2 a! l" C/ R- G
11.10 扫描流:Scanner 511- u9 R- J% ~9 f" \' {
8 e4 k+ x/ g7 f/ T# W2 I/ y4 Z
11.11 对象序列化 5147 R( D1 L4 X6 g) n
0 E& k. L* l$ }* I0 v9 H11.11.1 序列化接口:Serializable 5158 }! J3 L# L( w! y8 d$ a8 d
" K3 X0 {% o4 x
11.11.2 实现序列化与反序列化 515) K0 v6 J h* G& \9 I% D: g
8 O. }+ ]/ ^1 j5 q* R11.11.3 transient关键字 517; T" g2 I& l' r2 {
7 y" K& P0 B) d% Z; a本章小结 518
) E+ O" A; y2 @) G4 ^2 |* }6 q4 b- \" b# K
课后习题 5192 d+ D: ~7 p5 H1 u9 ?
. _+ |* |! d& z4 O
第12章 Java网络编程 521
- D, w' a( {. G& E* b9 u
4 |& f4 I: o3 N8 ^(视频43分钟,例题5个,提示1个,技术穿越1个)
* H! T' Y9 t7 }/ E) G
7 t7 J" h5 v L" R( b0 H12.1 网络编程 521
" O# O" G R' b/ l, u& s4 L7 w# w$ {% H- ?
12.2 开发第一个网络程序 5226 o- o: y/ C0 ~2 Y# j+ ~
1 k2 P ?! S$ _3 Y12.3 网络开发的经典模型——Echo程序 524
+ i# N/ n6 e; C1 K8 t* g
. {9 `8 M/ B/ @4 D8 w本章小结 527
% j' e; E; Y4 y7 D
& p; l* [( D- T t课后习题 528 I: @6 e" D* r- R6 ~8 ~
) I' z! f% P+ ]" O# C& q5 @. p
第13章 Java类集框架 529
6 Z# g" e1 ]2 p; S8 D4 P$ v1 a' b4 s
0 g3 y4 ~1 L8 V+ H9 I2 ](视频204分钟,例题34个,提示15个,注意3个,问答3个,技术穿越2个,面试题5个)0 i2 o+ {" K8 M p2 x) a
: U8 @( n$ g6 n- c/ j
13.1 类集框架简介 529
; ]; g9 m! Y! Z( o( r% `
/ ?+ S5 X# E) o13.2 单对象保存父接口:Collection 530
: Z. [- \1 ]7 R# h
) V5 r: v# L( f, `% M13.3 List子接口 531! ^8 L9 u0 s3 J0 [( Z k" V* ~ }
! F* v1 e: x- c6 U' S9 ?& L
13.3.1 新的子类:ArrayList 532
/ n& a! A; k' Z: X# J! D9 p
* G, u: U% E0 S# U0 ?; @, r9 o; z$ T13.3.2 旧的子类:Vector 535" w, [2 y0 ]" z( B7 @
9 H8 x) s/ `2 r13.4 Set子接口 536
* J# G; T/ u. k1 b# Z2 K* H. a' U
% h% R- N) B4 h0 M13.4.1 关于数据排序的说明 5372 Z# U% W: I" [6 o7 A3 }
7 x5 q) }% c: m7 W2 Y( }
13.4.2 关于重复元素的说明 539
% Q$ ^0 M4 G( D) A9 \2 d/ z/ @3 r+ j) d; k+ m* J
13.5 集合输出 5417 o. F9 Q% N6 f1 E+ }2 A
$ I' u6 f3 l8 N% k13.5.1 迭代输出:Iterator 541' ^+ S. q# t" A% L
+ W# ?' Y. _6 c0 C& G! D13.5.2 双向迭代:ListIterator 544
G7 }1 i+ p, A: \; s$ j
% J8 ]* \" Z! `( q$ p13.5.3 foreach输出 545
$ ?0 F$ N& ], Q3 s% F0 l: |4 u# K, W1 b0 u ^/ L {/ r* u( r/ K/ y
13.5.4 Enumeration输出 546
+ m& Z7 {6 D+ A7 b2 E- M
; }, W5 x1 Z' Y% O1 x* a13.6 偶对象保存:Map接口 5478 P) H$ \2 J. y; w, x. X# S X! O
3 ~' K# N# c B' _" i3 f/ C, W4 _13.6.1 利用Iterator输出Map集合 550" C) a/ p: b2 }* l: @* k# N+ Q
& f7 P6 m* R' W, P/ D& _6 D
13.6.2 自定义Map集合的key类型 551
3 U* O; ~$ C+ U6 l: t9 Z) x6 q1 k: l+ ?0 J) ?
13.7 Stack子类 553; T6 s7 V5 R2 e7 {, h& k
: G* @0 N! M2 F/ g' F+ |' @: F
13.8 Properties子类 5543 S, C7 ^0 R$ y
# s' ?* K0 V9 s: A13.9 Collections工具类 5568 {/ ~; O) e( O/ R W8 I$ e
# G& \! N$ [* A1 _+ l9 K' ?: M& z% G
13.10 数据流 557) a0 }- l6 ^( T! y& l; \) c
7 v) Z* _- Y, t8 y) |! Z9 B% i9 T
13.10.1 数据流基础操作 557
2 X+ Z6 S, M) w
& a+ T8 J% o1 L7 I3 F- \1 L13.10.2 MapReduce 564 x& C6 m$ H8 }9 V
5 j/ z' q% D* m+ k; k3 C
本章小结 567" z; {, I: C$ r+ A4 ~5 y5 \& V
1 M% ^2 y8 H6 b课后习题 568
8 b. t! b3 V" y1 V! z8 I3 D
6 |2 h8 n# i& V1 W, x$ l/ m) j3 _8 T第14章 Java数据库编程 569
( }* f5 T, w! @9 |# H& X. I
3 i) t$ b, R7 l* ?6 b6 G(视频121分钟,例题15个,提示3个,注意3个)( C* D' S# V5 s% t
. s" C+ u- U, |) f
14.1 JDBC简介 569
( J9 b( }0 b1 G+ O" m& {. h
2 M: L# K" e) {% K" }14.2 连接Oracle数据库 570
3 a) G5 v) u: _' I/ z/ h$ A0 j! |% O* ?5 ^" z
14.3 Statement接口 572
2 V3 y9 u% r" t2 t; o! `. V' ]# B
14.3.1 数据更新操作 5739 _1 T) p3 S) P2 ]& q0 Z, _
" J& S! ^1 G- ^9 @0 Q8 u- P/ e. _6 Y14.3.2 数据查询 576
/ B9 d' z- t& h5 g$ h. G6 W& h2 s/ G+ `5 v4 @
14.4 PreparedStatement接口 578
3 W* r" e* R* Z, f4 I g4 j; ~# c& X O2 {/ r% s- c( e
14.4.1 Statement接口问题 578
; q# N8 p8 T# D8 T. K
% d" o% @. a- O6 Z. {& M" m14.4.2 PreparedStatement操作 579
- V) x+ x! q+ C7 W
1 w& E9 U1 `1 v; R# E; y- k14.5 批处理与事务处理 585! @6 w+ `( z( z/ c
# a5 f( s+ h. O/ Z5 R
本章小结 587" [0 i7 x: C/ V/ P2 Z
# B5 m- g7 d! w d. p课后习题 587
I0 O* g. I' m: `* \1 N9 ?
* N9 g" H; Z! L6 y' @3 X第四部分 设计开发% R$ ?# ~2 I" a" }7 [: q
& R+ z$ h" G+ d3 A0 e4 i% k! B& T1 o第15章 DAO设计模式 590" F; l2 |5 l% z9 [
5 @* U! `' o( A
(视频163分钟,例题11个,提示10个,技术穿越1个)
& U2 M! _4 x4 c2 J; w9 g2 C, T3 K7 d5 h: H$ R. O- {" N- T
15.1 程序设计分层 5903 G* t5 F1 T" y8 ^
2 u; O4 V, p) w( i15.2 实例分析 592
) h a8 _5 ~& l5 E8 B
, [/ q$ W, P: ~15.3 项目准备 593
7 ]+ ~3 I- ^. j" Q! W8 Y
9 K2 a* ~! ^7 W+ |9 S15.3.1 数据库连接类 594
- X& H7 S4 G8 Y4 {9 e; v' ^+ e! B2 B6 H3 a- i O
15.3.2 开发Value Object 596
1 x1 c( N) z% ~: `; {5 g1 n( w1 l$ v+ _3 e) b: W
15.4 开发数据层 598! W4 X3 w; [; ~! D
: V' e) b6 {! o7 i6 G2 \- D/ K15.4.1 开发数据层操作标准 598
8 `1 H3 G$ V5 b3 W
3 s5 G: v: l/ @- L) _7 J" k15.4.2 数据层实现类 601+ v4 h. X. Q$ e1 J# \' x, [
5 j6 i+ r8 Q* a* _, A15.4.3 定义数据层工厂类——DAOFactory 605
# P( r' u# M) |/ l; b8 n% c- J+ Y9 L9 _2 y3 }4 L6 o
15.5 开发业务层 606! n$ Q4 K8 z9 e
' J1 y5 q( T% F# X" C
15.5.1 开发业务层标准——IEmpService 606
$ K0 k* b* `% M4 M8 v9 h" d; R2 B4 k
8 p+ P; ?- e0 Q: H15.5.2 业务层实现类 609
; u3 ~5 h8 Y# f& ]
# J% c. \4 Q* {2 u15.5.3 定义业务层工厂类——ServiceFactory 612
6 n2 F5 W) H8 y8 ~
0 {, C, ]( W- s( E; g" _. F, k0 b15.6 代码测试 6132 [. s' b) T5 w" z
' v2 x$ I3 v. _1 e6 k* I, A
15.6.1 调用测试 6134 B) b! y% w6 e3 q9 G1 K8 R
& I/ I- F( y: F0 B) k( u15.6.2 利用JUnit进行测试 614" z0 S* [ m0 g) l7 \9 ^
; m+ q; O. G y6 q1 v7 M2 p本章小结 6173 I; S5 v* q' Z0 Y% T# d5 r; u" _- g
- R! v- b6 K- Q' V2 _# j5 a+ \% n附录 综合测试 618) r9 q6 q( R% N! ?: h/ q2 W3 C
, F1 Y/ d5 _3 i* L5 A测试试卷一 6186 P' k4 s, B/ ]3 c! ?
3 i5 b; i( m' t+ e( L
测试试卷二 623% g3 H, z/ T# g" G
, Y6 H& w/ q6 ?* @) ? @6 [测试试卷三 631; i- r& T$ Z9 T8 d4 F# V) B" ~
P$ t% U( p, o$ j, t& m' }
Java资料百度网盘下载地址链接(百度云):java自学网(javazx.com) 第一行代码 Java 视频讲解版 PDF 高清 电子书 百度云.rar【密码回帖可见】 h- |1 W) A5 N R
; {) v w6 ^7 S) Y1 u$ E; Z
- D7 C* N+ L# [- w
5 F" C" N7 C" n6 a
1 ~/ i O0 E. _" N% {$ _& Q8 Z |
|