《Java开发手册》
基本信息
作者: 桂颖 谷涛
出版社:电子工业出版社
ISBN:9787121209161
上架时间:2013-8-12
出版日期:2013 年7月
开本:16开
页码:834
版次:1-1
所属分类:计算机 > 软件与程序设计 > JAVA(J#) > Java
教材 > 计算机教材 > 本科/研究生 > 计算机专业教材 > 计算机专业课程 > 程序设计
更多关于 》》》《
Java开发手册》
Java开发手册》
内容简介
计算机书籍
《java开发手册》由浅入深、全面系统地介绍java编程和开发的方方面面。书中各章提供了大量有针对性的实例,供读者实战演练。本书针对初学和自学读者的特点,按照实际开发流程对java语言的程序设计进行讲解,简明易懂、实用性强。书中以通俗易懂的语言介绍java语言,力求做到深入浅出。
全书共30章,分为5篇。java基础篇介绍java的概念、数据类型、运算符、流程控制语句及数组等内容;面向对象篇介绍对象和类、访问控制符、继承、接口、封装类及异常的处理;java常用技术篇介绍字符串、集合、内部类、线程和相关算法的应用;界面编程篇介绍java的swing编程、相关布局使用的控件和图像处理等知识;高级技术篇介绍网络编程的基本知识、输入/输出流的使用和jdbc数据库开发技术。
无论对于java的初学者,还是有一定基础的高级用户,本书都是一本难得的参考书。本书非常适合使用java进行编程和开发的本科生、研究生及教师阅读,还适合广大科研和工程技术人员研读。
目录
《java开发手册》
第1篇 java基础
第1章 初步认识java
1
1
1.1 java的概念
1
1
1.1.1 java是什么
1
1
1.1.2 java平台
1
1
1.1.3 java的操作系统
2
2
1.1.4 java的优点
2
2
1.2 java的历史
3
3
1.2.1 java的由来
3
3
1.2.2 java的发展
4
4
1.3 如何配置java开发环境
4
4
1.3.1 开发工具包
4
4
1.3.2 运行环境
4
4
1.3.3 jdk的安装和下载
5
5
1.3.4 环境变量的设置
6
6
1.3.5 环境变量的测试
7
7
1.4 第一个应用程序——helloworld
7
7
1.4.1 helloworld程序
7
7
1.4.2 编译与运行
8
8
.1.4.3 编译和运行命令
9
9
1.5 小结
12
12
第2章 基本数据类型
13
13
2.1 数据类型
13
13
2.1.1 整型
13
13
2.1.2 浮点型
16
16
2.1.3 字符型
19
19
2.1.4 布尔型
20
20
2.2 常量
21
21
2.2.1 标识符
21
21
2.2.2 常量
22
22
2.3 变量
24
24
2.3.1 声明变量及初始化
24
24
2.3.2 变量的作用域
26
26
2.3.3 数据类型的自动转换
28
28
2.4 基本数据类型之间的转换
29
29
2.4.1 自动转换类型
29
29
2.4.2 强制转换类型
31
31
2.5 基本数据类型的对象包装类
34
34
2.6 注释
35
35
2.6.1 单行注释
36
36
2.6.2 区域注释
36
36
2.6.3 文档注释
36
36
2.7 小结
38
38
第3章 运算符详解
39
39
3.1 算术运算符
39
39
3.1.1 加法运算符
39
39
3.1.2 减法运算符
42
42
3.1.3 乘法运算符
43
43
3.1.4 除法运算符
43
43
3.1.5 取余运算符
44
44
3.1.6 自增、自减运算
44
44
3.2 关系与逻辑运算
46
46
3.2.1 等于/不等于运算
46
46
3.2.2 比较大小运算
47
47
3.2.3 “与”运算
48
48
3.2.4 “或”运算
49
49
3.2.5 “非”运算
50
50
3.3 三元运算符
50
50
3.4 位运算
51
51
3.5 移位运算
53
53
3.5.1 “[[”左移运算
53
53
3.5.2 “]]”右移运算
53
53
3.5.3 “]]]”无符号右移运算
54
54
3.5.4 具体实例
55
55
3.6 赋值运算
55
55
3.6.1 普通赋值运算
56
56
3.6.2 运算赋值运算
56
56
3.6.3 括号及运算符间的优先级关系
57
57
3.7 java.lang.math类
57
57
3.7.1 数学常量
57
57
3.7.2 常用数学函数方法
58
58
3.8 小结
60
60
第4章 流程控制语句
61
61
4.1 if语句
61
61
4.1.1 常用语句形式
61
61
4.1.2 完整语句形式
62
62
4.2 if语句的嵌套
63
63
4.3 switch语句
65
65
4.3.1 switch判断语法
65
65
4.3.2 判断表达式
67
67
4.3.3 case表达式
68
68
4.4 switch实例
69
69
4.5 while循环语句
71
71
4.6 do-while循环语句
73
73
4.7 for循环语句
74
74
4.7.1 for循环语法
74
74
4.7.2 for循环实例
76
76
4.7.3 for实现其他循环
77
77
4.8 break语句
78
78
4.9 continue语句
79
79
4.10 小结
81
81
第5章 不可或缺的数组
82
82
5.1 数组的概念
82
82
5.2 一维数组
83
83
5.2.1 数组的声明
83
83
5.2.2 创建数组及初始化
83
83
5.2.3 数组的结构
84
84
5.2.4 数组长度及越界
84
84
5.2.5 数组程序实例
85
85
5.3 多维数组
86
86
5.3.1 多维数组的声明
86
86
5.3.2 创建多维数组
86
86
5.3.3 多维数组结构及初始化
87
87
5.4 访问多维数组
88
88
5.5 数组的相关用法
90
90
5.5.1 复制数组
90
90
5.5.2 数组修饰符
92
92
5.5.3 搜索数组
93
93
5.5.4 排序数组
95
95
5.5.5 arrays类的sort方法
98
98
5.5.6 数组的比较
99
99
5.6 小结
100
100
第2篇 面向对象
第6章 对象和类的“二人转”
101
101
6.1 什么是面向对象
101
101
6.1.1 面向对象的由来
101
101
6.1.2 面向过程与面向对象思想的碰撞
102
102
6.1.3 面向对象的背景及特点
104
104
6.2 类与对象
104
104
6.2.1 成员变量
105
105
6.2.2 成员变量的默认值
107
107
6.2.3 对象引用变量
108
108
6.3 类的方法
110
110
6.4 方法和变量引用
111
111
6.4.1 调用不存在的方法或成员变量
111
111
6.4.2 用空引用进行调用
112
112
6.4.3 数组的空引用问题
113
113
6.5 局部变量
113
113
6.5.1 局部变量的作用域
113
113
6.5.2 局部变量的初始化
114
114
6.6 变长参数
117
117
6.7 this对象引用
118
118
6.8 系统常用类
120
120
6.8.1 date类
120
120
6.8.2 gregoriancalendar类
122
122
6.8.3 常用系统已有类
124
124
6.9 小结
125
125
第7章 java中的访问控制符
126
126
7.1 类的访问控制
126
126
7.1.1 public级别
126
126
7.1.2 默认访问级别
128
128
7.2 成员的访问控制
130
130
7.2.1 公共访问
131
131
7.2.2 保护访问
132
132
7.2.3 默认访问
133
133
7.2.4 私有访问
134
134
7.2.5 访问级别与数据封装
136
136
7.3 static关键字
137
137
7.3.1 静态成员变量
138
138
7.3.2 静态最终成员变量
139
139
7.3.3 static方法
140
140
7.3.4 static代码块
140
140
7.4 final的变量
141
141
7.4.1 final成员变量
141
141
7.4.2 final局部变量
144
144
7.5 package的使用
146
146
7.5.1 package的声明与创建
146
146
7.5.2 引入package资源
147
147
7.5.3 静态引入package
150
150
7.6 小结
152
152
第8章 父与子的继承
153
153
8.1 什么是继承
153
153
8.1.1 类和类的关系
153
153
8.1.2 继承性
156
156
8.1.3 类的继承
156
156
8.2 继承与隐藏
157
157
8.2.1 成员变量的继承
157
157
8.2.2 成员变量的隐藏
160
160
8.3 对象
162
162
8.3.1 对象引用类型
162
162
8.3.2 强制类型转换
162
162
8.3.3 对象调用成员
164
164
8.3.4 对象赋值和比较
165
165
8.4 方法的继承
167
167
8.5 方法的重写
168
168
8.5.1 重写的条件
170
170
8.5.2 返回类型的规则
171
171
8.5.3 访问级别
173
173
8.6 重写与继承的关系
174
174
8.6.1 静态方法没有重写
175
175
8.6.2 重写扩展父类功能
177
177
8.6.3 替代性
178
178
8.7 方法的重载
178
178
8.7.1 重载的规则
178
178
8.7.2 重载方法的匹配
179
179
8.7.3 重写与重载
183
183
8.8 final与继承
183
183
8.8.1 最终的类
183
183
8.8.2 最终的方法
184
184
8.9 abstract与继承
185
185
8.9.1 抽象类
185
185
8.9.2 抽象方法
186
186
8.10 继承的多态
189
189
8.11 小结
191
191
第9章 接口的世界
192
192
9.1 接口的概述
192
192
9.2 接口中的成员变量
193
193
9.3 接口中的方法
195
195
9.4 接口引用的使用
198
198
9.4.1 可以指向的对象类型
198
198
9.4.2 接口引用间的赋值
198
198
9.4.3 类引用与接口引用间的赋值
200
200
9.4.4 接口中方法无法使用的修饰符
201
201
9.5 接口与抽象类
203
203
9.6 接口的多态
205
205
9.7 接口回调
207
207
9.8 instanceof的使用
208
208
9.8.1 基本语法使用
208
208
9.8.2 不允许进行测试的情况
211
211
9.9 小结
212
212
第10章 构造器应用
213
213
10.1 构造器的概念
213
213
10.2 访问限制修饰符与构造器
213
213
10.2.1 公有类型构造器
213
213
10.2.2 默认与保护类型构造器
214
214
10.2.3 私有类型构造器以及静态工厂方法
215
215
10.3 构造器与返回类型
216
216
10.4 创建对象
218
218
10.5 重载构造器
219
219
10.6 级联调用的构造器
220
220
10.6.1 如何调用构造器
220
220
10.6.2 级联调用
221
221
10.6.3 默认构造器
223
223
10.7 自定义构造器
224
224
10.8 构造器不能继承
225
225
10.9 调用兄弟构造器
226
226
10.9.1 调用语法
226
226
10.9.2 注意事项
227
227
10.10 单列模式
229
229
10.11 程序的加载
230
230
10.12 小结
232
232
第11章 迷惑的封装类
233
233
11.1 封装类是什么
233
233
11.2 字符串与基本数据类型值的转换
235
235
11.3 封装类与基本数据类型的转换
238
238
11.4 字符串与封装类的转换
239
239
11.5 其他常用方法
239
239
11.5.1 静态工厂方法
239
239
11.5.2 isnan()方法
241
241
11.5.3 equals()方法
242
242
11.5.4 tostring()方法
244
244
11.5.5 进制转换方法
244
244
11.6 自动打包/解包
245
245
11.7 特殊数值计算
247
247
11.7.1 计算特大整数
248
248
11.7.2 精确计算浮点型
250
250
11.8 小结
251
251
第12章 如何处理异常
252
252
12.1 异常处理
252
252
12.1.1 捕获异常的try和catch
252
252
12.1.2 finally语句
256
256
12.1.3 try、catch和finally语句
259
259
12.2 捕获异常
261
261
12.3 未捕获异常
263
263
12.4 再次抛出异常
264
264
12.4.1 异常的再抛出
264
264
12.4.2 显性再抛出
265
265
12.4.3 隐性再抛出
268
268
12.5 方法重写对抛出异常的限制
269
269
12.6 自定义异常
271
271
12.6.1 自己创建异常类
271
271
12.6.2 使用自定义异常
273
273
12.6.3 显性再抛出异常的作用
274
274
12.7 异常的匹配
277
277
12.8 断言
279
279
12.8.1 为什么要引入断言
279
279
12.8.2 断言的语法规则
280
280
12.8.3 断言与编译
280
280
12.8.4 启动断言执行代码
281
281
12.8.5 防止滥用断言
282
282
12.9 小结
283
283
第3篇 java常用技术
第13章 字符串应用
284
284
13.1 string类
284
284
13.2 string对象的内存机制
289
289
13.3 string内存机制的优势
290
290
13.4 string对象特殊机制的劣势
294
294
13.5 stringbuffer类
295
295
13.5.1 stringbuffer类的优势
295
295
13.5.2 编写方法链
297
297
13.5.3 stringbuffer类的重要方法
298
298
13.6 stringbuilder类
300
300
13.7 正则表达式
301
301
13.7.1 正则表达式的语法
302
302
13.7.2 pattern与matcher类的综合实例
304
304
13.8 在string类中使用正则表达式
308
308
13.8.1 匹配检查
308
308
13.8.2 查找替换
310
310
13.8.3 对字符串进行分析
311
311
13.9 小结
312
312
第14章 集合的使用
313
313
14.1 集合框架的结构
313
313
14.2 object类
314
314
14.2.1 tostring方法的重写
314
314
14.2.2 equals方法
315
315
14.2.3 hashcode方法
317
317
14.3 equals与hashcode方法的重写
318
318
14.4 ordered与sorted的接口
322
322
14.5 列表
323
323
14.5.1 list接口
323
323
14.5.2 数组实现列表
324
324
14.6 向量
326
326
14.7 链接实现列表
327
327
14.7.1 依赖性倒置原理
328
328
14.7.2 将数组转换为列表
329
329
14.8 集合
330
330
14.8.1 set接口
330
330
14.8.2 hashset类
331
331
14.8.3 equals与hashcode方法重写的作用
332
332
14.8.4 linkedhashset类的使用
335
335
14.9 sortedset接口与treeset类
336
336
14.10 自定义sorted集合的类
338
338
14.10.1 定制sortedset的排序规则
340
340
14.10.2 集合的遍历
343
343
14.10.3 使用for-each循环遍历集合
345
345
14.11 映射
346
346
14.11.1 map接口
346
346
14.11.2 hashmap类
347
347
14.11.3 hashtable类
348
348
14.11.4 linkedhashmap类
349
349
14.12 sortedmap接口与treemap类
351
351
14.13 映射的遍历实例
353
353
14.14 栈的实现
355
355
14.14.1 stack类
355
355
14.14.2 deque接口
356
356
14.14.3 栈计算数学表达式
358
358
14.15 集合元素的常用操作
361
361
14.16 小结
368
368
第15章 内部类应用
369
369
15.1 非静态内部类
369
369
15.2 在外部类中创建内部类
369
369
15.3 在外部类外创建内部类
371
371
15.4 内部类与外部类之间的成员互访
373
373
15.4.1 在内部类中访问外部类的成员
373
373
15.4.2 在外部类中访问内部类的成员
374
374
15.5 预定义对象引用this
375
375
15.6 局部内部类
376
376
15.6.1 定义局部内部类及创建
376
376
15.6.2 局部变量与局部内部类
377
377
15.6.3 静态方法中的局部内部类
380
380
15.7 静态内部类
381
381
15.8 静态/非静态内部类的区别
383
383
15.9 匿名内部类
383
383
15.10 内部类的理解
389
389
15.11 内部接口
390
390
15.12 小结
393
393
第16章 多线程的功力
394
394
16.1 线程的概念
394
394
16.2 自定义线程
395
395
16.2.1 继承thread类
395
395
16.2.2 实现runnable接口
395
395
16.2.3 两种方式的比较
396
396
16.3 创建线程对象
396
396
16.3.1 继承thread类方式
396
396
16.3.2 实现runnable接口方式
397
397
16.4 启动线程
398
398
16.5 同时使用多个线程
400
400
16.6 线程的状态
401
401
16.7 线程的使用
403
403
16.7.1 睡眠使用
403
403
16.7.2 线程的优先级
405
405
16.7.3 线程的让步
407
407
16.7.4 守护线程
410
410
16.8 同步线程
411
411
16.8.1 使用同步
412
412
16.8.2 同步调度方法
415
415
16.9 “生产者—消费者”案例
415
415
16.10 notify方法
420
420
16.11 同步语句块
421
421
16.12 线程的死锁
424
424
16.13 注意事项
426
426
16.14 获取运行线程
427
427
16.15 volatile关键字
428
428
16.16 小结
429
429
第17章 高级线程
430
430
17.1 线程池
430
430
17.2 固定尺寸线程池
430
430
17.2.1 自定义尺寸固定线程池实例
431
431
17.2.2 单任务线程池实例
433
433
17.2.3 可变尺寸线程池实例
434
434
17.2.4 延迟线程池的实例
436
436
17.3 使用自定义线程池
437
437
17.4 有返回值的线程调用
440
440
17.4.1 callable接口
440
440
17.4.2 future接口
440
440
17.4.3 callable与future接口的使用实例
441
441
17.5 *资源
442
442
17.5.1 lock接口与reentrantlock类
443
443
17.5.2 reentrantlock锁使用实例
443
443
17.5.3 readwritelock接口与reentrantreadwritelock类
446
446
17.5.4 reentrantreadwritelock读/写锁使用实例
447
447
17.6 信号量
450
450
17.6.1 semaphore类
450
450
17.6.2 semaphore类使用实例
451
451
17.7 队列
453
453
17.8 阻塞栈
459
459
17.8.1 blockingdeque接口与linkedblockingdeque类
459
459
17.8.2 linkedblockingdeque类的使用实例
460
460
17.9 线程安全的单变量操作
461
461
17.9.1 atomic包
461
461
17.9.2 atomic包中类的使用实例
462
462
17.10 障碍器
463
463
17.10.1 cyclicbarrier类
464
464
17.10.2 cyclicbarrier类的使用实例
464
464
17.11 小结
466
466
第18章 内存管理技术
467
467
18.1 程序中的“垃圾”是什么
467
467
18.2 “垃圾”收集器
470
470
18.3 如何收集“垃圾”
472
472
18.3.1 finalize重写
472
472
18.3.2 finalize安全问题
474
474
18.4 最终守护者实例
476
476
18.5 非线程“垃圾”
477
477
18.6 线程“垃圾”
479
479
18.7 三种特殊的引用
481
481
18.7.1 弱引用实例
481
481
18.7.2 软引用实例
483
483
18.7.3 幻影引用实例
485
485
18.8 小结
485
485
第19章 数据结构和算法
486
486
19.1 栈和队列
486
486
19.1.1 栈的应用
486
486
19.1.2 队列的应用
489
489
19.2 三种排序
492
492
19.2.1 冒泡排序
492
492
19.2.2 选择排序
495
495
19.2.3 插入排序
498
498
19.3 小结
501
501
第4篇 界面编程
第20章 swing编程
502
502
20.1 swing是什么
502
502
20.2 第一个swing小程序
502
502
20.3 jframe类
504
504
20.4 事件处理
508
508
20.4.1 事件处理模型
509
509
20.4.2 事件层次结构
510
510
20.5 窗体事件
511
511
20.6 事件适配器
514
514
20.7 容器
516
516
20.8 jpanel类
517
517
20.9 jlabel类
518
518
20.10 jbutton类
521
521
20.11 监听器与事件源对应关系的研究
524
524
20.12 小结
527
527
第21章 布局流行设计
528
528
21.1 布局管理器概述
528
528
21.2 常用布局管理器
528
528
21.3 flowlayout流布局的使用
529
529
21.3.1 流布局简介
529
529
20.3.2 流布局使用实例
531
531
21.4 gridlayout网格布局
532
532
21.4.1 网格布局简介
532
532
21.4.2 网格布局使用实例
533
533
21.5 borderlayout边框布局
535
535
21.5.1 边框布局简介
536
536
21.5.2 边框布局使用实例
537
537
21.6 空布局
539
539
21.6.1 空布局简介
539
539
21.6.2 空布局使用实例
540
540
21.7 cardlayout卡片布局
541
541
21.7.1 卡片布局简介
541
541
21.7.2 卡片布局使用实例
543
543
21.8 boxlayout箱式布局
545
545
21.8.1 箱式布局简介
545
545
21.8.2 box容器简介
547
547
21.8.3 box容器与boxlayout布局管理器使用实例
548
548
21.9 弹簧布局
551
551
21.9.1 弹簧布局简介
551
551
21.9.2 控件与容器边框之间使用支架
551
551
21.9.3 控件与容器边框之间使用弹簧
552
552
21.10 springlayout类
554
554
21.11 springlayout.constraints内部类
555
555
21.12 spring类
556
556
21.13 弹簧布局使用实例
557
557
21.14 弹簧布局描述法使用实例
558
558
21.15 小结
561
561
第22章 各种swing控件
562
562
22.1 控件类
562
562
22.2 文本框与密码框的使用实例
565
565
22.3 文本区使用实例
569
569
22.4 开关按钮使用实例
574
574
22.5 单选按钮与复选框
577
577
22.5.1 jradiobutton类
577
577
22.5.2 buttongroup类
578
578
22.5.3 jcheckbox类
578
578
22.6 itemevent事件
579
579
22.7 itemevent事件实例
579
579
22.8 单选按钮与复选框的
综合实例
582
582
22.9 小结
585
585
第23章 菜单、工具栏和对话框的使用
586
586
23.1 菜单
586
586
23.2 jmenubar类
587
587
23.2.1 使用窗体提供的setjmenubar方法
588
588
23.2.2 使用传统的add()方法
588
588
23.3 jmenuitem类
589
589
23.3.1 为菜单项添加助记符
590
590
23.3.2 为菜单项设置快捷键
590
590
23.4 jmenu类
591
591
23.5 jradiobuttonmenuitem类
593
593
23.6 jcheckboxmenuitem类
593
593
23.7 菜单使用实例
594
594
23.8 弹出式菜单实例
597
597
23.9 鼠标事件使用实例
598
598
23.10 工具栏的开发使用实例
602
602
23.11 对话框使用实例
606
606
23.11.1 jdialog类简介
606
606
23.11.2 joptionpane类简介
607
607
23.11.3 joptionpane对话框使用实例
609
609
23.12 文件选择器
611
611
23.13 颜色选择器
614
614
23.14 文件、颜色对话框使用实例
615
615
23.15 小结
617
617
第24章 经典的树状列表
618
618
24.1 树的专有名词
618
618
24.2 jtree类
619
619
24.3 树模型
623
623
24.4 树的节点
625
625
24.5 树的路径
628
628
24.6 树的相关事件
629
629
24.6.1 treeselectionevent事件
629
629
24.6.2 treeexpansionevent事件
630
630
24.6.3 treemodelevent事件
631
631
24.7 树节点的绘制
632
632
24.7.1 treecellrenderer接口
632
632
24.7.2 defaulttreecellrenderer类
632
632
24.7.3 自定义绘制器实例
633
633
24.8 树状列表的综合实例
635
635
24.8.1 实例概述
635
635
24.8.2 搭建界面
636
636
24.8.3 信息提示功能
638
638
24.8.4 节点增删功能
640
640
24.8.5 图标更改功能
643
643
24.9 小结
646
646
第25章 表格制造
647
647
25.1 表格简介
647
647
25.2 jtable类
648
648
25.2.1 使用jtable的简单实例
650
650
25.2.2 表格的数据模型
652
652
25.2.3 表格模型的使用实例
655
655
25.3 表格列
657
657
25.3.1 tablecolumnmodel接口
658
658
25.3.2 defaulttablecolumnmodel类
659
659
25.4 表格的相关事件
661
661
25.4.1 tablecolumnmodelevent事件
661
661
25.4.2 tablemodelevent事件
662
662
25.4.3 listselectionevent事件简介
662
662
25.4.4 表格事件使用实例
663
663
25.5 表格绘制器
665
665
25.5.1 tablecellrenderer接口
666
666
25.5.2 defaulttablecellrenderer类简介
666
666
25.5.3 自定义表格绘制器
667
667
25.6 表格编辑器
668
668
25.6.1 tablecelleditor接口
668
668
25.6.2 abstractcelleditor类
668
668
25.6.3 defaultcelleditor类
669
669
25.6.4 为特定的类型指定编辑器
669
669
25.7 自定义表格编辑器与绘制器的使用实例
670
670
25.7.1 实例概述
670
670
25.7.2 界面框架的搭建
670
670
25.7.3 自定义表格以及表格控件的添加
671
671
25.7.4 自定义绘制器
673
673
25.7.5 自定义编辑器的添加
674
674
25.8 表格中的排序
677
677
25.8.1 rowsorter类
678
678
25.8.2 defaultrowsorter类
678
678
25.8.3 tablerowsorter类简介
679
679
25.9 表格中的过滤
680
680
25.10 表格排序与过滤的使用实例
682
682
25.10.1 实例概述
682
682
25.10.2 搭建界面框架
683
683
25.10.3 添加表格
684
684
25.10.4 添加排序器
685
685
25.10.5 添加设置过滤条件的控件
686
686
25.10.6 表格设置过滤器
688
688
25.11 小结
691
691
第26章 图形绘制与动画
692
692
26.1 绘制简单图形
692
692
26.1.1 可以充当画布的控件
692
692
26.1.2 绘图的paint方法
692
692
26.2 画笔
693
693
26.2.1 graphics对象的获取
694
694
26.2.2 坐标系统
694
694
26.3 调配颜色
696
696
26.4 图形绘制的使用实例
697
697
26.5 绘制文本
698
698
26.5.1 drawstring方法
698
698
26.5.2 控制字体
698
698
26.5.3 文本绘制使用实例
700
700
26.6 java 2d
701
701
26.7 线条的粗细控制
702
702
26.8 渐变颜色
704
704
26.9 图形变换
706
706
26.10 异或模式绘图
708
708
26.11 抗锯齿
709
709
26.12 动画
710
710
26.12.1 编写动画的原理
710
710
26.12.2 重新绘制
710
710
26.13 timer类
711
711
26.14 简单动画使用实例
712
712
26.15 小结
714
714
第27章 处理图像
715
715
27.1 加载与绘制
715
715
27.2 图标
718
718
27.2.1 icon接口
719
719
27.2.2 imageicon类
721
721
27.3 处理图像编码
723
723
27.3.1 jpeg编码器
723
723
27.3.2 gifencoder编码器
724
724
27.4 图像抓取
726
726
27.4.1 createscreencapture方法
726
726
27.4.2 抓屏功能使用实例
726
726
27.5 图像滤镜的开发
730
730
27.6 图像灰度处理使用实例
731
731
27.7 rgb色彩通道过滤
734
734
27.8 rgb色彩通道过滤使用实例
735
735
27.9 卷积滤镜
738
738
27.10 卷积滤镜使用实例
740
740
27.11 小结
743
743
第5篇 高级技术
第28章 网络编程的世界
744
744
28.1 网络编程简介
744
744
28.2 网络传输协议
745
745
28.3 internet地址(inetaddress类)
746
746
28.3.1 创建inetaddress对象的方法
746
746
28.3.2 inetaddress的其他方法
746
746
28.4 socket(套接字)
747
747
28.5 socket使用实例
748
748
28.5.1 客户端
748
748
28.5.2 服务器端
749
749
28.5.3 程序运行结果
751
751
28.6 udp协议网络通信(datagram)
752
752
28.7 面向无连接的使用实例
752
752
28.7.1 发送端程序示例
752
752
28.7.2 接收端程序示例
754
754
28.7.3 程序运行结果
755
755
28.8 url的网络编程
756
756
28.8.1 url类与url的解析
756
756
28.8.2 urlconnection类
757
757
28.8.3 获取远程图像
758
758
28.8.4 获取远程文档
759
759
28.8.5 获取远程音频
761
761
28.9 小结
762
762
第29章 你来我往的i/o流
763
763
29.1 流的简介
763
763
29.2 文件file
764
764
29.2.1 文件或目录的生成
764
764
29.2.2 文件名的处理
764
764
29.2.3 文件属性测试
765
765
29.2.4 普通文件信息和工具
765
765
29.2.5 目录操作
765
765
29.3 file类使用实例
765
765
29.4 randomaccessfile类
767
767
29.4.1 构造方法
767
767
29.4.2 文件指针的操作
767
767
29.5 randomaccessfile使用实例
767
767
29.6 字节流inputstream、outputstream
770
770
29.6.1 输入、输出流
770
770
29.6.2 文件输入、输出流
772
772
29.6.3 缓冲输入、输出流
773
773
29.6.4 数据输入、输出流
775
775
29.6.5 对象输入、输出流
776
776
29.7 字符流reader、writer
780
780
29.7.1 字符读、写流
780
780
29.7.2 输入、输出流
781
781
29.7.3 文件读、写字符流
782
782
29.7.4 字符缓冲区读、写流
783
783
29.8 小结
784
784
第30章 jdbc数据库应用技术
785
785
30.1 数据库应用架构模型
785
785
30.1.1 两层结构模型
785
785
30.1.2 三层结构模型
786
786
30.2 jdbc的层次结构
787
787
30.3 jdbc编程入门
788
788
30.3.1 数据库的创建
788
788
30.3.2 jdbc-odbc连接桥
789
789
30.3.3 加载jdbc驱动
792
792
30.4 建立数据库连接
793
793
30.5 sql命令
794
794
30.6 结果集
795
795
30.7 连接数据库使用实例
796
796
30.8 预编译
797
797
30.9 访问其他数据库
800
800
30.9.1 mysql数据库的访问
800
800
30.9.2 oracle数据库的访问
802
802
30.10 事务
804
804
30.10.1 编写事务
804
804
30.10.2 批处理
807
807
30.11 可滚动结果集
809
809
30.12 可滚动与不可滚动结果集的比较
810
810
30.13 控制游标移动
810
810
30.14 元数据
813
813
30.15 数据库综合实例
817
817
30.16 小结
834
834