
Java是当今非常流行的一种面向对象编程语言。本书由浅入深,循序渐进地向读者讲授了Java语言的基本概念和编程方法。全书内容包括Java简介、运行环境配置、数据类型、流程控制、面向对象、复合数据类型、异常、线程、输入/输出流、图形用户界面、XML开发、常用类、JDBC、网络编程以及JSP、Servlet。为了便于读者学习,书中的每章都给出了一个完整的综合实例。在每章的最后还提供了上机实践及习题,以便读者巩固本章所学的知识。
本书适合Java初/中级读者以及大专院校学生阅读,也可以作为广大Java编程爱好者的自学教材。
前 言
Java是当今非常流行的一种面向对象编程语言。该语言由Sun公司推出,具有跨平台、可移植、分布式、简单、可扩展等诸多特性。Java语言发展到今天,可以说互联网的快速发展起了很大的推动作用。现在谈到Java,其已不仅仅表示一门程序语言,更是一种软件开发平台,目前已经演化出了J2SE、J2EE、J2ME三个版本。凭借其易学易用、功能强大等特点,Java可以进行桌面应用、Web应用、分布式系统及嵌入式系统等应用程序开发,并且在信息技术、科学研究、军事工业、航空航天等各个领域得到了非常广泛的应用。
为了方便广大读者学习,本人花费半年时间写作这本书。本书较全面地介绍了Java语言的基本概念和编程方法,每章均附有相应的实例和习题,以帮助读者巩固所学知识。学完本书之后,力求让读者系统地掌握Java语言的编程方法。
本书的特点
1.提供多媒体语音视频讲解和交互式教学体验
笔者为本书录制了几百分钟的视频讲解,同时还制作了交互式教学内容。读者可以在提示下进行各种Java实战入门操作,以更快地掌握Java开发。
2.提供完善的售后服务
本书学习论坛是http://www.wanjuanchina.net,读者可以讨论技术,笔者会及时回答读者提问,并提供各种技术文章,帮助你提供开发水平。本书提供服务邮箱fwjava@sina.com。读者购买书后向该邮箱发一封邮件,即可获取各种Java学习资料。
3.技术全面,内容充实
除了基本概念及语法知识外,本书涉及了Java语言开发的多个方面,包括XML开发、数据库编程、网络编程、Web编程等。这些内容的介绍,可以使读者在掌握Java语言基本编程技术的基础上对其他方面技术有更全面的了解,从而能够更快地进行实际应用程序的开发。
4.实例精讲,深入剖析
学习计算机语言,动手编程是最好的学习方法。全书提供了207个示例和14个实例。针对每个实例,书中都详细介绍了其编写过程,对其实现思路及关键代码,均有详细的分析和解释。通过具体实例的讲解,读者可以真正掌握Java开发的精髓。
5.建议提示,查漏补缺
书中提供了详细的注意、警告和技术提示,这些内容是对相关主题的一些重要补充。另外,针对每章的知识点,本书还总结了大量常见问题,进行了详细分析和解答。这些常见问题都是实际开发过程中非常宝贵的经验,有些甚至是资深Java程序员级的问题。通过这些问题的学习,必将使读者Java语言开发能力有很大的提高。
6.上机练习,巩固知识
书中每章的最后都提供了上机实践及习题,用于巩固本章所学的知识。对于上机实践,给出了主要实现过程和关键代码,读者可以作为参考,从而更好地完成上机操作。每章习题均反映了本章讲解的相关知识点,用于考查读者对知识的掌握程度。
本书的内容
全书的内容主要分为4篇,包括以下内容。
第1篇为Java基础与面向对象编程篇,包括第1~6章:该篇主要讲解Java语法的各项基本内容,如Java语言的发展、特点、运行环境、数据类型、流程控制、面向对象。
第2篇为Java高级技术篇,包括第7~12章。该篇主要介绍Java语言的各种引用,如异常处理、线程、输入输出流、图形界面及XML开发等知识。
第3篇为Java应用开发篇,包括第13~15章。该篇主要讲解Java三大开发领域的应用。这三个领域包括数据库编程、网络编程和Java Web编程。
第4篇为案例篇,包括第16~18章。该篇针对三大开发应用领域给出了三个完整的综合实例。第16章讲解了图书管理系统;第17章讲解了局域网通信软件开发;第18章讲解了BBS系统的开发。
本书适合的读者
* Java初学者;
* Java程序员;
* 熟悉其他语言的Java爱好者;
* 大中专院校的学生;
* 社会培训学生。
本书作者及编委会成员
本书由刘升华主笔编写。其他参与编写与资料整理的人员有有班志杰、陈旭、陈永俊、陈争光、戴建华、方文票、冯玉荣、高姗姗、巩宁来、谷世江、胡其吐、黄飞龙、蒋晓捷、李德明、李显亮、李志勇、刘雁征、吕小波、马东、孟庆海、唐勇、王浩、王玲玉、王志娟、武娜、徐晓娟、闫树丰、杨朝宇、翟闯等。在此表示感谢!
本书编委会成员有欧振旭、陈杰、陈冠军、顼宇峰、张帆、陈刚、程彩红、毛红娟、聂庆亮、王志娟、武文娟、颜盟盟、姚志娟、尹继平、张昆、张薛。
编者
前 言
前 言
·IV·
·V·
目 录
第1篇 Java基础与面向对象编程篇
第1章 Java语言概述 2
1.1 Java语言简介 2
1.1.1 Java语言的发展 2
1.1.2 Java语言的特点 3
1.1.3 工作原理 4
1.2 Java程序运行环境 6
1.2.1 下载、安装JDK 6
1.2.2 设置环境变量 8
1.2.3 开发工具介绍 9
1.3 第一个Java程序 11
1.3.1 编写程序 11
1.3.2 编译、运行 12
1.3.3 使用Eclipse编写、执行程序 13
1.3.4 程序结构说明 16
1.3.5 Java程序调试技巧 16
1.4 上机实践 20
1.5 常见问题及解答 21
1.6 小结 21
1.7 本章习题 21
第2章 简单数据类型及运算 22
2.1 标识符与关键字 22
2.1.1 标识符 22
2.1.2 关键字 23
2.2 基本数据类型 23
2.2.1 布尔类型 23
2.2.2 字符型 24
2.2.3 整型 25
2.2.4 实型(浮点型) 26
2.2.5 数据类型转换 27
2.3 运算符与表达式 29
2.3.1 算术运算符及表达式 29
2.3.2 赋值运算符及表达式 31
2.3.3 关系运算符及表达式 31
2.3.4 逻辑运算符及表达式 32
2.3.5 位运算符及表达式 33
2.3.6 条件运算符及表达式 34
2.3.7 运算符的优先级 35
2.4 变量与常量 36
2.4.1 定义变量 36
2.4.2 变量的作用域 37
2.4.3 定义常量 39
2.5 本章实例 40
2.6 上机实践 42
2.7 常见问题及解答 43
2.8 小结 44
2.9 本章习题 44
第3章 流程控制 45
3.1 顺序结构 45
3.2 选择结构 46
3.2.1 if语句 46
3.2.2 switch语句 49
3.3 循环结构 51
3.3.1 for循环语句 51
3.3.2 while循环语句 52
3.3.3 多重循环 55
3.4 跳转语句 55
3.4.1 break语句 56
3.4.2 continue语句 56
3.4.3 return语句 57
3.5 注释语句 57
3.5.1 单行注释 57
3.5.2 多行注释 58
3.6 本章实例 58
3.7 上机实践 61
3.8 常见问题及解答 62
3.9 小结 63
3.10 本章习题 64
第4章 类与对象 65
4.1 创建类 65
4.1.1 声明类 65
4.1.2 类成员的访问控制 66
4.2 创建类的成员 67
4.3 创建类的方法 67
4.3.1 定义类的成员方法 67
4.3.2 构造方法 69
4.3.3 main()方法 70
4.3.4 方法的可变参数 71
4.4 关键字this 71
4.5 对象 72
4.5.1 对象的创建 72
4.5.2 对象的使用 73
4.5.3 对象的清除 73
4.6 本章实例 74
4.7 上机实践 81
4.8 常见问题及解答 83
4.9 小结 85
4.10 本章习题 85
第5章 深入面向对象编程 86
5.1 类的封装、继承与多态 86
5.1.1 封装 86
5.1.2 继承 88
5.1.3 多态 89
5.2 抽象类与接口 90
5.2.1 抽象类 91
5.2.2 接口 92
5.3 内部类 94
5.3.1 内部类 94
5.3.2 匿名内部类 95
5.4 包 96
5.4.1 创建包 96
5.4.2 使用包 97
5.5 本章实例 99
5.6 上机实践 106
5.7 常见问题及解答 108
5.8 小结 109
5.9 本章习题 110
第6章 复合数据类型 111
6.1 数组 111
6.1.1 数组的定义 111
6.1.2 创建数组 112
6.1.3 数组的使用 113
6.1.4 多维数组 113
6.2 字符串 114
6.2.1 创建字符串 114
6.2.2 字符串连接 115
6.2.3 字符串比较 115
6.2.4 字符串其他常用操作 116
6.2.5 StringBuffer类 117
6.3 集合 117
6.3.1 集合框架 117
6.3.2 访问集合元素 119
6.3.3 列表(List) 119
6.3.4 集合(Set) 120
6.3.5 映射(Map) 120
6.4 增强for循环 121
6.5 泛型 123
6.5.1 泛型集合 123
6.5.2 定义泛型类 123
6.5.3 泛型方法 124
6.5.4 泛型通配符 125
6.6 枚举 126
6.6.1 定义枚举 126
6.6.2 使用枚举 127
6.6.3 枚举带来的变化 128
6.7 自动装箱和拆箱 129
6.7.1 包装类型 129
6.7.2 装箱与拆箱 130
6.8 本章实例 130
6.9 上机实践 135
6.10 常见问题及解答 137
6.11 小结 137
6.12 本章习题 138
第2篇 Java高级技术篇
第7章 异常 140
7.1 异常概述 140
7.2 异常分类 141
7.2.1 运行时异常 141
7.2.2 可控异常 142
7.3 Java异常处理 142
7.3.1 捕获异常 142
7.3.2 抛出异常 144
7.3.3 自定义异常 146
7.4 本章实例 147
7.5 上机实践 153
7.6 常见问题及解答 153
7.7 小结 155
7.8 本章习题 155
第8章 线程 156
8.1 线程基本概念 156
8.2 线程的创建与启动 157
8.2.1 创建线程 157
8.2.2 启动线程 158
8.3 线程的生命周期 160
8.4 线程的调度 161
8.4.1 线程优先级 161
8.4.2 线程休眠sleep() 162
8.4.3 线程让步yield() 162
8.4.4 线程等待join() 163
8.5 线程同步 164
8.6 本章实例 166
8.7 上机实践 171
8.8 常见问题及解答 172
8.9 小结 172
8.10 本章习题 173
第9章 Java的输入输出流 174
9.1 输入输出流概述 174
9.2 字节输入流 175
9.2.1 字节输入流InputStream 175
9.2.2 字节文件输入流FileInputStream 176
9.2.3 输入流过滤器FilterInputStream 177
9.2.4 字节缓冲区输入流BufferedInputStream 178
9.2.5 数据输入流DataInputStream 179
9.3 字节输出流 179
9.3.1 字节输出流OutputStream 180
9.3.2 字节文件输出流FileOutputStream 180
9.3.3 输出流过滤器FilterOutputStream 181
9.3.4 字节缓冲区输出流BufferedOutputStream 182
9.3.5 数据输出流DataOutputStream 182
9.3.6 字节打印流PrintStream 183
9.4 字符输入流 184
9.4.1 字符输入流Reader 185
9.4.2 字符文件输入流FileReader 186
9.4.3 字符缓冲区输入流BufferedReader 186
9.5 字符输出流 187
9.5.1 字符输出流Writer 187
9.5.2 字符文件输出流FileWriter 188
9.5.3 字符缓冲区输出流BufferedWriter 189
9.5.4 字符打印流PrintWriter 189
9.6 文件 190
9.6.1 File类 191
9.6.2 RandomAccessFile类 192
9.7 本章实例 193
9.8 上机实践 198
9.9 常见问题及解答 199
9.10 小结 200
9.11 本章习题 200
第10章 图形用户界面 201
10.1 AWT简介 201
10.2 容器 202
10.2.1 Frame 类 202
10.2.2 Panel 类 203
10.3 布局管理器 204
10.3.1 BorderLayout管理器 204
10.3.2 FlowLayout管理器 206
10.3.3 CardLayout管理器 207
10.3.4 GridLayout管理器 209
10.3.5 GridBagLayout管理器 210
10.4 事件处理 212
10.4.1 事件处理概述 213
10.4.2 事件监听器 214
10.4.3 事件适配器 216
10.5 AWT基本组件 217
10.5.1 按钮 217
10.5.2 标签 218
10.5.3 单行文本域 219
10.5.4 多行文本域 221
10.5.5 复选框和单选按钮 222
10.5.6 列表 224
10.6 Swing简介 226
10.7 Applet 227
10.7.1 Applet简介 227
10.7.2 Applet生命周期 228
10.7.3 运行Applet 230
10.8 本章实例 231
10.9 上机实践 235
10.10 常见问题及解答 237
10.11 小结 239
10.12 本章习题 240
第11章 Java XML开发 241
11.1 XML概述 241
11.1.1 XML特点 241
11.1.2 XML语法 242
11.2 DOM 243
11.2.1 DOM技术 243
11.2.2 在Java中使用DOM 244
11.3 SAX 248
11.3.1 SAX技术 248
11.3.2 在Java中使用SAX 249
11.4 JDOM 252
11.4.1 JDOM概述 252
11.4.2 使用JDOM 253
11.5 本章实例 258
11.6 上机实践 264
11.7 常见问题及解答 265
11.8 小结 268
11.9 本章习题 268
第12章 Java常用类 269
12.1 Object类 269
12.2 包装类 270
12.2.1 Integer类 270
12.2.2 Float类 271
12.2.3 Double类 273
12.2.4 Character类 274
12.3 日期操作类 276
12.3.1 Date类 276
12.3.2 DateFormat类 277
12.3.3 SimpleDateFormat类 279
12.3.4 Calendar类 281
12.3.5 GregorianCalendar类 282
12.4 Random类 285
12.5 本章实例 287
12.6 上机实践 291
12.7 常见问题及解答 292
12.8 小结 294
12.9 本章习题 294
第3篇 Java应用开发篇
第13章 Java数据库编程 296
13.1 JDBC简介 296
13.1.1 JDBC的工作机制 296
13.1.2 JDBC API 297
13.1.3 JDBC访问数据库的基本步骤 298
13.2 安装JDBC驱动 298
13.2.1 JDBC驱动程序分类 298
13.2.2 加载JDBC驱动 299
13.3 连接数据库 299
13.3.1 定义数据库连接URL 300
13.3.2 建立数据库连接 300
13.4 访问数据库 301
13.4.1 增加记录 301
13.4.2 删除记录 302
13.4.3 修改记录 302
13.4.4 查询记录 303
13.5 处理结果集 303
13.6 事务处理 305
13.7 上机实践 306
13.8 常见问题及解答 307
13.9 小结 309
13.10 本章习题 309
第14章 Java网络编程 310
14.1 网络编程概述 310
14.2 InetAddress类 311
14.3 URL编程 312
14.3.1 URL的概念 312
14.3.2 URL类 313
14.3.3 URLConnection类 315
14.4 Socket编程 316
14.4.1 Socket类 316
14.4.2 ServerSocket类 317
14.5 上机实践 318
14.6 常见问题及解答 319
14.7 小结 321
14.8 本章习题 321
第15章 Java Web编程 322
15.1 Servlet技术 322
15.1.1 Servlet概述 322
15.1.2 运行Servlet 323
15.1.3 Servlet生命周期 324
15.1.4 请求和应答 326
15.1.5 Cookie 328
15.1.6 会话 329
15.2 JSP技术 331
15.2.1 JSP概述 331
15.2.2 JSP指令 332
15.2.3 JSP脚本元素 334
15.2.4 JSP动作 335
15.3 上机实践 337
15.4 常见问题及解答 339
15.5 小结 340
15.6 本章习题 340
第4篇 案例篇
第16章 数据库编程实例——图书管理系统 342
16.1 实例概述 342
16.2 系统设计 342
16.2.1 系统总体结构 343
16.2.2 构建开发环境 343
16.2.3 系统工程 344
16.3 数据库设计 344
16.4 公共模块 346
16.4.1 db包 346
16.4.2 util包 349
16.5 登录模块 351
16.6 主界面 353
16.7 基础维护模块 354
16.7.1 图书维护 355
16.7.2 读者维护 358
16.8 借阅管理模块 361
16.8.1 借书 361
16.8.2 还书 363
16.9 查询管理模块 365
16.9.1 图书查询 365
16.9.2 读者查询 367
16.10 系统管理模块 368
16.11 小结 369
第17章 网络编程实例——局域网通信软件 370
17.1 实例概述 370
17.2 系统设计 371
17.2.1 系统总体结构 371
17.2.2 构建开发环境 371
17.2.3 系统工程 371
17.3 公共模块 372
17.4 服务器端程序 372
17.4.1 工作流程 372
17.4.2 源程序 373
17.4.3 程序解释 376
17.5 客户端程序 379
17.5.1 工作流程 379
17.5.2 源程序 379
17.5.3 程序解释 382
17.6 小结 384
第18章 Web编程实例——BBS系统 385
18.1 实例概述 385
18.2 系统设计 386
18.2.1 系统总体结构 386
18.2.2 构建开发环境 386
18.2.3 系统工程 387
18.3 数据库设计 387
18.4 公共模块 388
18.4.1 db包 389
18.4.2 util包 393
18.4.3 filter包 394
18.5 系统登录 396
18.5.1 系统初始化index.jsp 397
18.5.2 系统登录login.jsp 398
18.6 用户注册 398
18.6.1 注册用户register.jsp 399
18.6.2 增加用户addUser.jsp 400
18.7 论坛浏览 401
18.7.1 主题信息提取ForumServlet类 402
18.7.2 主题列表forumList.jsp 403
18.7.3 主题详细内容forumDetail.jsp 404
18.8 主题管理 405
18.8.1 发布新帖 405
18.8.2 回复帖子 407
18.8.3 修改帖子 410
18.8.4 删除帖子 412
18.9 用户管理 413
18.9.1 用户列表userList.jsp 414
18.9.2 删除用户DeleteUserServlet类 415
18.10 小结 416
目 录
目 录
·VI·
·XI·