目录
第一篇编 程 基 础
第1章概述/3
1.1面向对象程序设计的概念/3
1.2面向过程与面向对象的区别/4
1.3面向对象的基本特征/4
1.4面向对象的编程语言/6
1.5Java语言的特点/6
1.6配置Java开发环境/8
1.7第一个Java程序/11
1.8标准输入输出处理/16
1.8.1标准输入流/16
1.8.2通过Scanner类实现输入输出/18
1.9综合案例: 商品录入/19
习题1/21
编程练习/22
第2章编程基础/23
2.1标识符/23
2.2数据类型/24
2.2.1基本数据类型/24
2.2.2类型转换/26
2.3变量/27
2.4常量/28
2.5运算符和表达式/282.5.1基本赋值运算/29
2.5.2算术运算/29
2.5.3关系运算/31
2.5.4布尔运算/32
2.5.5位运算/32
2.5.6条件运算/33
2.5.7复合赋值运算符/33
2.6字符串/33
2.7if语句/35
2.7.1if语句的三种形式/35
2.7.2使用if分段显示/37
2.8switch语句/38
2.8.1使用switch语句分段显示/38
2.8.2switch语句详解/38
2.9for循环/39
2.9.1for循环语法/39
2.9.2求和运算示例/40
2.10while循环/41
2.10.1while循环语句/41
2.10.2while循环实现输入控制/41
2.11do...while循环/41
2.11.1do...while语句/41
2.11.2do...while实现退出操作/42
2.12break与continue语句/42
2.12.1break语句/42
2.12.2continue语句/43
2.13综合案例: 购物程序/43
2.13.1问题分析与程序设计/44
2.13.2程序实现/44
习题2/46
编程练习/47
第3章方法/49
3.1方法的概念/49
3.2如何定义方法/49
3.3方法调用/50
3.4设计有参数和返回值的方法/51
3.5方法应用/53
3.5.1单个参数的方法/54
3.5.2多个参数的方法/54
3.5.3递归方法/56
3.5.4多个返回值的方法/57
3.6方法重载/58
3.7变量的作用域/58
3.8综合案例: 验证码生成/59
习题3/60
编程练习/61
第4章数组/63
4.1数组的概念/63
4.2创建数组/63
4.3初始化一维数组/65
4.3.1静态初始化/65
4.3.2动态初始化/65
4.3.3创建数组示例/66
4.4数组名的使用/67
4.5数组作为方法的参数和返回值/69
4.5.1数组作为方法的参数/69
4.5.2数组作为返回值/70
4.6增强的for循环/71
4.7多维数组/71
4.7.1二维数组的定义/72
4.7.2初始化二维数组/72
4.8综合案例: 抽取幸运观众/73
习题4/75
编程练习/76
第二篇Java面向对象
第5章类和对象/81
5.1类/81
5.2对象/81
5.3类和对象的关系/82
5.4类的设计/82
5.5类的定义/83
5.5.1汽车类示例/83
5.5.2定义类/83
5.6创建和使用对象/85
5.6.1创建对象/85
5.6.2使用对象/86
5.7成员变量与局部变量/86
5.8构造方法/87
5.9创建构造方法/87
5.10方法重载/88
5.10.1普通方法重载/89
5.10.2构造方法重载/89
5.11this关键字/92
5.11.1this表示类的成员/92
5.11.2this调用构造方法/93
5.11.3this表示当前对象/94
5.12static修饰符/94
5.12.1静态变量/95
5.12.2静态方法/97
5.12.3main()方法详解/98
5.12.4静态成员的特点/99
5.13String类/99
5.14综合案例: 银行账户类/102
5.15聚集类案例: 银行类/104
5.15.1聚集类示例/104
5.15.2银行操作的主界面/107
5.16内部类/111
5.16.1类中定义的内部类/111
5.16.2内部类被外部引用/113
5.16.3方法中定义的内部类/113
习题5/114
编程练习/114
第6章封装/117
6.1类的封装/117
6.2包的封装/118
6.2.1package语句/119
6.2.2import语句/120
6.2.3Calendar与DateFormat类/121
6.3类成员的封装/122
6.3.1包访问权限/122
6.3.2public: 接口访问权限/123
6.3.3private: 类内部访问权限/123
6.3.4protected: 继承访问权限/123
6.4类的访问权限/124
6.5综合案例: 购书系统/124
习题6/128
编程练习/129
第7章继承/130
7.1继承的概念/130
7.2继承关系的定义/130
7.3继承对类的影响/131
7.4方法重写/135
7.5super关键字/138
7.5.1使用super访问父类的成员/138
7.5.2使用super调用父类的构造方法/139
7.5.3构造子类的对象/140
7.5.4super与this关键字/140
7.6抽象类/141
7.6.1抽象类的设计/141
7.6.2抽象类示例/142
7.6.3抽象类的子类/143
7.7final修饰符/145
7.7.1final修饰变量/145
7.7.2final修饰方法/145
7.7.3final修饰类/146
7.8Object类/146
7.8.1toString()方法/146
7.8.2equals()方法/147
7.9类的关系/148
7.9.1继承关系/148
7.9.2依赖关系/148
7.9.3关联关系/149
7.9.4聚合关系/149
7.9.5组合关系/150
7.10综合案例: 组装计算机/151
习题7/153
编程练习/153
第8章多态/155
8.1多态的定义/155
8.2父类引用子类对象/155
8.3方法绑定/156
8.4动态绑定/156
8.5对象的多态性/157
8.5.1向上转型/158
8.5.2向下转型/159
8.5.3instanceof运算符/159
8.6接口/160
8.6.1定义接口/160
8.6.2接口示例/160
8.7抽象类和接口的选择/162
8.8综合案例/162
8.8.1USB接口案例/162
8.8.2随机选笔案例/164
习题8/167
编程练习/169
第三篇高级面向对象设计
第9章图形用户界面设计/173
9.1Swing 和AWT/173
9.1.1AWT组件/173
9.1.2Swing组件/173
9.1.3容器类组件/174
9.2创建一个基本GUI程序/174
9.2.1使用JFrame类创建一个框架/174
9.2.2在框架中添加组件/175
9.2.3设置界面布局/177
9.2.4事件处理/182
9.3常用的事件和监听器接口/184
9.3.1事件/184
9.3.2Window事件处理/185
9.3.3键盘事件处理/188
9.3.4鼠标事件处理/189
9.4菜单/190
9.4.1菜单设计/190
9.4.2菜单项事件处理/192
9.4.3综合案例: 菜单/192
习题9/195
编程练习/196
第10章异常处理/197
10.1Java异常处理/197
10.2Exception类/198
10.3如何处理异常/198
10.3.1使用throws抛出异常/199
10.3.2使用try…catch…finally处理异常/199
10.3.3catch块的顺序/201
10.4综合案例: 自定义异常/202
习题10/204
编程练习/205
第11章集合类/206
11.1集合类的基本概念/206
11.2集合类之间的关系/206
11.3泛型/208
11.4List应用/208
11.4.1LinkedList类/208
11.4.2ArrayList类/208
11.4.3Vector类/209
11.4.4Stack类/209
11.5Set应用/210
11.5.1Set接口的常用方法/210
11.5.2Set接口示例/211
11.6Map应用/212
11.6.1Map的常用方法/212
11.6.2HashMap管理网络名和密码/212
11.7书籍管理案例/214
习题11/217
编程练习/218
第12章输入输出流及文件处理/219
12.1输入输出流/219
12.2字节流/220
12.2.1InputStream类的常用方法/220
12.2.2OutputStream类的常用方法/221
12.2.3文件数据流/221
12.2.4将输入信息保存到文件/222
12.2.5读取并显示文件/223
12.3字符流/224
12.3.1InputStreamReader和OutputStreamWriter/225
12.3.2字符流案例/226
12.4文件处理/227
12.4.1文件的基本操作/227
12.4.2文件的随机读写/228
12.5对象序列化/229
12.5.1存储对象/230
12.5.2Car对象的序列化/230
12.5.3存储和读取序列化对象的信息/231
12.6正则表达式/232
12.6.1正则表达式的基本概念/232
12.6.2正则表达式案例/234
习题12/238
编程练习/239
第13章多线程/241
13.1进程与线程/241
13.2并行与并发/241
13.3多线程的定义/241
13.4创建多线程/242
13.4.1继承Thread类/242
13.4.2实现Runnable接口/243
13.5线程的生命周期/244
13.6线程的调度/244
13.7线程同步/247
13.7.1资源共享/247
13.7.2线程同步/248
13.7.3等待与通知/250
13.7.4死锁/252
13.8综合案例: 派发快递/253
习题13/255
编程练习/256
第14章网络编程/257
14.1Java网络编程基础/257
14.1.1IP地址/257
14.1.2端口号/257
14.2InetAddress类/258
14.3使用URL类访问网络资源/259
14.4Socket套接字编程/262
14.4.1使用TCP通信/262
14.4.2使用UDP通信/264
14.5综合案例: 上传文件/265
习题14/268
编程练习/269
第15章图书销售系统综合案例/270
15.1案例设计/270
15.2图书类/271
15.3权限管理/273
15.4业务类/277
15.5管理类/281
15.6测试类/282
附录课后习题答案/287
参考文献/293
