《Java编程兵书》
基本信息
作者: 桂颖 任昱衡
丛书名: 程序员藏经阁
出版社:电子工业出版社
ISBN:9787121207419
上架时间:2013-8-26
出版日期:2013 年9月
开本:16开
页码:628
版次:1-1
所属分类:计算机
内容简介
计算机书籍
《java编程兵书》针对初学和自学读者的特点,以通俗易懂的语言介绍java语言,讲解java基础开发。内容包括java语言的发展、环境配置、开发工具、基本语法、流程控制语句、数组、集合、面向对象、字符串处理、图形界面设计、输入/输出、处理异常、多线程、内存管理、图像处理、jdbc连接数据库及jsp和servlet开发技术,让读者更好地体会java语言编程开发。
《java编程兵书》运用大量示例,让读者在实战中体会编程的快乐。建议读者边学边练,有难以理解的概念或知识一定要弄清楚,培养自己单独开发项目的能力。
《java编程兵书》适合想从事软件开发的入门者、java自学者及初级软件程序员和信息技术人员阅读。
目录
《java编程兵书》
第一篇 环境准备篇
第1章 初出茅庐:走进java
1.1 java是什么2
1.2 java历史背景2
1.3 java平台的3个版本2
1.4 java语言特点2
1.5 java类库概述3
1.6 java的工作方式4
1.7 java语言的前景4
1.8 小结5
1.9 习题5
第2章 拨云见日:java语言的环境配置
2.1 操作系统要求7
2.2 下载与安装jdk 77
2.2.1 jdk 7的下载7
2.2.2 jdk 7的安装9
2.2.3 设置环境变量10
2.2.4 测试环境变量是否配置成功12
2.3 第一个java程序——helloworld12
.2.3.1 编写helloworld12
2.3.2 编译运行13
2.3.3 分析结构14
2.4 小结14
2.5 习题14
第3章见龙在田:开发工具介绍
3.1 ultraedit和editplus编辑器17
3.2 集成开发工具介绍17
3.2.1 jbuilder简介17
3.2.2 netbeans简介17
3.2.3 eclipse简介17
3.2.4 下载eclipse18
3.3 使用eclipse开发第一个程序——helloworld19
3.4 小结22
3.5 习题23
第二篇 java语法篇
第4章 稳扎马步:java编程基础
4.1 注释25
4.2 标识符和关键字26
4.2.1 命名标识符的规则26
4.2.2 关键字26
4.3 变量和常量27
4.3.1 变量27
4.3.2 常量27
4.4 数据基本类型28
4.4.1 整型28
4.4.2 浮点型29
4.4.3 字符型29
4.4.4 逻辑型30
4.5 数据类型之间的转换30
4.5.1 自动类型转换31
4.5.2 强制类型转换31
4.6 java中的运算符32
4.6.1 算术运算符32
4.6.2 关系运算符34
4.6.3 逻辑运算符34
4.6.4 赋值运算符35
4.6.5 位运算符35
4.6.6 移位运算符37
4.6.7 三元运算符38
4.6.8 对象运算符39
4.7 运算符的优先级39
4.8 java语言的编码规范40
4.8.1 语法规范40
4.8.2 代码编写规范40
4.9 本章知识点综合应用41
4.9.1 转换基本数据类型41
4.9.2 java的运算符43
4.10 小结50
4.11 习题50
第5章 白鹤亮翅:程序控制语句
5.1 条件语句52
5.1.1 if语句52
5.1.2 switch语句55
5.1.3 if与switch的区别56
5.2 循环语句57
5.2.1 for循环结构57
5.2.2 while循环结构58
5.2.3 do-while循环结构59
5.2.4 while与do-while的区别60
5.3 break和continue语句61
5.3.1 break语句61
5.3.2 continue语句62
5.3.3 break与continue的区别63
5.4 本章知识点综合应用63
5.4.1 控制程序的流程63
5.4.2 计算阶乘66
5.5 小结67
5.6 习题67
第6章 知己知彼:面向对象程序设计
6.1 面向对象的基本概念69
6.1.1 面向过程与和面向对象的程序设计69
6.1.2 对象和封装69
6.1.3 类和实例70
6.2 类71
6.2.1 类的定义71
6.2.2 成员变量72
6.2.3 成员方法74
6.2.4 构造方法76
6.2.5 main()方法76
6.2.6 参数的传递77
6.2.7 类对象的创建、使用和清除78
6.3 包80
6.3.1 包的作用80
6.3.2 包的定义80
6.3.3 运行包中的类81
6.3.4 引入包中的类81
6.4 类中变量和方法的访问权限82
6.4.1 公有类型变量和方法83
6.4.2 受保护类型变量和方法83
6.4.3 私有类型变量和方法84
6.5 类的继承85
6.5.1 继承的概念86
6.5.2 继承的实现—创建子类86
6.5.3 继承数据成员和方法87
6.5.4 覆盖88
6.5.5 继承中要注意的问题90
6.6 类的多态性90
6.7 抽象类92
6.7.1 抽象类的定义92
6.7.2 抽象类实例92
6.8 接口93
6.8.1 接口的定义93
6.8.2 接口的使用94
6.8.3 接口的继承95
6.9 内部类96
6.9.1 匿名类(anonymous class)96
6.9.2 静态类(static class)97
6.9.3 成员类(member class)97
6.9.4 局部类(local class)98
6.10 类相关关键字99
6.10.1 this关键字99
6.10.2 static修饰符99
6.10.3 final修饰符101
6.10.4 super关键字103
6.11 本章知识点综合应用104
6.11.1 java的参数传递104
6.11.2 自定义形状类105
6.11.3 方法和变量在继承时的覆盖与隐藏110
6.12 小结114
6.13 习题114
第7章 稳扎稳打:数组
7.1 一维数组116
7.1.1 一维数组的声明116
7.1.2 一维数组的创建116
7.1.3 一维数组的初始化116
7.1.4 一维数组元素的使用117
7.1.5 一维数组元素的默认值118
7.2 二维数组119
7.2.1 二维数组声明119
7.2.2 二维数组的创建119
7.2.3 二维数组的初始化120
7.2.4 二维数组的遍历120
7.3 数组的相关操作121
7.3.1 数组长度121
7.3.2 数组填充121
7.3.3 数组复制122
7.3.4 数组比较123
7.4 数组排序123
7.4.1 sort函数排序123
7.4.2 冒泡排序124
7.5 本章知识点综合应用125
7.5.1 使用arrays125
7.5.2 求质数127
7.5.3 动态调整数组长度129
7.6 小结130
7.7 习题131
第8章 借花献佛:集合
8.1 java集合框架133
8.2 collection接口133
8.2.1 转换构造方法133
8.2.2 collection接口的定义133
8.2.3 collection接口的基本操作134
8.2.4 遍历collection接口134
8.2.5 collection接口的批量操作135
8.2.6 collection接口的数组操作136
8.3 set接口136
8.3.1 set接口的定义136
8.3.2 set接口的基本操作137
8.3.3 set接口的批量操作138
8.3.4 set接口的数组操作139
8.4 list接口139
8.4.1 list接口的定义140
8.4.2 从collection继承的操作140
8.4.3 按位置访问和查找操作141
8.4.4 list迭代方法142
8.5 map接口143
8.5.1 map接口的定义143
8.5.2 map接口的基本操作144
8.5.3 map接口的批量操作145
8.6 实现145
8.6.1 实现的类型146
8.6.2 set接口的实现147
8.6.3 list接口的实现148
8.6.4 map接口的实现148
8.7 本章知识点综合应用149
8.7.1 arraylist、vector和linkedlist149
8.7.2 对list排序154
8.7.3 对map排序156
8.8 小结158
8.9 习题158
第9章 点石成金:字符串处理
9.1 字符类160
9.1.1 character字符包装器类160
9.1.2 转义字符序列161
9.1.3 常用构造函数161
9.1.4 字符的比较162
9.1.5 取字符对象的值162
9.2 字符串string163
9.2.1 字符串声明与赋值163
9.2.2 常用构造函数163
9.2.3 获取字符串长度165
9.3 字符串常用操作166
9.3.1 字符串连接166
9.3.2 字符串比较167
9.3.3 字符串截取168
9.3.4 字符串查找169
9.3.5 字符串大小写转换170
9.3.6 字符串内容的替换171
9.3.7 获取字符串某位置的字符172
9.4 字符串其他操作172
9.5 字符串数组173
9.5.1 字符串数组的构造函数174
9.5.2 字符串数组的属性及常用方法174
9.6 字符串缓存类stringbuffer175
9.6.1 常用构造函数175
9.6.2 字符串缓存与字符串的转化176
9.6.3 字符串缓存扩充177
9.6.4 字符串缓存插入177
9.7 字符串缓存的其他操作178
9.8 字符串标记类179
9.8.1 常用构造函数179
9.8.2 常用方法179
9.9 本章知识点综合应用180
9.9.1 使用string180
9.9.2 基本数据类型与字符串的转化184
9.9.3 使用stringbuffer186
9.10 小结190
9.11 习题190
第三篇 java编程提高篇
第10章 云行雨施:java swing编程
10.1 swing的特点192
10.2 swing容器192
10.2.1 jframe容器192
10.2.2 jpanel容器195
10.3 创建图形界面程序196
10.4 swing常用组件197
10.4.1 按钮组件jbutton197
10.4.2 复选框组件jcheckbox198
10.4.3 单选按钮组件jradiobutton198
10.4.4 文本框组件jtextfield198
10.4.5 密码框组件jpasswordfield199
10.4.6 组合框组件jcombobox199
10.4.7 滑块组件jslider199
10.4.8 微调组制组件jspinner199
10.4.9 菜单组件jmenu200
10.5 不可编辑的信息显示组件200
10.5.1 标签组件jlabel200
10.5.2 进度条组件jprogressbar201
10.5.3 工具提示组件jtooltip201
10.6 swing高级组件202
10.6.1 颜色选择器jcolorchooser202
10.6.2 文件选择器jfilechooser202
10.6.3 文本编辑组件jeditorpane和jtextpane203
10.6.4 文本区组件jtextarea204
10.6.5 表组件jtable204
10.6.6 树组件jtree205
10.6.7 面板组件jpanel206
10.6.8 滚动面板jscrollpane207
10.6.9 拆分面板jsplitpane207
10.6.10 选项卡面板jtabbedpane208
10.6.11 工具栏jtoolbar208
10.7 本章知识点综合应用209
10.7.1 一个圆形的按钮209
10.7.2 捕捉屏幕211
10.7.3 缩放图片214
10.8 小结219
10.9 习题219
第11章 十拿九稳:标准布局
11.1 标准布局管理器简介222
11.1.1 borderlayout边框布局222
11.1.2 boxlayout盒状布局223
11.1.3 cardlayout卡片布局224
11.1.4 flowlayout流动布局225
11.1.5 gridlayout网格布局226
11.1.6 gridbaglayout网格包布局227
11.2 使用布局管理器技巧228
11.2.1 设置布局管理器228
11.2.2 向容器中添加组件229
11.2.3 提供组件大小和排列策略229
11.2.4 设置组件之间的间隙229
11.2.5 设置容器的语言方向230
11.3 本章知识点应用231
11.3.1 设计用户登录界面231
11.3.2 日历235
11.4 小结241
11.5 习题242
第12章 料事如神:java异常处理
12.1 java中的异常244
12.2 异常处理245
12.2.1 try语句246
12.2.2 catch语句247
12.2.3 异常类型247
12.2.4 异常处理原则248
12.3 throwable类249
12.3.1 throwable类的定义和方法249
12.3.2 异常类的继承关系250
12.3.3 使用throws抛出异常251
12.3.4 使用throw抛出异常252
12.3.5 运行期异常252
12.4 自定义异常253
12.4.1 创建自定义异常类253
12.4.2 处理自定义异常254
12.5 finally子句255
12.6 异常的几个问题256
12.6.1 异常丢失256
12.6.2 构造函数中的异常处理257
12.6.3 异常匹配258
12.7 异常的优点260
12.8 本章知识点综合应用262
12.8.1 throw、throws、try和catch262
12.8.2 自定义异常类264
12.8.3 使用finally266
12.9 小结269
12.10 习题270
第13章 棒打双狗:java的输入/输出处理
13.1 什么是流272
13.2 字节流272
13.2.1 输入流类inputstream272
13.2.2 输出流类outputstream274
13.3 字符流275
13.3.1 writer类275
13.3.2 reader类277
13.3.3 读取unicode字符278
13.3.4 读取字符文件279
13.4 file类281
13.4.1 创建文件夹281
13.4.2 创建文件282
13.4.3 复制文件283
13.4.4 删除文件284
13.4.5 删除文件夹284
13.5 流的运用286
13.5.1 文件流286
13.5.2 管道流287
13.5.3 i/o重定向287
13.5.4 过滤流288
13.5.5 序列化对象289
13.6 本章知识点综合应用290
13.6.1 获取文件的属性信息290
13.6.2 创建文件和目录292
13.6.3 删除文件和目录296
13.7 小结299
13.8 习题299
第14章 以柔克刚:多线程编程
14.1 线程301
14.1.1 线程的组成301
14.1.2 多线程概念301
14.1.3 java中的多线程302
14.2 创建线程302
14.2.1 继承thread类创建线程302
14.2.2 实现runnable接口创建线程303
14.3 线程的状态305
14.4 线程的优先级306
14.5 线程的同步307
14.5.1 同步方法307
14.5.2 固定锁和同步308
14.6 线程的控制310
14.6.1 启动线程310
14.6.2 挂起和恢复线程310
14.6.3 线程的休眠方法310
14.6.4 线程的加入方法312
14.6.5 中断线程314
14.6.6 结束线程314
14.7 线程间通信315
14.7.1 pipedwriter类详解315
14.7.2 pipedreader类详解316
14.7.3 管道通信实例317
14.8 多线程的死锁问题318
14.9 多线程的缺点319
14.10 本章知识点综合应用319
14.10.1 定义和启动线程319
14.10.2 线程的协作321
14.10.3 线程优先级324
14.11 小结325
14.12 习题325
第15章 李代桃僵:网络编程
15.1 网络编程基础327
15.1.1 什么是tcp协议327
15.1.2 什么是ip协议327
15.1.3 什么是tcp/ip327
15.1.4 什么是udp协议328
15.1.5 什么是端口328
15.1.6 什么是套接字328
15.1.7 java.net包328
15.2 inetaddress类329
15.3 url网络编程330
15.3.1 url330
15.3.2 符语法331
15.3.3 urlconnection类332
15.4 tcp的网络编程332
15.4.1 socket332
15.4.2 重要的socket api333
15.4.3 服务器端程序设计334
15.4.4 客户端程序设计336
15.5 udp网络编程336
15.5.1 udp通信概念337
15.5.2 udp的特性337
15.5.3 udp的应用338
15.5.4 udp与tcp的区别338
15.6 本章知识点综合应用339
15.6.1 获取url的信息339
15.6.2 http客户端341
15.6.3 基本的socket编程343
15.7 小结348
15.8 习题349
第16章 一箭双雕:内存管理技术
16.1 程序中“垃圾”是什么351
16.2 “垃圾”收集器354
16.3 如何收集“垃圾”356
16.3.1 finalize重写357
16.3.2 finalize安全问题358
16.4 非线程“垃圾”361
16.5 线程“垃圾”362
16.6 本章知识点综合应用365
16.6.1 弱引用实例365
16.6.2 软引用实例367
16.6.3 最终守护者实例369
16.7 小结371
16.8 习题371
第17章 成人之美:处理图像
17.1 加载与绘制373
17.2 图标376
17.2.1 icon接口376
17.2.2 imageicon类379
17.3 处理图像编码380
17.3.1 jpeg编码器381
17.3.2 gifencoder编码器382
17.4 图像抓取384
17.4.1 createscreencapture方法384
17.4.2 抓屏功能使用实例384
17.5 图像滤镜的开发388
17.6 rgb色彩通道过滤390
17.7 卷积滤镜391
17.8 本章知识点综合应用393
17.9 小结402
17.10 习题402
第18章 里应外合:反射与注解的应用
18.1 反射概念404
18.2 class类的使用实例404
18.3 数组与class类408
18.4 精确判断对象类型409
18.4.1 field类的知识与使用410
18.4.2 method类的知识与使用412
18.4.3 constructor类的知识与使用414
18.5 反射与修饰符416
18.6 取消访问限制420
18.7 利用反射动态创建数组对象422
18.8 本章知识点综合应用423
18.8.1 instanceof操作符423
18.8.2 获取类的信息424
18.9 小结431
18.10 习题431
第19章 如虎添翼:使用jdbc连接数据库
19.1 数据库433
19.1.1 数据库简介433
19.1.2 sql语句433
19.2 jdbc简介435
19.2.1 什么是jdbc435
19.2.2 jdbc与java结合435
19.2.3 jdbc如何实现数据库的平台无关性435
19.3 jdbc中的常用类和接口436
19.3.1 驱动程序管理类(drivermanager)436
19.3.2 声明类(statement)436
19.3.3 数据库连接类(connection)437
19.3.4 结果集合类(resultset)437
19.4 如何实现数据库的连接438
19.4.1 加载合适的数据库驱动程序438
19.4.2 数据库配置问题438
19.4.3 建立数据库连接并获得statement对象440
19.4.4 执行数据库查询语句440
19.4.5 获得查询结果441
19.4.6 关闭数据库连接441
19.4.7 完整的示例程序441
19.5 元数据442
19.5.1 数据库的databasemetadata元数据443
19.5.2 结果集的resultsetmetadata元数据443
19.6 批处理444
19.6.1 批处理规范444
19.6.2 批处理举例444
19.7 本章知识点综合应用445
19.7.1 访问数据库445
19.7.2 对数据库进行查询446
19.7.3 增加、修改、删除数据库中的数据447
19.8 小结448
19.9 习题448
第20章 同甘共苦:使用swing组件创建数据库应用程序
20.1 jcombobox组件创建数据库应用程序450
20.1.1 创建jcombobox450
20.1.2 defaultcomboboxmodel创建jcombobox452
20.2 jlist组件创建数据库应用程序453
20.2.1 defaultlistmodel创建jlist453
20.2.2 listmodel创建jlist454
20.3 jtable组件创建数据库应用程序456
20.3.1 jtable相关的类456
20.3.2 defaulttablemodel创建jtable457
20.4 本章知识点综合应用458
20.4.1 使用resultset更新数据库458
20.4.2 使用rowset462
20.5 小结472
20.6 习题473
第21章 明修栈道:jsp技术
21.1 jsp简介475
21.1.1 mvc模式475
21.1.2 jsp技术的优点476
21.2 基本语法476
21.2.1 注释476
21.2.2 jsp指令477
21.3 jsp脚本元素480
21.3.1 jsp声明480
21.3.2 jsp表达式481
21.4 jsp动作481
21.4.1 include动作元素482
21.4.2 forword动作元素482
21.4.3 plugin动作元素483
21.4.4 param动作元素483
21.4.5 usebean、setproperty和getproperty动作元素484
21.5 jsp内置对象486
21.5.1 request对象486
21.5.2 response对象488
21.5.3 session对象488
21.5.4 application对象489
21.5.5 out对象491
21.5.6 config对象491
21.5.7 exception对象492
21.5.8 pagecontext对象492
21.6 本章知识点综合应用493
21.6.1 获取客户端的真实ip地址493
21.6.2 设置和读取cookie495
21.6.3 jsp无刷新聊天室499
21.7 小结505
21.8 习题505
第22章 暗度陈仓:servlet技术
22.1 servlet简介507
22.1.1 什么是servlet507
22.1.2 servlet的生命周期507
22.1.3 servlet的基本结构508
22.2 httpservlet应用编程接口508
22.2.1 init()方法509
22.2.2 service()方法509
22.2.3 doget()方法509
22.2.4 dopost()方法509
22.2.5 destroy()方法509
22.2.6 getservletconfig()方法510
22.2.7 getservletinfo()方法510
22.3 创建httpservlet510
22.4 调用httpservlet512
22.4.1 由url调用servlet512
22.4.2 在[form]标记中指定servlet512
22.4.3 在[servlet]标记中指定servlet513
22.4.4 在asp文件中调用servlet513
22.5 servlet之间的跳转514
22.5.1 转向forward514
22.5.2 重定向redirect515
22.6 本章知识点综合应用515
22.6.1 用servlet生成图形验证码515
22.6.2 用servlet实现分页查看数据库520
22.7 小结534
22.8 习题534
第四篇 开发实战篇
第23章 小试牛刀:界面游戏拼图
23.1 游戏简介536
23.2 素材准备537
23.3 游戏设计537
23.3.1 加载和拆分图片537
23.3.2 实现图片的随机排列538
23.3.3 实现图片的移动538
23.3.4 参考图像的缩放539
23.4 开发步骤539
23.4.1 自定义按钮类设计:imagebutton类540
23.4.2 游戏界面布局:构造窗体类puzzlegame540
23.4.3 加载和拆分图像541
23.4.4 创建拼接图面板542
23.4.5 创建显示参考图像的面板543
23.4.6 创建菜单栏545
23.4.7 实现按钮事件监听器类547
23.4.8 设置窗体在屏幕中出现的位置547
23.4.9 编写main()方法548
23.4.10 运行测试548
23.5 打包部署548
23.6 小结549
第24章 鹤啸九天:学生信息管理系统
24.1 需求分析551
24.2 系统设计551
24.3 登录模块551
24.3.1 设计构想551
24.3.2 实现登录模块552
24.4 学生信息模块相关流程554
24.4.1 设计构想554
24.4.2 实现学生信息主界面554
24.4.3 增加学生信息557
24.4.4 删除学生信息560
24.4.5 修改学生信息563
24.4.6 基本学生信息查询567
24.4.7 成绩查询571
24.4.8 退出系统575
24.5 教师信息模块相关流程576
24.5.1 主界面576
24.5.2 增加老师信息579
24.5.3 删除老师信息583
24.5.4 修改老师信息586
24.5.5 录入成绩590
24.5.6 删除成绩593
24.5.7 修改成绩596
24.5.8 基本信息查询600
24.5.9 退出系统604
24.6 小结606