图书简介:
第1单元 Java基础语法
第1章 绪论 3
1.1 Java概述 3
1.1.1 Java的起源和发展 3
1.1.2 Java语言特点 4
1.1.3 Java运行机制 5
1.2 面向对象思想 6
1.3 综合项目概述 6
本章小结 7
习题 7
第2章 结构化基础语法 8
2.1 Java程序组成 8
2.1.1 注释 9
2.1.2 程序入口点 10
2.1.3 程序组织 10
2.1.4 程序错误 11
2.1.5 代码规范 12
2.1.6 使用IDE 12
2.2 数据类型和变量 14
2.2.1 基本类型和引用类型 14
2.2.2 基本类型 14
2.2.3 变量 16
2.2.4 类型转换 17
2.3 表达式和语句 18
2.3.1 算术运算 18
2.3.2 关系运算 19
2.3.3 条件运算 20
2.3.4 赋值运算 21
2.3.5 运算符优先级 21
2.3.6 位运算 22
2.3.7 其他运算 23
本章小结 24
习题 24
第3章 字符串和数组 25
3.1 字符串 25
3.1.1 字符串的创建 25
3.1.2 格式化字符串 26
3.1.3 字符串和基本类型转换 26
3.1.4 字符串常用方法 27
3.2 数组 28
3.2.1 数组的定义 28
3.2.2 数组元素的访问 29
3.2.3 多维数组 29
本章小结 29
习题 29
第4章 程序控制结构 31
4.1 分支结构 31
4.1.1 if-else分支 31
4.1.2 switch分支 34
4.2 循环结构 35
4.2.1 while循环 36
4.2.2 do-while循环 37
4.2.3 for循环 37
4.3 跳转语句 39
4.3.1 break语句 39
4.3.2 continue语句 40
4.4 递归调用 41
4.5 综合应用 42
4.5.1 二分查找算法 42
4.5.2 九宫算术 43
4.5.3 Excel地址转换 45
4.5.4 约瑟夫环 46
4.6 单元项目 48
4.6.1 项目概述 48
4.6.2 设计与实现 48
本章小结 50
习题 51
第2单元 Java面向对象
第5章 面向对象思想及原则 55
5.1 面向对象思想特征 55
5.2 面向对象思想原则 57
5.3 OOP引例 58
本章小结 61
习题 62
第6章 类定义语法 63
6.1 成员访问控制 63
6.2 数据相关成员 64
6.2.1 成员变量 64
6.2.2 构造方法 64
6.2.3 get/set访问器 65
6.3 方法定义 66
6.3.1 方法构成 66
6.3.2 方法重载 69
6.3.3 可变参数 70
6.4 类成员 71
6.4.1 类和对象 71
6.4.2 类成员定义 72
本章小结 74
习题 74
第7章 面向对象高级概念 76
7.1 继承和多态 76
7.1.1 继承 76
7.1.2 对象的类型转换 78
7.1.3 多态 79
7.1.4 Object类 82
7.2 抽象类和接口 89
7.2.1 抽象类 89
7.2.2 接口 90
7.2.3 抽象类和接口的区别 92
7.3 内部类 94
7.3.1 顶层类成员 94
7.3.2 局部内部类 96
7.3.3 内部类与多重继承 97
7.4 枚举类型 98
7.4.1 枚举的定义 98
7.4.2 枚举的实现原理 98
7.4.3 枚举的使用 100
7.5 泛型编程 102
7.5.1 泛型类型 102
7.5.2 类型擦除 104
7.5.3 类型限制 105
7.5.4 泛型方法 107
7.6 类的组织:包 108
7.6.1 包的概念与意义 108
7.6.2 包的定义与使用 108
7.6.3 静态导入 109
7.7 单元项目 109
7.7.1 项目概述 109
7.7.2 设计与实现 110
本章小结 117
习题 117
第3单元 GUI编程
第8章 Java Swing技术 121
8.1 Swing技术简介 121
8.1.1 Swing概述 121
8.1.2 GUI程序的创建 122
8.1.3 窗口坐标体系 124
8.1.4 界面风格 124
8.1.5 模式窗口与非模式窗口 125
8.2 常用容器 126
8.2.1 顶层容器 126
8.2.2 中间容器 129
8.3 常用布局 131
8.3.1 BorderLayout边界布局 131
8.3.2 FlowLayout流式布局 133
8.3.3 CardLayout卡片布局 134
8.3.4 GridLayout网格布局 134
8.3.5 BoxLayout箱式布局 135
8.3.6 GridBagLayout非规则网格布局 137
8.3.7 绝对布局 140
8.4 事件监听和处理 142
8.4.1 事件处理机制 142
8.4.2 键盘事件处理 144
8.4.3 鼠标事件处理 147
8.4.4 窗口事件处理 151
8.5 常用UI元素 153
8.5.1 辅助元素 154
8.5.2 常用组件 156
8.5.3 通用对话框 161
8.5.4 菜单栏 167
8.5.5 系统托盘 169
8.6 自动化任务 171
8.6.1 模拟鼠标键盘 171
8.6.2 屏幕截图 174
本章小结 176
习题 177
第9章 Java绘图技术 178
9.1 界面绘图机制 178
9.1.1 绘制过程 178
9.1.2 双缓冲技术 179
9.1.3 绘图与动画 179
9.2 Graphics的使用 181
9.2.1 几何图形绘制和填充 181
9.2.2 字符串绘制 185
9.2.3 图片绘制 191
9.3 单元项目 194
9.3.1 GUI计算器 194
9.3.2 简易绘图软件 198
本章小结 208
习题 208
第4单元 Java常用技术
第10章 字符串与正则表达式 213
10.1 再论字符串 213
10.1.1 字符串的不变性 213
10.1.2 StringBuilder类 215
10.1.3 字符串其他常用操作 217
10.2 正则表达式 219
10.2.1 正则符号 219
10.2.2 正则验证与匹配 221
10.2.3 支持正则的字符串方法 225
本章小结 227
习题 227
第11章 Java集合框架 229
11.1 集合框架概述 229
11.2 常用集合类 231
11.2.1 ArrayList类 231
11.2.2 LinkedList类 233
11.2.3 HashMap类 236
11.2.4 HashSet类 240
11.3 集合工具类 240
11.3.1 Arrays类 240
11.3.2 Collections类 242
本章小结 242
习题 242
第12章 文件与I/O流 244
12.1 文件 244
12.1.1 创建文件对象 245
12.1.2 操作文件对象 245
12.2 I/O流概述 247
12.2.1 流的概念与分类 247
12.2.2 流的套接 247
12.3 字符流读/写 248
12.3.1 字符阅读流 248
12.3.2 字符书写流 249
12.4 字节流读/写 250
12.4.1 字节输入流 250
12.4.2 字节输出流 252
12.4.3 标准输入/输出 257
12.5 对象序列化 258
12.5.1 序列化技术概述 258
12.5.2 序列化与反序列化 258
12.5.3 序列化的限制 261
12.6 单元项目 262
12.6.1 项目概述 262
12.6.2 设计与实现 263
本章小结 267
习题 267
第13章 数据库访问技术JDBC 269
13.1 JDBC基本概念 269
13.2 JDBC驱动程序类型 270
13.3 搭建数据库环境 271
13.3.1 安装MySQL数据库 271
13.3.2 建立数据表 271
13.3.3 配置JDBC驱动 271
13.3.4 接口Driver和类
DriverManager 272
13.3.5 编写驱动测试程序 273
13.4 数据库访问 274
13.4.1 注册数据库驱动 274
13.4.2 创建连接对象 274
13.4.3 创建SQL对象 275
13.4.4 执行SQL语句 275
13.4.5 访问结果集对象 276
13.5 数据库操作 277
13.5.1 在Swing窗口中显示结果集 278
13.5.2 元数据 280
13.5.3 PreparedStatement对象 281
13.6 事务处理 282
13.6.1 事务 282
13.6.2 保存点 284
本章小结 285
习题 285
第5单元 课程项目实践
第14章 课程项目—贪吃蛇游戏 289
14.1 项目功能描述 289
14.2 项目设计与实现 289
14.2.1 搭建游戏框架 289
14.2.2 GameImage类实现 290
14.2.3 DigitImage类实现 292
14.2.4 GameConfig类实现 292
14.2.5 Node类实现 294
14.2.6 Snake类实现 295
14.2.7 事件机制模拟 297
14.2.8 GameServer类实现 298
14.2.9 PanelInfo类实现 299
14.2.10 PanelGame类实现 301
14.2.11 国际化与本地化 301
14.2.12 MenuGame类实现 302
14.2.13 FrameGame类实现 304
14.2.14 PlayerController类实现 305
14.2.15 GameController类实现 305
14.2.16 GameEntry类实现 307
14.3 课程项目总结 308
附录A 《劝学篇》 309
附录B 编码规范 311
附录C JDK版本特性 314
展开
本 书 特 点
1. 基于TOPCARES-CDIO工程化教育理念
本书基于TOPCARES-CDIO工程化教育理念,以项目教学贯穿全书,设计了课程项目—贪吃蛇游戏,每个单元设计了相应单元项目,如OO计算器、简易绘图软件等,并设计了大量案例来讲解知识点。全书大小案例100多个,案例代码近万行。
2. 结构清晰,讲解到位
本书根据项目特点划分为5个单元,逻辑清晰,结构合理;本书为每个知识点精心设计了相应案例,并结合代码详细介绍知识点,非常适合初学者上手。
3. 教学资源丰富
为了便于教学和学生学习,本书为教师配备了PPT课件和本书所有实例源码,可以大大节约教师时间,提高授课质量;为学生配备了相应习题和配套资源包,方便学生模仿练习,培养程序思维。
本书历时一年终于完稿,参与本书编写的人员情况如下:第1、9章由于倩倩编写,第2~4章由曹晶垚编写,第5、6、11章由黄婧编写,第7章由马俊编写,第8章由杨露编写,第12、13章由鞠磊编写,第10、14章由贺敏编写。全书由贺敏进行统编和校稿,并完成全书项目及案例代码。本书配套资源包框架由黄波老师提供,由学生邓艳帮忙完成,特此表示感谢。
读 者 对 象
本书适合作为高等院校计算机及相关专业本科教材,也可作为相关培训机构的培训教材,以及对Java开发技术感兴趣人员的自学用书。由于能力和水平所限,难免存在错误和疏漏,希望各位专家、教师和同学提出指正意见,与编者共同讨论,编者邮箱为hemin@nsu.edu.cn。
内 容 组 织
全书采用循序渐进的方式,逐步引导读者全面而系统地掌握Java语言的语法和面向对象知识。全书分为5个单元共14章,主要内容安排如下:
第 1 章 绪论:主要内容包括 Java 语言的特点和运行机制、面向对象思想概述,以及本书课程项目简介。
第 2 章 结构化基础语法:主要介绍 Java 程序的组成,以及编程的基本要素—数据类型和变量、表达式和语句。
第3章 字符串和数组:主要介绍程序中广泛使用的字符串和数组。
第4章 程序控制结构:重点介绍面向结构编程的重要元素,包括分支、循环、跳转等多种语法结构,并完成单元项目—扫雷游戏布雷逻辑实现。
第 5 章 面向对象思想及原则:简要介绍面向对象的特征及原则,并安排 OOP 引例帮助读者过渡。
第6章 类定义语法:以有理数类定义为例,介绍类定义各个方面的知识,包括类和对象、类的组成、构造方法、方法重载、可变参数等。
第7章 面向对象高级概念:主要介绍继承和多态、抽象类和接口、内部类和枚举类型、泛型编程等,并完成单元综合项目—OO计算器。
第8章 Java Swing技术:主要介绍GUI程序的机制、容器与布局、事件处理机制、常用UI元素及自动化任务。
第9章 Java绘图技术:主要介绍Java绘图机制、Graphics类的使用,并完成单元项目—GUI计算器、简易绘图软件。
第10章 字符串与正则表达式:主要介绍字符串与StringBuilder类、正则表达式和Java中正则的支持。
第 11 章 Java集合框架:主要介绍常用集合类ArrayList、LinkedList、HashMap和HashSet,以及集合工具类Arrays和Collections。
第12章 文件与I/O流:主要介绍文件操作与各种文件读/写技术,以及序列化和反序列化技术,并完成单元项目—单词统计。
第13章 数据库访问技术JDBC:以MySQL数据库为例,主要介绍数据库连接及常用操作,以及数据库事务的概念和应用。
第14章 课程项目—贪吃蛇游戏:以贪吃蛇游戏为例,采用MVC架构,综合应用全书介绍的Java技术,做到学以致用。
书中的每一章开始都提出了学习目标,点出该章的重点知识;每一章结束都进行了小结,对该章的关键知识点进行回顾。此外,每一章都配备了一定数量的习题,通过这些练习能帮助读者有的放矢地复习所学内容。
教 学 建 议
本书内容丰富,教学学时建议:如果学生没有编程基础,建议安排96学时;如果学生有编程基础,则建议64学时。64学时具体安排如下:
教 学 单 元 章 名 课 内 学 时 课 外 学 时
第1单元 Java基础语法 第1章 绪论 2 2
第2章 结构化基础语法 4 4
第3章 字符串和数组 2 2
第4章 程序控制结构 8 10
第2单元 Java面向对象 第5章 面向对象思想及原则 2 2
第6章 类定义语法 4 6
第7章 面向对象高级概念 6 10
第3单元 GUI编程 第8章 Java Swing技术 6 8
第9章 Java绘图技术 6 8
第4单元 Java常用技术 第10章 字符串与正则表达式 4 8
第11章 Java集合框架 4 8
第12章 文件与I/O流 4 8
第13章 数据库访问技术JDBC 4 8
第5单元 课程项目实践 第14章 课程项目—贪吃蛇游戏 8 16
配 套 资 源
本书将全书项目和案例制作成了配套资源包,在浏览器中打开“index.html”,界面如下图所示,单击左侧导航栏的案例,右侧上方将显示其对应代码,右侧下方显示其运行效果截图。
展开