
作者:赵凤芝等编著
页数:405
出版社:清华大学出版社
出版日期:2017
ISBN:9787302469261
电子书格式:pdf/epub/txt
内容简介
本书是学习Java语言的入门教材。本书应用“项目驱动式”最教学模式,教学内容设计上是以一个典型项目为核心,通过将项目的几个模块分解成不同的学习阶段和不同的章节中,内容循序渐进、深入浅出,结构安排合理,通过精心设计的每一个示例,使学生能够直接感受到并很快理解Java教学知识点。全书共分成12章,分别介绍了面向对象程序设计的基本概念、Java语言基础、Java类和对象、Java面向对象高级特性、实用类及接口、异常处理、图形用户界面、输入输出、多线程编程、Java网络编程、JDBC技术以及Java经典案例分析及应用等。本书内容实用,结构清晰,实例丰富,可操作性强,适合作为普通高等学校计算机专业“Java程序设计”课程的教材,也可作为相关专业的培训和自学教材。本书特点如下:(1)在教学观念上,重视学生在教学活动中的主体地位,充分调动学生学习的积极性、主动性和创造性,采用“以学生为主体,以教师为主导,以能力为主线”的教学模式。 (2)在教学方法上,摒弃灌输式教育,实行启发式学习。首先,在制定教学方案时,多渠道地激发学生兴趣和动力;其次,再制定具体的课程实施方案,教材制定内容上包括理论课的讲授、配套实验课的任务以及课后延伸自学三个方面。理论课的讲授主要使用“以问题为中心”的启发式、参与式、比喻式等教学方法,并引导学生积极动脑思考,活跃课堂气氛,实现教与学互动;实验课主要采用“项目教学法”,首先提出项目任务,通过引导学生完成任务,达到使学生掌握第一知识和拓展知识的目的,另外,除课堂教学外,还通过布置课外作业,鼓励学生参加等级考试、组织信息技能大赛等活动,将课程的学习从课内延伸到课外,达到提高学生信息素养的目的。 (3)采用现代化教学手段,提高教学效率和质量。教材配合课上教学内容、方法及实践,制作了一整套电子教案和完善的题库及答案,我们积极采用现代化教学手段,充分利用了多媒体教室、计算机实验室、校园计算机网络等现代教学资源,注意声、文、图、动有机结合,将抽象内容形象化、深奥内容通俗化。(4)及时跟进程序语言发展进度,更新Java语法新增功能。在牢固把握Java基础知识的前提下,还增加了Java 5版本以来引入的一些最的知识点,包括不定长参数、静态导入、Autoboxing和Unboxing、枚举类型、泛型、Annotation等内容。
作者简介
作者简介:赵凤芝,教授,一直工作于高等学校计算机教学和科研一线,求真务实,先后主持、参加了国家“重大科技”、“863”、“十一五规划”等科研项目20余项。其中国家级课题7项,省部级课题10项,局级项目多项,是国家“十一五规划”子课题负责人。获省教委“科技进步一等奖”1项,三等奖2项,部级“科技进步三等奖”1项,局级奖多项。省优秀教学成果奖获得者。近年发表学术论文30余篇,出版著作6部。荣获市“优秀教师”等荣誉称号,曾荣获“优秀教学质量一等奖”,优秀教学成果奖 。校级重点课程建设课程负责人。目前为中国计算机学会高级会员,东北石油大学秦皇岛分校计算机科学系系主任,黑龙江省高职高专计算机类教学指导委员会副主任,省计算机等级考试命题组专家, IT项目评审组专家。
本书特色
本书从初学者的角度,详细介绍了Java程序设计的重要技术。通过大量的实例和真实项目的讲解,能使读者快速掌握利用Java进行面向对象程序设计的方法和技术。本书基于CDIO的理念,应用“案例 项目驱动”的学习模式,力争做到通俗易懂、学以致用。全书共13章,分别为进入Java世界、Java程序设计基础、Java中数组的应用、面向对象程序设计基础——类与对象、面向对象程序设计高级特性、Java实用类与接口、Java异常处理、Java GUI(图形用户界面)设计、Java IO(输入输出)流、多线程编程、Java网络编程、数据库程序设计和项目开发实战。
本书集作者多年的教学和科研经验编写而成,突出应用能力的培养,注重理论与实践相结合,由浅入深,讲解详尽,实例丰富,最后给出了一个真实项目案例的开发框架及实现方法,是一本实用性突出的教材。本书适合作为高等学校程序设计语言课程的教材,也可作为从事软件开发及相关领域的工程技术人员的自学参考书。
目录
第1章进入Java世界11.1初识Java1
1.1.1Java语言的诞生与发展1
1.1.2Java语言的特点2
1.1.3Java应用开发体系4
1.2面向对象与程序设计语言5
1.3学习Java技术可以做什么6
1.4Java核心技术体系7
1.4.1Java核心技术基础部分7
1.4.2Java核心技术应用部分8
1.5Java的开发环境11
1.5.1什么是JDK11
1.5.2下载JDK12
1.5.3完成安装JDK13
1.5.4系统环境配置15
1.5.5测试JDK配置是否成功17
1.5.6开发工具Eclipse简介17
1.6简单的Java程序24
本章总结29
习题30
第2章Java程序设计基础312.1Java的基本语法31
2.1.1Java的标识符与关键字31
2.1.2Java中的注释34
2.1.3Java中的常量和变量37
2.1.4Java的数据类型38Java程序设计基础与实践目录2.2Java的运算符与表达式48
2.2.1算术运算符和算术表达式48
2.2.2赋值运算符和赋值表达式52
2.2.3关系运算符和关系表达式53
2.2.4逻辑运算符和逻辑表达式55
2.2.5位运算符56
2.2.6条件运算符和条件表达式59
2.2.7表达式中运算符的优先次序60
2.3Java流程控制61
2.3.1顺序流程61
2.3.2分支流程61
2.3.3循环控制流程70
2.4项目案例78
2.4.1学习目标78
2.4.2案例描述78
2.4.3案例要点78
2.4.4案例实施78
2.4.5特别提示82
本章总结82
习题82
第3章Java中数组的应用853.1什么是数组85
3.2一维数组85
3.3一维数组的应用88
3.4二维数组与多维数组92
3.5二维数组的应用95
3.6项目案例98
3.6.1学习目标98
3.6.2案例描述99
3.6.3案例要点99
3.6.4案例实施99
3.6.5特别提示102
3.6.6拓展与提高102
本章总结102
习题102
第4章面向对象程序设计基础——类和对象1044.1面向对象的基本概念104
4.1.1面向对象程序设计思想104
4.1.2面向对象程序设计方法特点105
4.2对象与类105
4.2.1日常生活中看对象与类的关系105
4.2.2成员106
4.3面向对象的4个基本特征107
4.3.1继承性107
4.3.2抽象性107
4.3.3封装性107
4.3.4多态性108
4.4Java实现面向对象程序设计108
4.4.1类的定义与对象的创建108
4.4.2命名的规则109
4.5类的成员——变量110
4.5.1变量属性的修饰符110
4.5.2变量的初始化112
4.5.3对成员变量的访问113
4.6类的成员——方法115
4.6.1方法定义115
4.6.2方法的调用及参数传递116
4.6.3Java新特性——可变参数(Varargs)117
4.6.4构造方法118
4.6.5方法的重载120
4.7对象资源的回收122
4.7.1垃圾对象122
4.7.2finalize()方法123
4.8项目案例124
4.8.1学习目标124
4.8.2案例描述124
4.8.3案例要点124
4.8.4案例实施125
4.8.5特别提示130
4.8.6拓展与提高130
本章总结131
习题132
第5章面向对象程序设计高级特性1345.1继承和多态134
5.1.1继承的概念134
5.1.2继承的实现135
5.1.3成员变量隐藏137
5.1.4方法覆盖138
5.1.5继承中的构造方法调用139
5.1.6多态性142
5.2抽象方法与抽象类144
5.2.1抽象方法144
5.2.2抽象类144
5.2.3扩展抽象类145
5.3接口146
5.3.1接口的定义146
5.3.2接口的实现146
5.3.3引用类型的转换147
5.4包148
5.4.1包及其使用149
5.4.2访问控制150
5.5内部类151
5.5.1认识内部类151
5.5.2成员式内部类——对象成员内部类152
5.5.3成员式内部类——静态内部类154
5.5.4局部内部类156
5.5.5匿名内部类157
5.6项目案例158
5.6.1学习目标158
5.6.2案例描述159
5.6.3案例要点159
5.6.4案例实施159
5.6.5特别提示163
5.6.6拓展与提升163
本章总结163
习题164第6章Java实用类与接口1686.1Object类168
6.2字符串处理171
6.2.1String类171
6.2.2StringBuilder178
6.2.3StringTokenizer(字符串标记)184
6.3基本类型的封装类186
6.4System与Runtime类187
6.4.1System类187
6.4.2Runtime类188
6.5集合框架189
6.5.1Collection接口190
6.5.2Set接口191
6.5.3List接口193
6.5.4Iterator接口195
6.5.5Map接口197
6.6泛型199
6.7时间及日期处理203
6.7.1Date类203
6.7.2Calendar类205
6.7.3DateFormat类207
6.7.4SimpleDateFormat类208
6.8算术实用类210
6.8.1Math类210
6.8.2Random类211
6.9枚举213
6.10Annotation217
6.11Lamda表达式218
6.12项目案例220
6.12.1学习目标220
6.12.2案例描述220
6.12.3案例要点220
6.12.4案例实施220
6.12.5特别提示226
6.12.6拓展与提高226
本章总结226
习题227
第7章Java异常处理2297.1异常处理概述229
7.1.1程序中错误230
7.1.2异常定义230
7.2异常分类231
7.3异常处理233
7.3.1如何处理异常233
7.3.2处理异常的基本语句233
7.4自定义异常239
7.5项目案例240
7.5.1学习目标240
7.5.2案例描述240
7.5.3案例要点240
7.5.4案例实施240
7.5.5特别提示241
7.5.6拓展与提高241
本章总结243
习题243
第8章Java GUI(图形用户界面)设计2468.1GUI程序概述246
8.1.1AWT简介246
8.1.2Swing简介247
8.2容器与布局248
8.2.1容器248
8.2.2布局管理249
8.3常用组件258
8.3.1AWT组件258
8.3.2Swing组件264
8.4事件处理272
8.4.1事件处理的概念272
8.4.2监听器和适配器273
8.4.3事件处理的编程方法283
8.5项目案例283
8.5.1学习目标283
8.5.2案例描述283
8.5.3案例要点283
8.5.4案例实施283
8.5.5特别提示286
8.5.6拓展与提高286
本章总结286
习题287
第9章Java IO(输入输出)流2889.1输入输出流的概述288
9.1.1流的概念288
9.1.2字节流289
9.1.3字符流290
9.2java.io包层次结构291
9.3常用输入输出类295
9.3.1常用输入类295
9.3.2常用输出类297
9.3.3转换流302
9.4文件和目录的操作303
9.5对象流和对象序列化309
9.5.1序列化概述309
9.5.2序列化实现机制309
9.6项目案例311
9.6.1学习目标311
9.6.2案例描述312
9.6.3案例要点312
9.6.4案例实施312
9.6.5特别提示315
9.6.6拓展与提高315
本章总结316
习题316
第10章多线程编程31710.1线程概念317
10.2线程的创建及启动318
10.3线程状态及转化323
10.4线程优先级及调度策略328
10.5线程同步与互斥329
10.5.1基本概念329
10.5.2线程同步331
10.6项目案例335
10.6.1学习目标335
10.6.2案例描述336
10.6.3案例要点336
10.6.4案例实施336
10.6.5特别提示339
10.6.6拓展与提高339
本章总结340
习题340
第11章Java网络编程34111.1网络编程概述341
11.2理解TCP/IP及UDP/IP协议343
11.3使用Socket开发TCP/IP程序343
11.4使用Socket开发UDP/IP程序350
11.5项目案例353
11.5.1学习目标353
11.5.2案例描述353
11.5.3案例要点353
11.5.4案例实施354
11.5.5特别提示362
11.5.6拓展与提高362
本章总结362
习题362
第12章数据库程序设计36312.1关系数据库简介363
12.2JDBC简介364
12.3准备数据库环境364
12.4JDBC开发流程366
12.5项目案例370
12.5.1学习目标370
12.5.2案例描述370
12.5.3案例要点370
12.5.4案例实施370
12.5.5特别提示372
12.5.6拓展与提高372
本章总结372
习题372
第13章项目开发实战37313.1问题描述373
13.2需求分析373
13.3概要设计374
13.3.1数据库设计374
13.3.2接口设计375
13.4代码实现375
13.4.1PersonVO类的实现376
13.4.2DBConnection类的实现377
13.4.3IPersonDAO接口的实现378
13.4.4PersonDAOImpl类的实现379
13.4.5PersonDAOProxy类的实现383
13.4.6DAOFactory类的实现385
13.4.7MainMenu类的实现386
13.4.8InputHandler类的实现387
13.4.9PersonAction类的实现388
13.4.10StartApp类的实现391
本章总结392
习题392
附录Java编程规范393
参考文献405















