Java程序设计基础与实践
¥59.00定价
作者: 赵凤芝、邢煜等
出版时间:2017年8月
出版社:清华大学出版社
- 清华大学出版社
- 9787302469261
- 1-1
- 63888
- 45189508-0
- 平装
- 16开
- 2017年8月
- 工学
- 软件工程
- TP312JA
- 计算机
- 本科
内容简介
本书从初学者的角度,详细介绍了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
第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