Java 程序设计

-
【作 者】主编 谢先伟 梅青平
【I S B N 】978-7-5170-4546-5
【责任编辑】陈洁
【适用读者群】高职高专
【出版时间】2016-08-20
【开 本】16开
【装帧信息】平装(光膜)
【版 次】第1版第1次印刷
【页 数】452
【千字数】615
【印 张】28.25
【定 价】¥68
【丛 书】高等职业教育“十三五”规划教材(网络工程课程群)
【备注信息】
简介
本书特色
前言
章节列表
精彩阅读
下载资源
相关图书
本书全面介绍了Java语言的发展、Java基础知识、面向对象程序设计、集合、文件与输入输出流、图形图像处理、JDBC数据库技术、多线程、网络编程等内容,在基于工作过程的基础上,打破传统的教程模式,采用任务驱动的方式,在每一个学习情境中设计了一个源自真实或接近真实的工作过程的学习任务。学习任务在相关知识的支撑下,详细介绍了案例分析、解决步骤、能力拓展等相关环节。本书内容丰富、重点突出、简明易懂,采用任务驱动的形式设计,图文并茂,循序渐进,并包含丰富的能力拓展练习内容,具有很强的实用性。
本书可作为高职高专院校和应用型本科院校的计算机及网络相关专业学生学习Java程序设计的教材和参考书。
本书配有电子教案和案例源码,读者可以从中国水利水电出版社网站和万水书苑免费下载,网址为:http://www.waterpub.com.cn/softdown/和http://www.wsbookshow.com。
前 言
与传统程序不同,Sun 公司(2010 年被Oracle 公司收购)在推出 Java 之际就将其作为一种开放的技术,这与微软公司所倡导的注重精英和封闭式的模式完全不同。在最受欢迎的程序设计语言排行榜上,Java 语言已经连续数年位列榜首。“Write once,Run anywhere(一次编写,到处可行)”,这是一种很有效率的编程方式。跨平台、完全面向对象、既适合于单机编程也适合于Internet 编程等特点,给Java 语言注入了强大的生命力。而Java 语言也取得了举世瞩目、全球公认的地位 。
本书从教学实际和市场对Java 人才的需求出发,合理安排知识结构,由浅入深,循序渐进,每个章节都用生动的案例引领,便于提高学生的学习趣味和动手实践能力,旨在拉近高等院校在软件人才培养和软件公司在人才需求上的距离,缩小差距。
1. 本书的特点与优势
(1)由浅入深,结构清晰。本书内容以学生为第一视角,本着由浅入深、循序渐进的原则和先易后难的规律合理安排各个章节,便于学生接收所需知识,符合学习规律和教学规律,学生上手快,老师易教学。
(2)理论联系实际,注重实践能力的提升。本书在教学方法上采用的是案例驱动与综合实训相结合的方式,每个章节是以案例引领,引出知识点,还配有案例和项目,并对知识点进行拓展训练,有一个完整的基于任务的认知过程。最后一章提供了一个综合案例,并配有详细的介绍和步骤演示,便于指导学生实践,提高学生的动手能力。
(3)学以致用,注重能力。以“案例驱动—实用知识点—任务实施—拓展训练”为主线进行编写,注重能力的培养,重视动手能力的培养,达到学以致用的目的。
(4)提供立体化教学资源。本书除了提供教材外,还提供了下载的教学所用的PPT 课件、课程案例代码等资源,方便老师授课和学生学习。
2. 本书内容
绪论:要求了解Java 的诞生和发展历史,掌握JDK 及Eclipse 的安装和部署。
第1 章 Java 编程基础:要求掌握常用的8 种基本数据类型、运算符和表达式、if语句和switch 语句、3 种循环语句、2 个流程跳转语句、一维数组和二维数组。
第2 章类和对象:要求掌握面向对象编程中类的概念和特征,包括类的定义和对象的生成、封装的概念和实现、构造方法的重载、this 关键字、继承的实现、super 关键字、多态。
第3 章抽象类、接口和包:要求掌握抽象类的概念、抽象方法的定义、抽象类与抽象方法的关系、子类继承抽象类并实现抽象方法、接口的概念、子类实现接口、抽象类与接口的联系与区别、包的概念和定义、包的导入、Java 权限修饰符。
第4 章常用类: 要求掌握常用类, 特别是字符串(String、StringBuffer、StringBuilder)类、基本类型封装类、装箱和拆箱、自动装箱和拆箱、数学类Math、日期类(Date、Calendar)的使用。
第5 章集合:要求掌握Java 集合框架、List 接口、泛型、Iterator(迭代器)接口、Set 接口、Map 接口、LinkedHashMap 类、Collections 类、Comparable 与Comparator 接口。
第6 章异常:要求掌握Java 语言异常的概念和类型、异常处理机制、异常的抛出和捕获。
第7 章JDBC:要求掌握JDBC 技术基础知识和标准API、数据库连接、数据库访问和数据的增删改查操作、DAO 模式。
第8 章GUI:要求掌握GUI 容器、GUI 组件、常用布局、常用控件、GUI 事件处理模型、监听机制和常用事件。
第9 章文件和输入输出流:要求掌握Java 文件操作系统、字节流、字符流、转换流等。
第10 章多线程:要求掌握进程和线程的概念、多线程的优缺点、线程的创建方法、线程的状态和常用方法、线程安全问题、线程的同步和死锁、生产者和消费者模型。
第11 章网络编程:要求掌握网络模型、IP 地址和端口、UDP 和TCP 通信协议、基于UDP 的Socket 通信、基于TCP 的Socket 通信、URL、URLConnection 等。
第12 章项目——图书管理系统V1.0:要求掌握GUI 布局、GUI 常用控件、事件处理机制、数据库的创建、表的创建、数据的增删改查等。
3. 读者定位
本书是Java 语言的入门级教材,适合于Java 语言的初学者和零编程经验的读者,如果读者具备C 语言的基础知识更佳。
本书主要面向高等职业技术院校,既可作为大中专院校的Java 程序设计与开发的教材,也可作为读者自学的参考书。
本书的作者团队由经验丰富的一线骨干教师组成,不但教学经验丰富,而且参与了大量的Java 项目开发,实战经验丰富。在长期的Java 教学中,将项目开发的经验融入教学中。
本书由谢先伟、梅青平任主编,杨娟、万青、毛红任副主编。其中,绪论和第3、10、11、12 章由谢先伟编写;第2、4、5、9 章由梅青平、万青编写;第1、6、7、8章由万青、杨娟编写,由谢先伟进行统一审稿。另外,参与本书部分编写工作的还有:邵亮、唐林、唐丽均、李崇、刘宇、任亮、李新、周桐、李青野、孙小恒、邱雷等。
此外在编写过程中重庆工程职业技术学院吴再生副校长、重庆工程职业技术学院信息工程学院院长杨智勇和书记李建华给予了大力支持和关心。本书在编写过程中还参考了“传智播客”讲师毕向东老师的讲课案例,在此谨表示感谢。
由于编者水平有限,书中若有不当之处,敬请读者指正。
编者
2016 年4 月
【主要内容】 .................................................. 001
【学习目标】 .................................................. 001
*.1 认识Java 语言...................... 002
* .1.1 项目(1) 描述 ........................... 002
* .1.2 项目知识准备 .......................... 002
* .1.3 项目实施 ................................. 012
* .1.4 能力拓展 ................................. 015
*.2 Eclipse 下Java 程序开发....... 017
* .2.1 项目(2) 描述 .......................... 017
* .2.2 项目知识准备 .......................... 017
* .2.3 项目实施 ................................. 023
* .2.4 能力拓展 ................................. 026
第1 章 Java 基础编程
【主要内容】 .................................................. 027
【学习目标】 .................................................. 027
1.1 变量、运算符和表达式............ 028
1.1.1 项目(1-1) 描述 .......................... 028
1.1.2 项目知识准备 ............................ 028
1.1.3 项目实施 ................................... 038
1.1.4 能力拓展 ................................... 039
1.2 分支流程............................... 039
1.2.1 项目(1-2) 描述 .......................... 039
1.2.2 项目知识准备 ............................ 040
1.2.3 项目实施 ................................... 044
1.2.4 能力拓展 ................................... 046
1.3 循环流程............................... 046
1.3.1 项目(1-3) 描述 .......................... 046
1.3.2 项目知识准备 ............................ 046
1.3.3 项目实施 ................................... 053
1.3.4 能力拓展 ................................... 054
1.4 数组...................................... 054
1.4.1 项目(1-4) 描述 .......................... 054
1.4.2 项目知识准备 ............................ 054
1.4.3 项目实施 ................................... 056
1.4.4 能力拓展 ................................... 058
第2 章 类和对象
【主要内容】 .................................................. 059
【学习目标】 .................................................. 059
2.1 类和对象............................... 060
2.1.1 项目(2-1) 描述 .......................... 060
2.1.2 项目知识准备 ............................ 060
2.1.3 项目实施 ................................... 064
2.1.4 能力拓展 ................................... 065
2.2 封装、继承和多态................... 066
2.2.1 项目(2-2) 描述 .......................... 066
2.2.2 项目知识准备 ............................ 066
2.2.3 项目实施 ................................... 077
2.2.4 能力拓展 ................................... 079
第3 章 抽象类、接口和包
【主要内容】 .................................................. 081
【学习目标】 .................................................. 081
3.1 抽象类................................... 082
3.1.1 项目(3-1) 描述 .......................... 082
3.1.2 项目知识准备 ............................ 082
3.1.3 项目实施 ................................... 085
3.1.4 能力拓展 ................................... 087
3.2 接口...................................... 087
3.2.1 项目(3-2) 描述 .......................... 087
3.2.2 项目知识准备 ............................ 087
3.2.3 项目实施 ................................... 096
3.2.4 能力拓展 ................................... 098
3.3 包......................................... 100
3.3.1 项目(3-3) 描述 .......................... 100
3.3.2 项目知识准备 ............................ 100
3.3.3 项目实施 ................................... 104
3.3.4 能力拓展 ................................... 106
第4 章 常用类
【主要内容】 .................................................. 107
【学习目标】 .................................................. 107
4.1 字符串类............................... 108
4.1.1 项目(4-1) 描述 .......................... 108
4.1.2 项目知识准备 ............................ 108
4.1.3 项目实施 ................................... 112
4.1.4 能力拓展 ................................... 114
4.2 Math 类................................ 115
4.2.1 项目(4-2) 描述 .......................... 115
4.2.2 项目知识准备 ............................ 115
4.2.3 项目实施 ................................... 116
4.2.4 能力拓展 ................................... 118
4.3 数据类型转换......................... 119
4.3.1 项目(4-3) 描述 .......................... 119
4.3.2 项目知识准备 ............................ 119
4.3.3 项目实施 ................................... 124
4.3.4 能力拓展 ................................... 126
第5 章 集合
【主要内容】 .................................................. 128
【学习目标】 .................................................. 128
5.1 List 接口................................ 129
5.1.1 项目(5-1) 描述 .......................... 129
5.1.2 项目知识准备 ............................ 129
5.1.3 项目实施 ................................... 139
5.1.4 能力拓展 ................................... 141
5.2 Set 和Map 接口................... 142
5.2.1 项目(5-2) 描述 .......................... 142
5.2.2 项目知识准备 ............................ 142
5.2.3 项目实施 ................................... 146
5.2.4 能力拓展 ................................... 148
第6 章 异常
【主要内容】 .................................................. 150
【学习目标】 .................................................. 150
6.1 异常概述............................... 151
6.1.1 项目(6-1) 描述 .......................... 151
6.1.2 项目知识准备 ............................ 151
6.1.3 项目实施 ................................... 153
6.1.4 能力拓展 ................................... 154
6.2 异常处理............................... 155
6.2.1 项目(6-2) 描述 .......................... 155
6.2.2 项目知识准备 ............................ 155
6.2.3 项目实施 ................................... 161
6.2.4 能力拓展 ................................... 161
第7 章 JDBC
【主要内容】 .................................................. 162
【学习目标】 .................................................. 162
7.1 JDBC 连接............................ 163
7.1.1 项目(7-1) 描述 .......................... 163
7.1.2 项目知识准备 ............................ 163
7.1.3 项目实施 ................................... 166
7.1.4 能力拓展 ................................... 167
7.2 数据库的增删改查................... 167
7.2.1 项目(7-2) 描述 .......................... 167
7.2.2 项目知识准备 ............................ 168
7.2.3 项目实施 ................................... 170
7.2.4 能力拓展 ................................... 173
7.3 数据库操作的分层处理 ........... 173
7.3.1 项目(7-3) 描述 .......................... 173
7.3.2 项目知识准备 ............................ 173
7.3.3 项目实施 ................................... 180
7.3.4 能力拓展 ................................... 181
第8 章 GUI
【主要内容】 .................................................. 182
【学习目标】 .................................................. 182
8.1 组件...................................... 183
8.1.1 项目(8-1) 描述 .......................... 183
8.1.2 项目知识准备 ............................ 183
8.1.3 项目实施 ................................... 202
8.1.4 能力拓展 ................................... 204
8.2 布局管理器............................ 205
8.2.1 项目(8-2) 描述 .......................... 205
8.2.2 项目知识准备 ............................ 205
8.2.3 项目实施 ................................... 211
8.2.4 能力拓展 ................................... 213
8.3 事件处理............................... 214
8.3.1 项目(8-3) 描述 .......................... 214
8.3.2 项目知识准备 ............................ 214
8.3.3 项目实施 ................................... 224
8.3.4 能力拓展 ................................ 227
第9 章 文件和输入输出流
【主要内容】 .................................................. 229
【学习目标】 .................................................. 229
9.1 文件..................................... 230
9.1.1 项目(9-1) 描述 .......................... 230
9.1.2 项目知识准备 ............................ 230
9.1.3 项目实施 ................................... 233
9.1.4 能力拓展 ................................... 235
9.2 字节流................................... 235
9.2.1 项目(9-2) 描述 .......................... 235
9.2.2 项目知识准备 ............................ 235
9.2.3 项目实施 ................................... 238
9.2.4 能力拓展 ................................... 239
9.3 字符流................................... 240
9.3.1 项目(9-3) 描述 .......................... 240
9.3.2 项目知识准备 ............................ 240
9.3.3 项目实施 ................................... 245
9.3.4 能力拓展 ................................... 246
第10 章 多线程
【主要内容】 .................................................. 248
【学习目标】 .................................................. 248
10.1 进程与线程.......................... 249
10.2 线程的实现.......................... 250
10.2.1 项目(10-1) 描述 ...................... 250
10.2.2 项目知识准备 .......................... 250
10.2.3 项目实施 ................................. 260
10.2.4 能力拓展 ................................. 262
10.3 线程的状态与线程常用方法.... 263
10.3.1 项目(10-2) 描述 ...................... 263
10.3.2 项目知识准备 .......................... 263
10.3.3 项目实施 ................................. 277
10.3.4 能力拓展 ................................. 279
10.4 同步与死锁.......................... 280
10.4.1 项目(10-3) 描述 ...................... 280
10.4.2 项目知识准备 .......................... 280
10.4.3 项目实施 ................................. 286
10.4.4 能力拓展 ................................. 289
10.5 生产者与消费者模型............. 290
10.5.1 项目(10-4) 描述 ...................... 290
10.5.2 项目知识准备 .......................... 290
10.5.3 项目实施 ................................. 298
10.5.4 能力拓展 ................................. 302
第11 章 网络编程
【主要内容】 .................................................. 303
【学习目标】 .................................................. 303
11.1 网络编程的基本概念............. 304
11.1.1 项目(11-1) 描述 ...................... 304
11.1.2 项目知识准备 .......................... 304
11.1.3 项目实施 .................................. 308
11.1.4 能力拓展 .................................. 309
11.2 UDP 程序设计..................... 310
11.2.1 项目(11-2) 描述 ...................... 310
11.2.2 项目知识准备 .......................... 310
11.2.3 项目实施 .................................. 318
11.2.4 能力拓展 .................................. 321
11.3 TCP 程序设计...................... 321
11.3.1 项目(11-3) 描述 ...................... 321
11.3.2 项目知识准备 .......................... 321
11.3.3 项目实施 .................................. 333
11.3.4 能力拓展 .................................. 336
11.4 URL 与URLConnection...... 337
11.4.1 项目(11-4) 描述 ...................... 337
11.4.2 项目知识准备 .......................... 337
11.4.3 项目实施 .................................. 340
11.4.4 能力拓展 .................................. 342
第12 章 项目——图书管理系统V1.0
【主要内容】 .................................................. 343
【学习目标】 .................................................. 343
12.1 项目概述............................. 344
12.2 系统设计.............................. 345
12.2.1 总体结构设计 .......................... 345
12.2.2 构建开发环境 .......................... 346
12.2.3 项目工程目录 .......................... 346
12.3 项目实现............................. 346
12.3.1 项目目录搭建及导包 ............... 347
12.3.2 数据库的设计与创建 ............... 348
12.3.3 公共模块设计 .......................... 351
12.3.4 登录模块的实现....................... 364
12.3.5 主界面模块的实现 ................... 369
12.3.6 基础数据维护模块的实现 ........ 377
12.3.7 借阅管理模块的实现 ............... 411
12.3.8 查询管理模块的实现 ............... 426
12.3.9 系统维护模块的实现 ............... 433
12.3.10 小结....................................... 438
附录A 常用字符与ASCII 代码对照表.... 439
附录B Java 语言中的关键字........ 440
附录C 运算符和结合性................ 440
附录D 类Component 的常用方法....442
附录E Eclipse 的常用快捷键........ 443
参考文献
- Java面向对象程序设计 [主编 姜春磊 陈虹洁]
- C语言程序设计实验指导与实训(第二版) [主编 倪燃]
- Python程序设计及实践教程 [肖朝晖]
- C语言程序设计 [魏琴 刘祖珉 赵仕波 肖阳春]
- C语言程序设计实验教程 [张小刚 司春景]
- 电气控制与PLC程序设计(第二版) [胡冠山]
- Java Web项目化设计实践教程 [邱云 曾陈萍]
- C语言程序设计(第三版) [主编 丁红 王立新 蔡开立]
- Python数据分析 [主编 冯志辉 赵磊 李放]
- Python程序设计与应用(第二版) [主编 张广渊]
- C程序设计实践教程 [刘卫国]
- C程序设计(慕课版) [刘卫国]
- 程序设计基础实践教程(C/C++语言版) [张桂芬 葛丽娜]
- C++案例项目精讲 [主编 杨国兴]
- SwiftUI完全开发 [李智威 著]
- MySQL数据库项目式教程 [陈亚峰]
- C语言程序设计习题与实验指导(第二版) [主编 甄增荣 张宾]
- C语言程序设计(第二版) [主编 甄增荣 田云霞]
- Unity3D虚拟现实应用开发实践 [主 编 刘龙]
- Python程序设计 [主编 姜春磊 陈虹洁]
- C语言程序设计实践教程(活页式) [主编 郑茵 陈巍 滕泓虬]
- 面向对象程序设计 [主编 张勇 张平华 赵小龙]
- Python程序设计基础及实战 [主编 刘健]
- C语言程序设计 [姜雪]
- Python程序设计实践教程 [王鹤琴 蔡正保]
- C++程序设计实践教程(第三版) [主编 刘卫国 曹岳辉]
- C++程序设计(第三版) [主编 曹岳辉 刘卫国]
- C语言程序设计项目化教程(活页式) [主编 张利华 潘晓利]
- 机器人流程自动化(RPA)实战——基于UiPath [主编 金鑫]
- Python 语言程序设计实践指导 [主编 张双狮]