Java程序设计(第2版) ――增量式项目驱动一体化教程
- ISBN:9787121412011
- 装帧:一般胶版纸
- 册数:暂无
- 重量:暂无
- 开本:其他
- 页数:432
- 出版时间:2021-06-01
- 条形码:9787121412011 ; 978-7-121-41201-1
本书特色
利用学生已经具备的语法基础和Java语言应用性强的特点,引导学生重点学习Java的高级应用特性,通过在实际项目应用中展现Java语言的高级特性来调动学生的积极性,提高学生的动手编程能力和独立查阅资料文献的能力以解决实际问题为核心,让学生理解和掌握数据结构与算法在实际中的应用,*终提高学生的编程能力
内容简介
本书共四部分:部分和第三部分为Java程序设计基本技能,第二部分和第四部分为Java语言实训内容。在教学安排上,教师可以打乱基本技能的编写顺序,通过项目驱动的形式进行基本技能的讲解,即在第二部分简易计算器项目基础上,进行部分内容的融合与展开;在第四部分局域网聊天工具项目基础上,进行第三部分内容的融合与展开。本书既可作为计算机及相关专业的Java语言课程的教材,也可作为工程人员和科技工作者的自学参考书。
目录
**部分 Java程序设计基本技能(一)
第1章 Java的特点、基本内容和编程环境 3
1.1 Java语言的历史和特点 3
1.1.1 Java语言的发展历史 3
1.1.2 Java语言的特点 4
1.2 本书基本内容与教学思路 5
1.3 Java开发环境介绍 6
1.3.1 JDK的下载、安装和环境变量的设置 6
1.3.2 Eclipse的安装及使用 9
1.3.3 MyEclipse 8.5.0安装、界面介绍 13
1.3.4 MySQL的安装及功能介绍 16
1.3.5 程序调试技术 24
1.4 项目开发模板 24
1.4.1 增量开发简介 24
1.4.2 本书项目开发采用的模板 25
实验01 开发环境搭建与使用 26
习题1 27
第2章 Java应用基础 28
2.1 标识符和关键字 28
2.1.1 标识符 28
2.1.2 关键字 29
2.2 数据类型 29
2.2.1 基本数据类型 30
2.2.2 复合数据类型 30
2.2.3 枚举类型 30
2.2.4 类型转换 31
2.3 变量和常量 32
2.3.1 常量 32
2.3.2 变量 34
2.4 运算符和表达式 36
2.4.1 赋值运算符 36
2.4.2 算术运算符 37
2.4.3 关系运算符 37
2.4.4 条件运算符 38
2.4.5 逻辑运算符 38
2.4.6 位运算符 38
2.4.7 其他运算符 39
2.4.8 运算的优先级和结合性 40
2.4.9 表达式 41
2.5 程序控制结构 43
2.5.1 选择结构 44
2.5.2 循环结构 48
2.5.3 跳转语句 52
本章小结 55
习题2 55
第3章 面向对象编程 57
3.1 类和对象 57
3.1.1 类的声明 58
3.1.2 类的成员 58
3.1.3 对象的创建和使用 60
3.1.4 对象的生命周期 61
3.2 句柄 61
3.3 方法的调用和参数的传递 62
3.3.1 构造方法 62
3.3.2 方法调用 63
3.3.3 方法的参数传递 66
3.4 类的继承和多态 71
3.4.1 继承 71
3.4.2 多态 78
3.5 包 80
3.6 抽象类和接口 83
3.6.1 抽象类 83
3.6.2 接口 84
3.7 内部类和匿名的内部类 86
本章小结 87
习题3 88
第4章 数组、字符串、向量和泛型 89
4.1 数组 89
4.1.1 一维数组 89
4.1.2 多维数组 93
4.2 增强的for循环 96
4.3 字符串和字符串缓冲区 97
4.3.1 String 98
4.3.2 StringBuffer 100
4.4 向量 102
4.4.1 Vector类的构造方法 103
4.4.2 Vector类的常用成员方法 103
4.4.3 Vector应用举例 104
4.5 链表 104
4.5.1 链表LinkedList 105
4.5.2 数组链表ArrayList 106
4.6 泛型 107
4.6.1 使用泛型的原因 107
4.6.2 泛型在集合类中的使用 108
4.6.3 定义泛型类和泛型接口 109
4.7 枚举 110
本章小结 111
习题4 112
第5章 图形用户界面 113
5.1 Swing概述 113
5.1.1 Swing组件 113
5.1.2 Swing容器 116
5.1.3 基于Swing的JavaGUI设计思路 119
5.2 Swing布局管理器 120
5.2.1 流式布局管理器FlowLayout 120
5.2.2 网格布局管理器GridLayout 122
5.2.3 边界布局管理器BorderLayout 123
5.2.4 CardLayout卡片布局管理器 125
5.2.5 网格袋布局管理器GridBagLayout 126
5.2.6 盒式布局管理器BoxLayout 127
5.3 Swing事件处理 128
5.3.1 Java事件处理机制 129
5.3.2 鼠标事件处理 130
5.3.3 按钮动作事件处理 132
5.4 Swing高级图形用户界面 135
5.4.1 菜单 135
5.4.2 表格 147
5.4.3 树 149
5.5 JavaFX 151
5.5.1 JavaFX概述 151
5.5.2 JavaFX窗口结构 151
5.5.3 JavaFX CSS样式 155
5.5.4 JavaFX布局面板 155
5.5.5 JavaFX常用控件 161
5.5.6 JavaFX事件处理 164
本章小结 170
习题5 170
第二部分 Java GUI实训――简易计算器
第6章 标准型计算器 175
6.1 需求分析与项目目标 175
6.1.1 需求分析 175
6.1.2 项目目标 179
6.2 功能分析与软件设计 179
6.2.1 功能分析 179
6.2.2 软件设计 180
6.2.3 四则运算过程 181
6.3 标准型计算器增量项目开发计划 182
6.4 增量6-1:显示界面 183
6.4.1 Java GUI程序设计过程 183
6.4.2 增量6-1的编程实现 184
6.4.3 增量6-1的程序分析:GUI界面编程模板分析 187
6.4.4 Java图形界面的程序编码流程 187
6.4.5 图形设计:Swing容器 188
6.4.6 图形设计:Swing基本组件――文本框JTextField 190
6.4.7 图形设计:Swing基本组件――按钮JButton 191
6.5 增量6-2:处理数字和运算符输入 193
6.5.1 按钮的事件响应 193
6.5.2 使用字符串数组链表记录输入内容 195
6.5.3 增量6-2的编程实现 196
6.6 增量6-3:四则运算(一) 197
6.6.1 用startCaculation方法实现四则运算过程 197
6.6.2 增量6-3的编程实现 198
6.7 增量6-4:四则运算(二) 199
6.8 增量6-5:处理回退键输入和清空键输入 200
6.9 四则运算的另一种算法 201
本章小结 202
实验02 标准型计算器:实现增量6-1 202
实验03 标准型计算器:实现增量6-2 203
实验04 标准型计算器:实现增量6-3 204
实验05 标准型计算器:实现增量6-4 205
实验06 标准型计算器:实现增量6-5和界面优化 205
实验07 标准型计算器:程序优化 206
习题6 207
第7章 科学型计算器 208
7.1 需求分析和项目目标 209
7.1.1 需求分析 209
7.1.2 项目目标 210
7.2 功能分析与软件设计 210
7.3 增量项目开发 211
7.3.1 增量7-1:直接实现科学型计算器 212
7.3.2 增量7-2:通过继承实现科学计算器 213
本章小结 216
实验08 直接实现科学计算器 217
实验09 通过继承实现科学计算器 217
第8章 复合型计算器 219
8.1 需求分析与项目目标 219
8.1.1 需求分析 220
8.1.2 项目目标 223
8.2 功能分析与软件设计 223
8.3 技术准备和增量项目开发 223
8.4 复合型计算器增量开发计划 224
8.5 增量8-1:复合型计算器Ⅰ型和Ⅱ型 224
8.6 增量8-2:复合计算器Ⅲ型 226
8.7 增量8-3:复合计算器Ⅳ型 226
本章小结 226
实验10 实现复合型计算器(三选一) 227
第三部分 Java程序设计基本技能(二)
第9章 异常处理 231
9.1 异常和错误 231
9.2 异常的处理方式 232
9.2.1 捕获异常 233
9.2.2 声明抛出异常 234
9.3 异常处理的基本原则 235
9.4 try…catch…resources语句 237
9.5 断言 238
本章小结 239
习题9 239
第10章 文件处理与数据流 241
10.1 流的概念 241
10.2 字节流 241
10.2.1 字节输入流和字节输出流 242
10.2.2 文件字节流 243
10.2.3 字节数组流 245
10.2.4 数据流 247
10.2.5 缓冲字节流 249
10.2.6 标准输入流和输出流 250
10.3 字符流 252
10.3.1 Reader和Writer 252
10.3.2 文件字符流 253
10.3.3 字符数组流 255
10.3.4 缓冲字符流 257
10.3.5 字符流打印类 259
10.3.6 字符与字节相互转换流 259
10.4 随机访问文件 261
10.5 对象序列化 262
10.6 文件 264
本章小结 266
习题10 266
第11章 网络编程 268
11.1 计算机网络基本知识 268
11.2 URL类 270
11.2.1 创建URL对象 270
11.2.2 读取页面信息 271
11.2.3 创建一个到URL的连接 272
11.3 InetAddress类 273
11.4 TCP Socket通信 274
11.5 UDP通信 278
11.5.1 数据报包DatagramPacket类 278
11.5.2 收发数据报DatagramSocket类 280
11.5.3 基于UDP通信举例 281
本章小结 283
习题11 283
第12章 多线程 284
12.1 线程的基本概念 284
12.2 线程的创建 284
12.2.1 继承Thread类 285
12.2.2 实现Runnable接口 286
12.3 线程的状态与线程调度 287
12.4 线程同步 293
12.4.1 线程同步的示例 293
12.4.2 线程同步方法1:synchronized方法 295
12.4.3 线程同步方法2:synchronized数据 296
12.4.4 线程同步方法3:class同步 296
12.5 线程间的通信 297
12.6 多线程中的死锁问题 300
12.6.1 死锁问题的产生的例子 300
12.6.2 死锁问题常用解决方法 301
本章小结 302
习题12 303
第13章 Java数据库编程技术 304
13.1 关系型数据库 304
13.1.1 数据库表 304
13.1.2 约束条件 305
13.2 SQL基本知识 306
13.2.1 SQL基本语句 306
13.2.2 SQL的基本数据类型 307
13.2.3 SQL数据库创建过程 308
13.3 JDBC基本知识 309
13.3.1 java.sql软件包 309
13.3.2 JDBC数据库访问过程 309
13.4 MySQL与Java数据库开发 311
13.4.1 使用JDBC实现与MySQL 5.0数据库的开发 311
13.4.2 通过JDBC实现MySQL数据库开发的一般过程 316
本章小结 316
习题13 317
第四部分 网络通信与数据库实训――局域网聊天工具
第14章 点到点聊天工具:网络通信 321
14.1 需求分析和项目目标 321
14.1.1 需求分析 321
14.1.2 用例分析 323
14.1.3 需求列表 324
14.1.4 项目目标 324
14.2 功能分析和软件设计 325
14.2.1 界面设计 325
14.2.2 文本聊天功能 325
14.2.3 文件传输功能 326
14.2.4 网络通信功能 327
14.2.5 增量开发计划 330
14.3 增量项目开发 330
14.3.1 增量14-1:实现聊天工具界面 330
14.3.2 增量14-2:实现文本聊天 331
14.3.3 增量14-3:实现文件传输过程 336
本章小结 339
实验11 增量14-1:实现聊天器界面 339
实验12 增量14-2:实现文本聊天 340
实验13 增量14-3:实现文件传输 341
习题14 343
第15章 基于C/S的聊天工具Ⅰ:多线程技术 344
15.1 C/S模式与多线程技术的知识准备 344
15.1.1 C/S模式 344
15.1.2 多线程技术 351
15.2 需求分析和项目目标 353
15.2.1 需求分析 354
15.2.2 项目目标 358
15.3 功能分析和软件设计 360
15.3.1 C/S模式中的客户机软件设计 360
15.3.2 C/S模式中服务器软件设计 362
15.3.3 C/S模式中的通信协议 365
15.3.4 增量开发计划 366
15.4 增量实现 367
15.4.1 增量15-1:采用多线程技术分离服务器和客户机代码 367
15.4.2 增量15-2:采用JTable实现好友列表、用户列表 368
15.4.3 增量15-3:实现服务器端的用户管理功能 373
15.4.4 增量15-4:实现C/S模式中客户机之间的聊天功能 375
15.4.5 增量15-5:实现C/S模式的群聊功能 378
本章小结 379
实验14 增量15-1:用多线程技术分离服务器与客户机代码 379
实验15 增量15-2:采用JTable实现好友列表 383
实验16 增量15-3:实现C/S模式中端的用户管理 385
实验17 增量15-4:实现C/S模式客户机间的聊天功能 386
实验18 增量15-5:实现C/S模式中的群聊功能 389
习题15 390
第16章 基于C/S的聊天工具II:数据库技术 392
16.1 需求分析与项目目标 392
16.1.1 需求分析 392
16.1.2 需求列表 393
16.2 功能分析与软件设计 393
16.2.1 登录验证功能 393
16.2.2 用户数据下载功能 394
16.2.3 用户信息数据表的设计 396
16.2.4 服务器与数据库中用户信息数据表的接口设计 399
16.2.5 增量计划 401
16.3 增量实现 401
16.3.1 增量16-1:采用数据库保存用户数据 401
16.3.2 增量16-2:实现服务器数据初始化、用户注册/登录 404
16.3.3 增量16-3:实现用户数据下载功能 409
本章小结 411
实验19 增量16-1:采用数据库保存用户数据 412
实验20 增量16-2:实现数据库初始化与用户注册/登录 412
实验21 增量16-3:实现用户数据下载功能 415
习题16 416
参考文献 417
作者简介
陈海山,男,中山大学南方学院电气与计算机工程学院教师,广东省"千百十”校级培养对象,广东省育苗工程(自然科学)项目负责人。
-
有限与无限的游戏:一个哲学家眼中的竞技世界
¥37.4¥68.0 -
全图解零基础word excel ppt 应用教程
¥12.0¥48.0 -
机器学习
¥59.4¥108.0 -
深度学习的数学
¥43.5¥69.0 -
智能硬件项目教程:基于ARDUINO(第2版)
¥37.7¥65.0 -
硅谷之火-人与计算机的未来
¥14.3¥39.8 -
元启发式算法与背包问题研究
¥38.2¥49.0 -
AI虚拟数字人:商业模式+形象创建+视频直播+案例应用
¥62.9¥89.8 -
UNIX环境高级编程(第3版)
¥164.9¥229.0 -
剪映AI
¥52.8¥88.0 -
深度学习高手笔记 卷2:经典应用
¥90.9¥129.8 -
纹样之美:中国传统经典纹样速查手册
¥77.4¥109.0 -
UG NX 12.0数控编程
¥24.8¥45.0 -
MATLAB计算机视觉与深度学习实战(第2版)
¥90.9¥128.0 -
界面交互设计理论研究
¥30.8¥56.0 -
UN NX 12.0多轴数控编程案例教程
¥25.8¥38.0 -
微机组装与系统维护技术教程(第二版)
¥37.8¥43.0 -
明解C语言:实践篇
¥62.9¥89.8 -
Linux服务器架设实战(Linux典藏大系)
¥84.5¥119.0 -
PREMIERE PRO 2023全面精通:视频剪辑+颜色调整+转场特效+字幕制作+案例实战
¥69.3¥99.0