标题：Java范例开发大全
图书信息
书 名: Java范例开 发大全
作　者：张帆　
出版社： 清华大学出版社
出版时间： 2010-6-1
ISBN: 9787302222699
开本： 16开
定价: 99.00元
内容简介
本书精心挑选了有代表意义的370余个实例，详细介绍了如何利用Java语言的强大功能来开发应用程序。本书附带1张光盘，内容为本书中所有实例的多媒体语音教学视频及书中的实例源代码。
本书内容丰富，实用性强，实例贴近生活，容易理解，而且书中每一个实例都经过仔细调试。本书适合Java初、中级学习人员学习和提高使用，也可以作为Java程序员案头必备的参考资料。
作者简介
张帆，毕业于西安交通大学。毕业后曾经先后任职于方正奥德等知名IT企业，长期从事Java企业级应用开发。有8年以上的Java开发经验，精通Java语言，对Eclipse、Spring、Hibernate等开发技术与框架有丰富的使用经验，对Java图形开发及分布式开发有深入研究。目前致力于Java加密与解密技术的研究。曾经参与开发了金融、证券、保险、教育等多个领域的多个大型项目。平时爱好阅读和旅游。
图书目录
第1篇  Java编程基础
第1章  Java开发环境的搭建（教学视频：9分钟） 2
1.1  理解Java 2
1.2  搭建Java所需环境 3
1.2.1  下载JDK 3
1.2.2  安装JDK 4
1.2.3  配置环境 5
1.2.4  测试JDK配置是否成功 7
实例1  开发第一个Java程序 7
第2章  Java基础类型与运算符（教学视频：39分钟） 9
2.1  基础类型 9
实例2  自动提升 9
实例3  自动转换 10
实例4  常用基础类型之强制转换 11
2.2  运算符 12
实例5  算术运算符 12
实例6  关系运算符 13
实例7  逻辑运算符 14
实例8  位运算符 15
实例9  移位运算符 16
实例10  转型运算符 17
2.3  其他形式 18
实例11  常量与变量 18
实例12  各种进制的转换 19
实例13  Java中的进制与移位运算符 22
第3章  条件控制语句（教学视频：75分钟） 26
3.1  if控制语句 26
实例14  判断输入的年份是否为闰年 26
实例15  抽奖活动 27
3.2  for语句 28
实例16  小九九乘法表 28
实例17  如何列出素数 29
实例18  Java中的递归 31
实例19  男生女生各多少人 32
实例20  求水仙花数 34
实例21  求任意一个正数的阶乘 35
实例22  求n的n次方 35
实例23  利用for循环输出几何图形 36
实例24  杨辉三角 38
3.3  while语句 39
实例25  求1到100之间的和 39
实例26  存上100元需要多少天 40
实例27  输出100之间的所有偶数 41
实例28  如何判断回文数字 42
3.4  do…while语句 43
实例29  输出100之间的所有奇数 44
实例30  求最大的随机数 44
3.5  switch语句 45
实例31  判断字母分类 46
实例32  优良及差 47
实例33  打印任意一年日历 48
实例34  一年四季的划分 51
第2篇  Java数据处理
第4章  异常处理（教学视频：62分钟） 54
4.1  编译时异常 54
实例35  除0发生的算术异常（ArithmeticException） 54
实例36  数组下标越界异常（ArrayIndexOutOfBoundsException） 55
实例37  数组元素类型不匹配异常（ArrayStoreException） 56
实例38  强制类型转换异常（ClassCastException） 56
实例39  索引越界异常（IndexOutOfBoundsException） 57
实例40  空指针异常（NullPointerException） 58
实例41  数字格式转换异常（NumberFornatException） 59
实例42  字符串索引越界异常（StringIndexOutBounds） 60
实例43  操作错误（UnsupportedOperationException） 60
4.2  运行时异常 61
实例44  找不到指定类时发生的异常（ClassNotFoundException） 62
实例45  请求的方法不存在（NoSuchMethodException） 63
4.3  try…catch捕获异常 65
实例46  try…catch捕获异常的实例 66
实例47  try…catch…finally捕获异常的实例 67
实例48  try…catch嵌套捕获异常的实例 68
4.4  throws声明异常 69
实例49  throws声明异常实例一 69
实例50  throws声明异常实例二 70
4.5  throw抛出异常 72
实例51  throw抛出异常实例一 72
实例52  throw抛出异常实例二 73
4.6  自定义异常 74
实例53  自定义异常实例一 74
实例54  自定义异常实例二 75
第5章  数组（教学视频：98分钟） 78
5.1  一维数组 78
实例55  一维数组的创建与使用 78
实例56  按相反的顺序输出 79
实例57  奇偶分组 80
实例58  找宝 81
实例59  寻找最小数 82
实例60  我的位置在哪里 83
实例61  复制数组 85
实例62  插入新元素 86
实例63  数组的合并 87
实例64  去除重复元素 88
实例65  数组求和计算 90
实例66  求最大值、最小值和平均值 91
5.2  二维数组 92
实例67  二维数组的创建与使用 92
实例68  矩阵转置 93
实例69  奇数阶幻方 94
实例70  求方阵对角线之和 96
实例71  矩阵的加法 97
实例72  矩阵的减法 98
实例73  快递报价单 99
5.3  数组的排序 101
实例74  冒泡排序法 102
实例75  数组递增排序 103
实例76  部分数组递增排序 103
实例77  选择排序法 104
实例78  快速排序法 106
第6章  字符串（教学视频：138分钟） 108
6.1  字符串类String 108
实例79  创建字符串类 108
实例80  如何使用charAt()方法计算重复字符 109
实例81  按字母顺序比较大小 110
实例82  首尾相连 111
实例83  字符串间的比较 112
实例84  字符集的解码方法 113
实例85  寻找指定字符第一次出现的位置 114
实例86  寻找指定字符最后出现的位置 115
实例87  我究竟有多长 116
实例88  替换指定的字符 117
实例89  分割字符串 117
实例90  如何使用substring()方法截取子串 118
实例91  分解字符串 119
实例92  字母大小写转换 120
实例93  去除多余的空白 120
实例94  原始数组类型的String形式 121
实例95  Java合法标识符 122
实例96  显示一周各星期的名称 123
实例97  构造空心方框 124
实例98  这一天是星期几 125
实例99  大小写互换 127
实例100  输出指定范围的素数 128
实例101  我出现了几次 129
实例102  算术表达式求值器 129
实例103  字符串对齐调整器 137
实例104  字符串的加密 139
实例105  使用正则表达式验证电话号码的格式 141
6.2  字符串缓存类StringBuffer 143
实例106  创建字符串缓存类 143
实例107  提取单个字符 144
实例108  给指定字符赋值 145
实例109  插入新的字符 146
实例110  插入新的字符串 146
实例111  获取字符串的子串 147
实例112  删除指定的字符 148
实例113  倒置字符串 149
实例114  去除重复字符 149
实例115  检查是否是回文 151
第7章  输入/输出流（教学视频：116分钟） 152
7.1  文件和目录 152
实例116  显示文件的基本信息 152
实例117  显示目录的基本信息 153
实例118  在指定的目录下创建单个文件 156
实例119  在指定的目录下创建多个临时文件 158
实例120  删除指定目录下的文件 160
实例121  移动指定目录下的文件 163
实例122  文件搜索引挚 167
7.2  字节流 169
实例123  复制指定目录下的文件 170
实例124  显示文件中的内容 173
实例125  将数据保存到指定的文件中 175
实例126  将由键盘中录入的信息保存到文件中 176
实例127  一个文件变成多个小文件 178
实例128  多个小文件合成一个文件 181
实例129  统计指定文件中的字符个数 183
实例130  对象的序列化与反序列化 185
实例131  同时显示多个文件 187
实例132  生成zip压缩文件 189
实例133  解压缩zip文件 192
实例134  生成Excel文件 194
实例135  读取Excel文件中的内容 198
实例136  生成PDF文件 199
实例137  读取PDF文件中的内容 203
实例138  用iText生成Word文件 205
实例139  利用POI读取Word文件中的内容 208
7.3  字符流 209
实例140  按顺序创建文件 210
实例141  按顺序读取文件 211
实例142  追加文件内容 211
实例143  只显示文件中指定的字符 214
实例144  读取jar包文件 215
实例145  文件的加密/解密操作 217
实例146  复制图片 219
实例147  随机读写Java类文件 221
第3篇  Java面向对象编程
第8章  面向对象（教学视频：72分钟） 226
8.1  类 226
实例148  简单的通讯录类 226
实例149  简单的长度单位转换类 227
实例150  卡车和卡车司机之间的关系 229
实例151  双色球 231
8.2  成员变量和方法 236
实例152  使用类作为成员变量 236
实例153  构造方法 237
实例154  使用静态成员变量计算内存中实例化的对象数目 239
实例155  实现加减乘除的方法 240
8.3  面向对象的设计模式 241
实例156  Singleton单例模式 242
实例157  招聘（简单工厂模式） 243
实例158  同学聚会（工厂方法模式） 244
实例159  图书展（抽象工厂模式） 246
实例160  汽车适配器（Adapter适配器模式） 248
8.4  垃圾回收 250
实例161  垃圾回收的机制 250
第9章  面向对象的四大特征（教学视频：65分钟） 252
9.1  抽象 252
实例162  求自定义几何图形的面积和周长 252
实例163  使用抽象方法实现的支票夹 254
9.2  封装 257
实例164  世界小姐参赛资格 257
实例165  自定义复数类 261
9.3  继承 264
实例166  轿车与本田的关系 264
实例167  继承关系的加载顺序 266
实例168  如何访问同名的方法或变量 268
实例169  super()方法的使用 271
实例170  this方法的使用 274
实例171  一张考试成绩单 275
实例172  银行自动存取一体机 278
9.4  多态 284
实例173  饮食文化 284
实例174  使用构造方法的重载计算课程的GPA值 287
第10章  内部类与接口（教学视频：41分钟） 290
10.1  成员内部类 290
实例175  成员内部类的使用规范 290
实例176  猜谜 292
10.2  方法内部类 294
实例177  局部内部类的使用规范 294
实例178  奖学金的评分标准 295
10.3  匿名内部类 297
实例179  匿名内部类的使用规范 297
实例180  电话与移动电话 299
10.4  静态内部类 300
实例181  静态内部类的使用规范 300
实例182  苹果的来历 302
10.5  接口 303
实例183  求n的幂数与倍数 304
实例184  商品订单 306
实例185  多功能排序 310
第11章  Java常用类（教学视频：66分钟） 315
11.1  数学Math类 315
实例186  求圆周率∏值 315
实例187  求对数值 316
实例188  使用取整函数 317
11.2  Random类的使用 318
实例189  随机数 319
实例190  验证码 322
11.3  Date类和Calendar类 324
实例191  使用Date类获取系统的当前时间 324
实例192  使用DateFormat类获取系统的当前时间 325
实例193  使用GregorianCalendar类获取系统的当前时间 326
实例194  使用SimpleDateFormat类获取系统的当前时间 329
实例195  显示某年某月某一周的信息 330
实例196  显示某年某月的信息 332
实例197  时间的设置与获取 334
实例198  万年历（农历和阳历的互换） 337
11.4  Formatter类的使用 347
实例199  时间格式转换符的使用 347
实例200  数据格式转换符的使用 349
11.5  System类的使用 351
实例201  记录程序执行的时间 351
实例202  程序的退出 352
实例203  获取程序运行环境的信息 353
第4篇  Java高级开发技术
第12章  集合（教学视频：45分钟） 358
12.1  Set 358
实例204  利用HashSet删除学生 358
实例205  不重复的随机数序列 360
实例206  运用映射的相关类（Map） 363
实例207  运用集的相关类（Set） 365
12.2  List 368
实例208  增加所需的元素 368
实例209  Iterator迭代器的使用 370
实例210  谁是幸运儿 371
实例211  自定义Queue队列 373
实例212  List、Set与Array之间的相互转换 375
实例213  二分查找法的实现方法 377
实例214  模拟操作系统的进程调度 379
实例215  利用栈将字符串逆序输出 381
实例216  动态的数组链表 382
实例217  你能猜出鱼是谁的宠物吗？ 387
实例218  使用Collections类对List的排序操作 393
实例219  LinkedList的添加删除操作 395
实例220  运用Vector 397
实例221  改变Properties文件中的键值 399
第13章  多线程编程（教学视频：121分钟） 405
13.1  多线程的五种基本状态 405
实例222  启动线程 405
实例223  参赛者的比赛生活（线程休眠唤醒） 407
实例224  资源搜索并下载（线程等待和通报） 410
实例225  模拟淘宝购物买卖双方交易问题 412
实例226  携子之手 与子偕老（join） 415
实例227  线程让步（Yield） 417
实例228  会走动的钟（多线程） 419
实例229  变形金刚中的守护神（守护线程） 424
实例230  查看JVM中所有的线程的活动状况 426
实例231  模仿网络快车下载工具下载文件 428
13.2  多线程的同步与互斥 436
实例232  多线程同步方法的实例 436
实例233  ATM存取一体机（线程同步互斥） 437
实例234  我的钱哪里去了 440
实例235  门锁打不开了（死锁） 444
实例236  门锁终于被打开了（解决死锁） 446
实例237  一个死锁的例子 448
13.3  线程的优先级 451
实例238  排座位（线程优先级） 451
实例239  赛车 454
13.4  定时器 458
实例240  定时器（Timer） 458
实例241  数字定时器 459
13.5  线程连接池 462
实例242  手术任务（线程池） 462
实例243  模拟人工服务台（线程连接池） 466
13.6  线程应用实例 471
实例244  下雪的村庄 472
实例245  小飞侠 474
实例246  飞流直下 477
实例247  多线程断点续传 479
实例248  滚动的珠子 485
实例249  余额查询 489
实例250  滚动的文字 492
实例251  漂浮效果 495
实例252  监视内存的使用情况 499
实例253  璀璨的星空 501
实例254  银行和超市业务的模拟 505
第14章  泛型（教学视频：43分钟） 511
14.1  泛型基础 511
实例255  一个关于泛型的简单例子 511
实例256  带两个类型参数的泛型 513
实例257  有界类型程序示例 514
实例258  通配符使用示例 515
实例259  泛型方法使用示例 516
实例260  泛型接口示例 518
实例261  泛型实现坐标打印 519
14.2  泛型类的继承 521
实例262  继承泛型类示例 521
实例263  继承非泛型类示例 522
实例264  泛型类的类型识别示例 523
实例265  强制类型转换示例 525
14.3  擦拭 526
实例266  无限界的擦拭 526
实例267  有限界的擦拭 527
14.4  集合泛型类 528
实例268  Hashtable的泛型化 528
实例269  多功能画笔 529
第15章  网络编程（教学视频：52分钟） 534
15.1  IP地址 534
实例270  获取计算机名与IP地址 534
实例271  获取网址的IP地址 535
实例272  判断两个网址的主机名是否一样 536
实例273  测试IP的类型 537
实例274  查找主机 538
实例275  主机所支持的协议 539
15.2  URL类的使用 540
实例276  使用URL访问网页 540
实例277  URL的组成部分 541
实例278  通过指定的URL可以获取网页的源代码 542
实例279  一对多通信模式 544
实例280  自制浏览器 549
实例281  扫描TCP端口 551
实例282  TCP协议服务器 552
实例283  TCP协议客户机 553
实例284  Socket连接信息 555
实例285  Echo服务的客户端是如何实现的？ 556
实例286  检测本机的服务端口 558
实例287  下载的页面不丢失链接 559
实例288  如何对网页进行重新定向 560
实例289  在Internet上搜索对象 560
实例290  LAN使用代理服务器 562
实例291  BBS论坛服务器端 567
实例292  UDP报文的发送与接收 579
第16章  数据库技术（教学视频：38分钟） 583
实例293  加载JDBC驱动程序 583
实例294  通过JDBC对数据库进行查询 584
实例295  数据库更新 585
实例296  获取数据库的基本信息 586
实例297  获取数据库对SQL支持的信息 589
实例298  处理访问数据库出现的常见异常情况 591
实例299  在Servlet中连接数据库 593
实例300  数据分页显示 595
实例301  批处理 601
实例302  事物处理 604
实例303  调用存储过程 608
实例304  连接ODBC数据库 611
实例305  数据库中图片文件的存取 614
第17章  界面设计--Swing（教学视频：88分钟） 618
17.1  Swing组件介绍及应用 618
实例306  JFrame框架的应用 618
实例307  Border的使用 619
实例308  使用Icon组件显示一张图片 620
实例309  Icon接口的应用 621
实例310  JLabel组件 622
实例311  Icon应用到JLabel中 623
实例312  JButton的使用 624
实例313  在JButton上设置快捷键 625
实例314  设置默认按钮 626
实例315  使用JCheckBox组件 627
实例316  JCheckBox事件处理 629
实例317  JRadioButton的使用 630
实例318  JComboBox的使用 632
实例319  利用ComboModel构造JComboBox 633
实例320  DefaultComboBoxModel的使用 635
实例321  建立有图像的JComboBox 636
实例322  建立可自行输入的JComboBox 637
实例323  JComboBox的事件处理 638
实例324  JTextField组件的使用 640
实例325  使用JTextArea组件 641
17.2  页面布局及事件监听 642
实例326  BorderLayout版面布局 643
实例327  FlowLayout布局管理 644
实例328  应用GridLayout设计版面 645
实例329  如何使用BoxLayout布局管理器 647
实例330  使用ActionEvent监听组件 648
实例331  使用WindowAdapter实现鼠标事件 649
实例332  使用MouseMotionListener监听鼠标 650
实例333  使用KeyListener监听键盘 652
17.3  组件的综合应用 654
实例334  计算器 654
实例335  创建树菜单 657
实例336  在节点中显示详细信息 658
第18章  Applet小应用程序（教学视频：39分钟） 662
实例337  不断变大的文字 662
实例338  灯光扫描的效果 664
实例339  字体逐渐展开的效果 666
实例340  飞舞的气球 668
实例341  逐渐浮现的图片 671
实例342  火焰边框的特效 674
实例343  局部放大效果 677
实例344  水波荡漾的效果 679
实例345  漫天飞花 682
实例346  动感影集 685
实例347  彩虹字 688
实例348  多功能按键 690
第19章  多媒体与图像处理（教学视频：51分钟） 694
19.1  多媒体 694
实例349  测试音频播放器 694
实例350  测试视频播放器 696
实例351  视频反色效果 698
实例352  实现一个录音机 703
实例353  建立一个调色板 707
19.2  图像处理 710
实例354  在计算机内存中创建一个图像 710
实例355  会移动的图像 712
实例356  将图片进行180度旋转 714
实例357  处理图像的明暗度 716
实例358  如何将彩色图转化为灰度图 721
实例359  锐化和模糊图像 724
实例360  显示一个图像的轮廓 727
实例361  如何放大及拉伸图像 730
第20章  JSP开发技术（教学视频：62分钟） 735
20.1  JSP基础 735
实例362  网页版的9×9乘法口诀 735
实例363  Java Servlet小程序 737
实例364  Servlet对表单的处理过程 738
实例365  获取/修改JavaBeans中的内容 741
20.2  JSP程序设计 743
实例366  喜连大三元 743
实例367  运气对对碰 748
实例368  文字样式统计器 752
实例369  图形统计器 754
20.3  垃圾信息投诉站 756
实例370  创建投诉表单 756
实例371  保存投诉的内容 760
实例372  实现投诉站的后台操作 762
实例373  取消投诉内容 764
实例374  站内信 767
20.4  网站在线评估系统 769
实例375  创建评估问卷 769
实例376  实现评估的后台操作 771
实例377  查看评估结果 773
第5篇  Java综合案例
第21章  模拟服务器与客户端之间的通信（教学视频：13分钟） 778
21.1  实例介绍 778
21.2  框架设计 779
21.2.1  项目的总体结构 779
21.2.2  搭建开发环境 779
21.2.3  确定项目工程目录 779
21.3  公用模块设计 780
21.4  客户端程序 780
21.4.1  客户端的工作流程 780
21.4.2  编写客户端的源程序 781
21.4.3  客户端源的程序解读 783
21.5  服务器端程序 785
21.5.1  服务器端的工作流程 785
21.5.2  编写服务器端的源程序 785
21.5.3  服务器端的源程序解读 788
21.6  小结 790
第22章  书店管理系统（教学视频：56分钟） 791
22.1  实例分析 791
22.2  系统设计 792
22.2.1  结构分析 792
22.2.2  搭建环境 792
22.2.3  创建目录 793
22.3  数据库设计 793
22.4  公用模块设计 795
22.4.1  data包中的类 795
22.4.2  util包中的类 798
22.5  用户登录模块 800
22.6  系统主界面 802
22.7  基础维护模块 804
22.7.1  图书维护 804
22.7.2  用户维护 811
22.8  借还管理模块 818
22.8.1  借书 818
22.8.2  还书 821
22.9  查询管理模块 824
22.9.1  图书查询 824
22.9.2  用户查询 826
22.10  系统管理模块 829
22.11  小结 831
创作背景

本书约定
【实例介绍】：对需要解决的问题的已知条件和需要解决的部分做出说明，对于某些复杂的问题给出了举例说明该题目的功能是什么，以及要求是什么。
【关键技术解析】：对实例中涉及的关键技术和解决问题的思路给出精辟的分析和说明，必要时对一些关键代码进行分析。
【开发过程】：给出了解决问题的主要步骤及如何用Java语言编写代码来实现。在代码中，对重要的变量或者复杂语句给出了注释和解释，对复杂的方法给出了功能介绍。
【难点剖析】：对于有一定难度的实例，给出了难点分析和解决方法。基础知识部分中的难点剖析主要是分析初学者不易理解的内容，应用部分的难点剖析主要是给出难点代码分析及思路扩展。
【拓展应用】：对实例中的重要知识点进行回顾，并给出了对实例进一步拓展的思路和拓展时所涉及的技术及方法。
配书光盘内容介绍
为了方便读者的学习，本书附带1张DVD光盘。内容如下：
* 本书370余个实例及2个案例的源代码；
* 本书370余个实例及2个案例的多媒体视频讲解，包括实例的实现过程和运行        演示；
* 免费赠送的大量互补学习资料，包括编程讲座视频、编程电子书和应用系统等。
适合阅读本书的读者
* 所有想学习Java语言的初学者；
* 已经具备Java语言基础，想进一步提升开发水平的人员；
* 想参加初级、中级程序员考试的人员；
* 大中专院校及相关社会培训班的学生；
* 希望作为案头必备技术手册的Java程序员。
阅读本书的建议
* 没有Java语言基础的读者，建议从第1章顺次阅读并演练每一个实例。
* 有一定Java语言基础的读者，可以根据实际情况有重点地选择阅读。
* 对于每一个实例，先自己思考一下实现的思路，然后再阅读，这样学习效果更好。
* 先对每一个实例的实现思路和实现过程完整地阅读一遍，然后再结合光盘中的多媒体视频讲解动手实现一次，理解会更加深刻。