
本书结合大量实例和项目开发案例,由浅入深、循序渐进地介绍了Java开发的相关知识。本书特意提供了典型习题及教学PPT,以方便教学。另外,作者专门为本书录制了大量的配套教学视频,以帮助读者更好地学习本书的内容。这些视频和书中的实例源代码一起收录于本书的配书光盘中。
本书共18章,分为3篇。第1篇为Java开发基础,涵盖的内容有Java概述、基本数据类型及运算、Java程序流程控制、类与对象、面向对象编程、引用数据类型、异常处理、线程,以及Java的IO操作,本篇可以让读者了解Java最核心的面向对象思想及最核心的基本技术。第2篇为Java开发进阶,涵盖的内容有图形用户界面、XML开发、常用类、数据库编程、网络编程,以及Web编程,本篇可以让读者了解Java的实际应用,实现从理论到实践的飞跃。第3篇为Java项目案例开发实战,涵盖图书管理系统、局域网通信软件及论坛BBS系统3个实用系统,本篇可以带领读者体验实际的Java项目开发,从而提升开发水平。
本书适合Java入门与提高的人员阅读,也可作为大中专院校Java程序设计课程的教材。另外,本书也可供Java语言爱好者和从业者作为实际工作中的参考书籍。
前 言
Java自从1995年由Sun公司(2009年4月20日Sun公司被Oracle公司收购)发布以来,凭借其跨平台、可移植、分布式及简单易学的特点迅速成为了一门主流的软件开发语言。当前,Java依然还是最为流行的面向对象语言。目前,Java已经演化出了Java SE、Java EE和Java ME三个开发平台,分别在桌面开发、企业开发和嵌入式开发中占据了足以傲视群雄的地位。Java目前已被广泛应用于个人PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网等领域,而且拥有全球最大的开发者专业社群。在全球云计算和移动互联网的产业环境下,Java更是具备了显著的优势和广阔的发展前景。
为了帮助初学人员可在短期内比较容易地掌握Java开发技术,笔者结合自己多年的Java开发经验编写了本书。本书包含了核心Java开发所需要的方方面面的知识,讲解时穿插了大量实例,并且为读者准备了3个非常实用的项目开发案例,来进一步巩固和Java应用技术密切相关的数据库、网络和Web编程等方面的知识。为了提升学习效率,本书还专门提供了大量的练习题,并录制了多媒体教学视频辅助读者学习。另外,本书还专门制作了教学PPT以方便教学使用。阅读完本书后,读者将能够对Java编程有一个全面的认识并具备编写Java程序的能力。
本书有何特色
1.配多媒体教学视频
本书提供大量的配套多媒体教学视频辅助教学,学习起来高效、直观,效果好。教学视频重点对书中的示例进行详细讲解,并演示运行效果,读者可以和图书结合起来学习。
2.门槛低,容易入门
本书从零开始对Java核心技术进行讲解,不要求读者有太多基础,只要读者立志学习Java并有恒心坚持练习,就可以一步步走下去。
3.内容全面、系统、充实
本书详细介绍了Java开发所需要的方方面面知识,包括基本语法、面向对象、IO操作、图形界面、网络编程、数据库编程及Web编程等,还特别介绍了三个项目开发实战案例,通过学习这些内容,读者可以轻松地使用Java开发小型应用系统。
4.讲解由浅入深,循序渐进
本书的编排采用循序渐进的方式,内容梯度从易到难,讲解由浅入深,适合各个层次的读者阅读,并均有所获。
5.写作细致,处处为读者着想
本书内容编排、概念表述、语法讲解、示例讲解及源代码注释等都很细致,作者讲解时不厌其烦,细致入微,将问题讲解得很清楚,扫清了读者的学习障碍。
6.贯穿大量的开发实例和技巧
本书在讲解知识点时贯穿了大量短小精悍的典型实例,并给出了大量的开发技巧,力求让读者获得真正实用的知识。
7.提供教学PPT,方便老师教学
本书适合大中专院校和职业学校作为职业技能课程的教学用书,所以专门制作了教学PPT,以方便各院校的老师教学时使用。
本书内容安排
第1篇 Java开发基础(第1~9章)
本篇主要介绍了Java运行环境、流程控制、类与对象、引用数据类型、异常处理、多线程和IO操作等方面的知识。学习完本篇内容,读者可以从概念上先认识Java,然后进一步了解Java最核心的面向对象思想及最核心的基础开发技术。
第2篇 Java开发进阶(第10~15章)
本篇主要介绍了图形用户界面、XML开发、数据库编程、网络编程及Web编程等相关开发技术。学习完本篇内容,读者可以从Java的实用技术入手,掌握Java在具体应用中的实现,从而实现从理论到实践的飞跃。
第3篇 Java项目案例开发实战(第16~18章)
本篇主要介绍了Java在数据库开发、网络开发及Web开发这3大领域中的具体应用,分别实现了图书管理系统、局域网通信软件及论坛BBS系统这3个项目开发案例。本篇内容属于实战开发,读者可以从这些项目开发案例中领会Java实现有趣的小型系统的思路和具体开发过程。
配书光盘内容
* 本书重点内容的配套教学视频;
* 本书实例涉及的源代码。
本书读者对象
* Java入门人员;
* Java开发人员;
* 想自学编程的人员;
* 大中专院校的学生;
* 做毕业设计和课程设计的学生;
* Java语言爱好者。
本书阅读建议
* 建议没有基础的读者,从前向后顺次阅读,尽量不要跳跃。
* 对于书中的示例和实例,建议读者都要亲自上机动手实践,学习效果更好。
* 课后习题都动手做一做,以检查对本章内容的掌握程度,如果不能顺利完成,建议回过头来重新学习一下本章内容。
* 学习每章内容时,建议读者先仔细阅读书中的讲解,然后再结合本章教学视频,学习效果更佳。
本书作者
本书由刘升华主笔编写。其他参与编写的人员有陈世琼、陈欣、陈智敏、董加强、范礼、郭秋滟、郝红英、蒋春蕾、黎华、刘建准、刘霄、刘亚军、刘仲义、柳刚、罗永峰、马奎林、马味、欧阳昉、蒲军、欧振旭、陈杰、陈冠军、顼宇峰、程彩红、毛红娟、姚 志娟。
阅读本书的过程中,若有任何疑问,可以发邮件到book@wanjuanchina.net bookservice2008@163.com,或者到www.wanjuanchina.net的图书论坛上留言,以获得帮助。
编著者
目 录
第1篇 Java开发基础
第1章 Java概述( 教学视频:37分钟) 2
1.1 Java简介 2
1.1.1 Java发展历史 2
1.1.2 Java分类 2
1.1.3 Java工作原理 3
1.2 Java程序运行环境 5
1.2.1 JDK的下载与安装 5
1.2.2 设置环境变量 6
1.2.3 Java经典开发工具——Eclipse 7
1.3 使用记事本开发Java程序 8
1.3.1 编写程序代码 8
1.3.2 编译运行程序 9
1.4 使用Eclipse开发Java程序 10
1.4.1 编译运行程序 10
1.4.2 分析第一个程序 12
1.4.3 项目架构说明 12
1.5 小结 13
1.6 习题 13
第2章 基本数据类型及运算( 教学视频:52分钟) 14
2.1 标识符与关键字 14
2.1.1 标识符 14
2.1.2 关键字 15
2.2 基本数据类型 15
2.2.1 布尔类型boolean 15
2.2.2 字符型char 16
2.2.3 整型byte/short/int/long 16
2.2.4 浮点型(float/double) 18
2.2.5 数据类型转换 18
2.3 运算符与表达式 21
2.3.1 算术运算符及表达式 21
2.3.2 赋值运算符及表达式 23
2.3.3 关系运算符及表达式 23
2.3.4 逻辑运算符及表达式 24
2.3.5 位运算符及表达式 25
2.3.6 条件运算符及表达式 27
2.3.7 运算符的优先级 28
2.4 数据的表示——变量与常量 29
2.4.1 定义变量 29
2.4.2 变量的范围——作用域 30
2.4.3 定义常量 32
2.5 小结 33
2.6 习题 33
第3章 Java程序流程控制( 教学视频:33分钟) 36
3.1 顺序结构 36
3.2 选择结构 37
3.2.1 如果...就...——if语句 37
3.2.2 多选一——switch语句 41
3.3 循环结构 43
3.3.1 一步步循环for 43
3.3.2 只要...就...——while循环 44
3.3.3 循环中循环——多重循环 47
3.4 跳转语句 47
3.4.1 跳出来——break语句 47
3.4.2 下一个——continue语句 48
3.4.3 返回——return语句 49
3.5 注释语句 49
3.5.1 使用单行注释 49
3.5.2 使用多行注释 50
3.6 小结 50
3.7 习题 50
第4章 类与对象( 教学视频:27分钟) 52
4.1 创建类 52
4.1.1 声明类 52
4.1.2 设定类成员的访问权限 53
4.2 创建类的成员变量 54
4.3 创建类成员方法 54
4.3.1 定义成员方法 55
4.3.2 设定构造方法 56
4.3.3 “特殊”方法main() 57
4.3.4 可变参数的方法 58
4.4 指代当前对象——this 59
4.5 对象 60
4.5.1 创建对象 60
4.5.2 使用对象 60
4.5.3 清除对象 61
4.6 小结 62
4.7 习题 62
第5章 面向对象编程( 教学视频:33分钟) 64
5.1 类的三大特性 64
5.1.1 隐藏细节——封装 64
5.1.2 变相“抄袭”——继承 65
5.1.3 灵活应对——多态 68
5.2 抽象类和接口 68
5.2.1 抽象类 69
5.2.2 接口 70
5.3 类中类——内部类 73
5.3.1 内部类 73
5.3.2 “更隐蔽”的内部类——匿名内部类 74
5.4 类的仓库——包 75
5.4.1 创建包 75
5.4.2 使用包 76
5.5 小结 79
5.6 习题 79
第6章 引用数据类型( 教学视频:53分钟) 81
6.1 相同类型的数据——数组 81
6.1.1 定义数组 81
6.1.2 创建数组 81
6.1.3 使用数组 83
6.1.4 数组的数组——多维数组 83
6.2 多个字符——字符串 84
6.2.1 创建字符串 84
6.2.2 连接字符串 85
6.2.3 比较字符串 86
6.2.4 字符串其他常用操作 87
6.2.5 StringBuffer类 88
6.3 不同类型的数据——集合 88
6.3.1 集合的基础——集合框架 89
6.3.2 访问集合元素 90
6.3.3 有序存放——列表(List) 90
6.3.4 无序不重复——集合(Set) 91
6.3.5 键值对应——映射(Map) 92
6.4 增强for循环 93
6.5 泛型 95
6.5.1 泛型在集合中的应用 95
6.5.2 定义泛型类 96
6.5.3 创建泛型方法 97
6.5.4 使用泛型通配符 97
6.6 常量集合——枚举 99
6.6.1 定义枚举 99
6.6.2 使用枚举 100
6.6.3 枚举带来的变化 101
6.7 自动装箱和拆箱 102
6.7.1 包装类型 102
6.7.2 装箱与拆箱 103
6.8 小结 104
6.9 习题 104
第7章 异常处理( 教学视频:23分钟) 106
7.1 什么是异常 106
7.2 异常的类型 107
7.2.1 运行时异常 107
7.2.2 可控异常 108
7.3 处理异常 108
7.3.1 捕获异常 108
7.3.2 抛出异常 111
7.3.3 自定义异常 113
7.4 小结 114
7.5 习题 114
第8章 线程( 教学视频:32分钟) 116
8.1 什么是线程 116
8.2 使用线程 117
8.2.1 创建线程 117
8.2.2 启动线程 118
8.3 线程的生命周期 120
8.4 线程的调度 121
8.4.1 线程优先级 122
8.4.2 线程休眠sleep() 123
8.4.3 线程让步yield() 124
8.4.4 线程等待join() 125
8.5 线程之间同步 126
8.6 小结 129
8.7 习题 129
第9章 Java的IO操作( 教学视频:56分钟) 131
9.1 什么是输入输出流 131
9.2 读取二进制——字节输入流 132
9.2.1 字节输入流InputStream 132
9.2.2 字节文件输入流FileInputStream 133
9.2.3 输入流过滤器FilterInputStream 135
9.2.4 字节缓冲区输入流BufferedInputStream 135
9.2.5 数据输入流DataInputStream 136
9.3 输出二进制——字节输出流 137
9.3.1 字节输出流OutputStream 138
9.3.2 字节文件输出流FileOutputStream 138
9.3.3 输出流过滤器FilterOutputStream 139
9.3.4 字节缓冲区输出流BufferedOutputStream 140
9.3.5 数据输出流DataOutputStream 141
9.3.6 字节打印流PrintStream 142
9.4 读取文本——字符输入流 143
9.4.1 字符输入流Reader 143
9.4.2 字符文件输入流FileReader 144
9.4.3 字符缓冲区输入流BufferedReader 145
9.5 输出文本——字符输出流 146
9.5.1 字符输出流Writer 146
9.5.2 字符文件输出流FileWriter 147
9.5.3 字符缓冲区输出流BufferedWriter 148
9.5.4 字符打印流PrintWriter 149
9.6 文件操作 150
9.6.1 File类 151
9.6.2 RandomAccessFile类 152
9.7 小结 154
9.8 习题 154
第2篇 Java开发进阶
第10章 图形用户界面( 教学视频:66分钟) 158
10.1 图形界面基础AWT 158
10.2 界面容器 158
10.2.1 框架窗口类Frame 159
10.2.2 区域类Panel 160
10.3 布局管理器 161
10.3.1 默认管理器BorderLayout 161
10.3.2 流布局管理器FlowLayout 163
10.3.3 卡片布局管理器CardLayout 164
10.3.4 网格布局管理器GridLayout 166
10.3.5 高级网格布局管理器GridBagLayout 167
10.4 事件处理 169
10.4.1 什么是事件处理 169
10.4.2 事件监听器 171
10.4.3 事件适配器 173
10.5 AWT基本组件 175
10.5.1 按钮 175
10.5.2 标签 176
10.5.3 单行文本域 177
10.5.4 多行文本域 179
10.5.5 复选框和单选按钮 180
10.5.6 列表 182
10.6 Swing简介 185
10.7 Applet 185
10.7.1 什么是Applet 185
10.7.2 Applet生命周期 186
10.7.3 运行Applet 188
10.8 小结 190
10.9 习题 190
第11章 XML开发( 教学视频:35分钟) 192
11.1 什么是XML 192
11.1.1 XML的优势 192
11.1.2 XML的构成 192
11.2 DOM文档对象模型 194
11.2.1 DOM技术构成 194
11.2.2 在Java中使用DOM 195
11.3 SAX 200
11.3.1 SAX技术构成 200
11.3.2 在Java中使用SAX 201
11.4 JDOM 206
11.4.1 JDOM技术构成 206
11.4.2 使用JDOM 207
11.5 小结 211
11.6 习题 211
第12章 Java常用类( 教学视频:39分钟) 213
12.1 顶级类Object 213
12.2 包装类 214
12.2.1 整型包装类Integer 214
12.2.2 单精度包装类Float 215
12.2.3 双精度包装类Double 217
12.2.4 字符包装类Character 218
12.3 日期相关操作 220
12.3.1 Date类 221
12.3.2 DateFormat类 222
12.3.3 SimpleDateFormat类 223
12.3.4 Calendar类 226
12.3.5 GregorianCalendar类 227
12.4 随机数类Random 230
12.5 小结 232
12.6 习题 232
第13章 Java数据库编程( 教学视频:37分钟) 233
13.1 JDBC简介 233
13.1.1 JDBC的工作机制 233
13.1.2 什么是JDBC API 234
13.1.3 JDBC访问数据库的通用流程 234
13.2 安装JDBC驱动 235
13.2.1 JDBC驱动程序的种类 235
13.2.2 加载JDBC驱动 235
13.3 连接数据库 236
13.3.1 定义数据库连接URL 236
13.3.2 建立数据库连接 237
13.4 访问数据库 238
13.4.1 增加记录 238
13.4.2 删除记录 239
13.4.3 修改记录 240
13.4.4 查询记录 240
13.5 处理结果集 241
13.6 事务处理 243
13.7 小结 244
13.8 习题 244
第14章 Java网络编程( 教学视频:27分钟) 246
14.1 什么是网络编程 246
14.2 InetAddress类 247
14.3 URL编程 248
14.3.1 什么是URL 248
14.3.2 URL类 249
14.3.3 URLConnection类 251
14.4 Socket编程 252
14.4.1 Socket类 252
14.4.2 ServerSocket类 253
14.5 小结 254
14.6 习题 254
第15章 Java Web编程( 教学视频:33分钟) 256
15.1 Servlet技术 256
15.1.1 Servlet概述 256
15.1.2 运行Servlet 257
15.1.3 Servlet生命周期 258
15.1.4 请求和应答 260
15.1.5 Cookie 262
15.1.6 会话 263
15.2 JSP技术 265
15.2.1 JSP概述 265
15.2.2 JSP指令 266
15.2.3 JSP脚本元素 268
15.2.4 JSP动作 269
15.3 小结 271
15.4 习题 271
第3篇 Java项目案例开发实战
第16章 数据库编程实例——图书管理系统( 教学视频:36分钟) 276
16.1 实例概述 276
16.2 系统设计 276
16.2.1 系统总体结构 277
16.2.2 构建开发环境 277
16.2.3 系统工程 278
16.3 数据库设计 278
16.4 公共模块 280
16.4.1 db包 280
16.4.2 util包 283
16.5 登录模块 285
16.6 主界面 286
16.7 基础维护模块 288
16.7.1 图书维护 288
16.7.2 读者维护 292
16.8 借阅管理模块 295
16.8.1 借书 295
16.8.2 还书 297
16.9 查询管理模块 299
16.9.1 图书查询 299
16.9.2 读者查询 301
16.10 系统管理模块 302
16.11 小结 303
第17章 网络编程实例——局域网通信软件( 教学视频:18分钟) 304
17.1 实例概述 304
17.2 系统设计 305
17.2.1 系统总体结构 305
17.2.2 构建开发环境 305
17.2.3 系统工程 305
17.3 公共模块 306
17.4 服务器端程序 306
17.4.1 工作流程 306
17.4.2 源程序 307
17.4.3 程序解释 310
17.5 客户端程序 312
17.5.1 工作流程 313
17.5.2 源程序 313
17.5.3 程序解释 316
17.6 小结 318
第18章 Web编程实例——BBS系统( 教学视频:28分钟) 319
18.1 实例概述 319
18.2 系统设计 320
18.2.1 系统总体结构 320
18.2.2 构建开发环境 320
18.2.3 系统工程 321
18.3 数据库设计 321
18.4 公共模块 322
18.4.1 db包 322
18.4.2 util包 326
18.4.3 filter包 328
18.5 系统登录 330
18.5.1 系统初始化index.jsp 330
18.5.2 系统登录login.jsp 331
18.6 用户注册 332
18.6.1 注册用户register.jsp 332
18.6.2 增加用户addUser.jsp 333
18.7 论坛浏览 334
18.7.1 主题信息提取ForumServlet类 334
18.7.2 主题列表forumList.jsp 336
18.7.3 主题详细内容forumDetail.jsp 337
18.8 主题管理 337
18.8.1 发布新帖 338
18.8.2 回复帖子 340
18.8.3 修改帖子 342
18.8.4 删除帖子 344
18.9 用户管理 345
18.9.1 用户列表userList.jsp 345
18.9.2 删除用户DeleteUserServlet类 346
18.10 小结 347
??
??
??
??
零点起飞学Java
·XIV·
·XIII·