面向对象程序设计 Java版
- ISBN:9787115525376
- 装帧:平装-胶订
- 册数:暂无
- 重量:暂无
- 开本:26cm
- 页数:10,484页
- 出版时间:2020-05-01
- 条形码:9787115525376 ; 978-7-115-52537-6
本书特色
针对目前开发行业对Java开发工具应用的技能需求以及计算机类专业对Java编程的基本要求,《面向对象程序设计 Java版》以“学习目标→任务引导→相关知识→任务实施→综合训练”为主线,在介绍程序语法的基础上,以小项目开发为实践落脚点,做到学练结合,提高学习效率:通过“学习目标”和“任务引导”,让读者先了解要解决的问题;然后详细讲解相关知识,帮助读者奠定技术基础;进而在“任务实施”引导读者完成上机操作,体现学以致用,并通过“拓展训练”帮助读者进一步提高编程技术和能力;*后通过“综合训练”梳理重要知识点,促进读者对重要内容的掌握。 本书整体上采用“项目引导与驱动”模式,将枯燥的程序语法学习融入具体项目案例,这有利于激发读者学习兴趣,提升学习效果。此外,本书案例源自实际生活,并参考近期Java编程岗位的技能需求,结构合理,实用性强。 本书可作为高职院校计算机类专业或电子信息类专业Java程序设计教材,也可作为成人高等学校和其他培训机构的教材,还可以作为零基础学习Java读者的参考图书。
内容简介
本书以“学习目标→任务引导→相关知识→任务实施→综合训练”为主线, 在介绍程序语法的基础上, 以小项目开发为实践落脚点, 做到学练结合, 提高学习效率: 通过“学习目标”和“任务引导”, 让读者先了解要解决的问题 ; 然后详细讲解相关知识, 帮助读者奠定技术基础 ; 进而在“任务实施”引导读者完成上机操作, 体现学以致用, 并通过“拓展训练”帮助读者进一步提高编程技术和能力 ; *后通过“综合训练”梳理重要知识点, 促进读者对重要内容的掌握。
目录
学习目标 .2
任务引导 .2
相关知识 .2
1.1 计算机语言. 2
1.1.1 机器语言2
1.1.2 汇编语言3
1.1.3 高级语言3
1.2 Java发展史. 5
1.2.1 Java的诞生 5
1.2.2 JDK 1.0发布 5
1.2.3 Java 2问世 .5
1.2.4 JavaSE 5.0发布 6
1.2.5 JDK 7.0发布 6
1.2.6 JDK 8.0发布 6
1.2.7 JDK 9.0发布 7
1.2.8 JDK 10.0发布 7
1.3 Java的特点. 7
1.3.1 Java是面向对象的 8
1.3.2 Java是平台无关的 8
1.3.3 Java语言是健壮的 8
1.4 Java程序工作原理. 9
1.4.1 Java虚拟机 9
1.4.2 垃圾回收机制11
1.5 Java SE的结构 11
1.6 标识符和关键字. 12
1.6.1 标识符12
1.6.2 关键字13
1.7 Java注解. 13
1.7.1 Java注解 .13
1.7.2 内建注解15
1.7.3 自定义注解20
1.8 变量和常量. 26
1.8.1 变量26
1.8.2 常量27
1.9 Java数据类型. 27
1.9.1 Java数据类型概述 27
1.9.2 整型29
1.9.3 浮点型30
1.9.4 字符型31
1.9.5 布尔型32
1.9.6 基本数据类型转换32
1.10 成员变量和局部变量. 34
1.11 Java运算符 . 36
1.11.1 算术运算符 36
1.11.2 逻辑运算符 39
1.11.3 位运算符 40
1.12 Java表达式. 42
1.12.1 Java表达式概述 42
1.12.2 表达式的运算顺序43
任务实施 .44
1.13 任务1 开发环境搭建. 44
1.14 任务2 注解应用. 46
1.14.1 子任务1 内建注解应用46
1.14.2 子任务2 自定义注解与元注解应用46
1.15 任务3 Java简易程序开发 46
1.15.1 子任务1 第 一个Java程序46
1.15.2 子任务2 工程师月薪计算51
拓展训练 .52
“瑞达系统”获取用户输入52
综合训练 .56
第 2章 控制结构、方法与数组应用
学习目标 .59
任务引导 .59
相关知识 .59
2.1 if语句 59
2.1.1 if语句的语法 .60
2.1.2 嵌套if语句 .65
2.2 switch语句 67
2.2.1 switch语句概述 .67
2.2.2 switch语句的使用 .68
2.3 循环语句. 70
2.3.1 while循环 .71
2.3.2 do.while循环 74
2.3.3 for循环 .75
2.3.4 双重for循环 .77
2.3.5 跳转语句79
2.4 方法. 79
2.4.1 Java方法概述 79
2.4.2 Java方法的使用 84
2.4.3 方法递归调用86
2.5 数组. 87
2.5.1 一维数组87
2.5.2 引用数据类型90
2.5.3 值传递与引用传递91
2.5.4 一维数组初始化95
2.6 排序算法. 96
2.6.1 冒泡排序96
2.6.2 插入排序97
2.7 二维数组. 98
2.7.1 二维数组简介98
2.7.2 二维数组的使用99
任务实施 .101
2.8 任务1 控制结构应用. 101
2.8.1 子任务1 商城送礼101
2.8.2 子任务2 学习班结业101
2.8.3 子任务3 功能模块跳转102
2.9 任务2 方法应用. 106
2.10 任务3 数组应用115
2.10.1 子任务1 分数数列前20项求和115
2.10.2 子任务2 杨辉三角形打印116
拓展训练 .117
“瑞达系统”删除和查询模块实现117
综合训练 .124
第3章 类与对象应用
学习目标 .127
任务引导 .127
相关知识 .128
3.1 类和对象概述. 128
3.1.1 面向过程与面向对象128
3.1.2 类和对象的概念129
3.2 Java类. 131
3.2.1 Java类的定义 131
3.2.2 Java类的创建和使用 132
3.2.3 Java类的简单运用 135
3.2.4 封装141
3.3 构造方法. 144
3.3.1 构造方法解决问题144
3.3.2 构造方法的使用145
3.4 对象初始化过程. 147
3.4.1 初始化块148
3.4.2 对象初始化内存结构149
3.5 重载. 151
3.5.1 重载的定义151
3.5.2 重载方法的使用151
3.6 抽象和封装. 154
3.6.1 类抽象154
3.6.2 类封装155
3.6.3 方法的实现162
3.7 继承. 163
3.7.1 继承的概念164
3.7.2 继承的使用165
3.7.3 继承和访问权限169
3.7.4 方法重写170
3.7.5 属性覆盖172
3.7.6 继承中的初始化174
3.8 多态. 176
3.8.1 向上转型176
3.8.2 向下转型179
3.9 包和访问控制. 181
3.9.1 Java包 182
3.9.2 引用包183
3.9.3 访问权限186
3.9.4 static关键字 .190
3.10 抽象类. 195
3.10.1 抽象类的概念195
3.10.2 抽象类的使用195
3.10.3 抽象类的特征198
3.11 接口 . 199
3.11.1 接口的概念 199
3.11.2 接口的使用 202
3.11.3 接口的特征 205
3.11.4 接口的应用 210
任务实施 .212
3.12 任务1 类和对象应用. 212
3.12.1 子任务1 封装学生类和老师类212
3.12.2 子任务2 构造方法初始化学生类和老师类213
3.12.3 子任务3 重载学习方法213
3.13 任务2 包和访问控制应用 213
3.13.1 子任务1 导入类和包213
3.13.2 子任务2 产生随机数213
3.13.3 子任务3 static关键作用范围测试213
3.14 任务3 抽象类与接口应用 214
3.14.1 子任务1 继承角度实现租车系统214
3.14.2 子任务2 多态角度实现租车系统214
3.14.3 子任务3 抽象类方式实现人与中国人的关系214
3.14.4 子任务4 接口方式实现打印机工作过程214
拓展训练 .214
使用接口优化“租车系统” 214
综合训练 .215
第4章 反射机制与常用类应用
学习目标 .219
任务引导 .219
相关知识 .219
4.1 Java反射机制. 219
4.2 Class类 . 222
4.2.1 Class类概述 .222
4.2.2 Class类常用方法 .224
4.3 获取类信息. 225
4.3.1 获取方法225
4.3.2 获取属性229
4.3.3 获取构造方法232
4.4 动态调用. 235
4.4.1 创建对象236
4.4.2 修改属性239
4.4.3 调用方法240
4.5 操作动态数组. 242
4.5.1 操作一维动态数组242
4.5.2 操作多维动态数组244
4.6 Java API文档的使用 . 245
4.7 String类 246
4.7.1 String类的概念 247
4.7.2 String类的使用 249
4.8 StringBuffer类 . 255
4.8.1 StringBuffer类的使用 .255
4.8.2 StringBuffer内存模型 .257
4.9 异常处理. 257
4.9.1 异常概述258
4.9.2 异常处理262
4.9.3 异常使用注意事项270
4.9.4 抛出异常274
4.9.5 自定义异常类280
任务实施 .283
4.10 任务1 反射机制应用. 283
4.10.1 子任务1 Class类常用
操作测试283
4.10.2 子任务2 方法结构
获取283
4.10.3 子任务3 动态创建对象、修改属性和动态调用方法283
4.10.4 子任务4 动态数组实现不定员班级信息管理283
4.11 任务2 常用类应用 . 284
4.11.1 子任务1 计算字符串中子字符串出现的次数284
4.11.2 子任务2 完成Java工程师注册的功能285
4.11.3 子任务3 字符串分割286
4.11.4 子任务4 使用Java API查找String类的方法并使用287
4.12 任务3 异常类应用. 287
4.12.1 子任务1 根据现有程序添加合适的异常处理代码287
4.12.2 子任务2 手工抛出一个算数异常288
拓展训练 .289
完成提交论文的功能289
综合训练 .291
第5章 数据结构应用
学习目标 .294
任务引导 .294
相关知识 .294
5.1 数据逻辑结构. 294
5.1.1 数据基本概念294
5.1.2 线性结构295
5.1.3 树结构296
5.1.4 图结构297
5.2 数据存储结构. 298
5.2.1 顺序存储结构298
5.2.2 链式存储结构299
5.3 线性结构. 299
5.3.1 线性表的存储结构299
5.3.2 线性表301
5.3.3 栈305
5.3.4 队列308
5.4 查找. 309
5.4.1 无序查找309
5.4.2 有序查找—二分查找310
5.5 排序. 312
5.5.1 选择排序313
5.5.2 快速排序314
任务实施 .317
5.6 任务 数据结构应用. 317
5.6.1 子任务1 数组方式实现线性表基本操作317
5.6.2 子任务2 数组方式实现栈基本操作318
5.6.3 子任务3 数组方式实现队列基本操作318
5.6.4 子任务4 二分查找指定数据318
5.6.5 子任务5 对指定数据实现选择排序318
拓展训练 .318
对指定数据实现快速排序318
综合训练 .319
第6章 集合应用
学习目标 .321
任务引导 .321
相关知识 .321
6.1 集合框架. 321
6.1.1 集合引入321
6.1.2 Collection接口框架 .322
6.1.3 Map接口框架 324
6.2 Set接口 . 324
6.2.1 Set接口方法 324
6.2.2 HashSet使用 325
6.2.3 TreeSet使用 .326
6.2.4 Comparable接口 327
6.3 Iterator迭代器 . 329
6.3.1 Iterator接口方法 329
6.3.2 Iterator使用 330
6.3.3 增强for循环 .332
6.4 List接口 333
6.4.1 List接口方法 .333
6.4.2 ArrayList使用 334
6.4.3 LinkedList使用 336
6.5 Map接口. 336
6.5.1 HashMap使用 336
6.5.2 Map接口方法 338
6.6 工具类. 338
6.6.1 Collections工具类常用方法338
6.6.2 Collections工具类使用 .340
6.6.3 Comparable与Comparator 341
6.6.4 Arrays工具类使用 .345
6.7 自动拆箱和装箱. 347
6.7.1 自动拆箱和装箱概念347
6.7.2 自动拆箱和装箱使用348
6.8 泛型. 349
任务实施 .351
6.9 任务1 集合应用. 351
6.9.1 子任务1 实现学生信息存放与删除351
6.9.2 子任务2 改写“租车系统”,逆序输出车辆名称351
6.9.3 子任务3 为“租车系统”增加附加车辆信息功能351
6.9.4 子任务4 域名与内容关联存储实现352
6.10 任务2 集合工具类应用 352
6.10.1 子任务1 利用工具类实现学生信息比较352
6.10.2 子任务2 泛型方式实现“租车系统”352
拓展训练 .352
对“瑞达系统”进行结构优化和功能完善352
综合训练 .353
第7章 文件操作应用
学习目标 .355
任务引导 .355
相关知识 .355
7.1 File类 355
7.1.1 File类构造方法 .355
7.1.2 File类使用 .357
7.1.3 静态导入359
7.1.4 获取目录和文件360
7.2 字节流和字符流. 362
7.2.1 字节流363
7.2.2 字符流366
7.3 其他流. 369
7.3.1 缓冲流369
7.3.2 字节流转换为字符流371
7.3.3 数据流372
7.4 XML解析 . 374
7.4.1 XML概述 .374
7.4.2 XML解析 .378
任务实施 .385
7.5 任务1 文件基本操作应用 385
7.5.1 子任务1 获取目录和文件路径385
7.5.2 子任务2 字符流方式实现文件复制385
7.5.3 子任务3 数据流方式存取车辆信息385
7.6 任务2 XML文件操作应用 385
7.6.1 子任务1 XML方式存放车辆信息385
7.6.2 子任务2 解析XML车辆信息386
拓展训练 .386
为“租车系统”增加信息保存功能386
综合训练 .387
第8章 线程应用
学习目标 .389
任务引导 .389
相关知识 .389
8.1 多线程. 389
8.1.1 线程引入389
8.1.2 多线程优势390
8.1.3 线程状态392
8.2 创建和使用线程. 393
8.2.1 创建线程类393
8.2.2 多线程使用394
8.3 线程控制. 396
8.3.1 线程控制方法397
8.3.2 终止线程398
8.3.3 线程等待和中断等待400
8.3.4 等待其他线程完成402
8.3.5 设置线程优先级404
8.3.6 守护线程407
8.4 共享数据. 408
8.4.1 数据不一致408
8.4.2 控制共享数据410
8.4.3 多线程同步412
8.5 线程死锁和协作. 417
8.5.1 线程死锁417
8.5.2 线程协作419
任务实施 .424
8.6 任务 线程应用. 424
8.6.1 子任务1 多线程实现输出424
8.6.2 子任务2 线程等待与中断方式实现计数425
8.6.3 子任务3 多线程同步计数425
拓展训练 .425
完成吃热狗活动425
综合训练 .426
第9章 网络编程应用
学习目标 .428
任务引导 .428
相关知识 .428
9.1 计算机网络. 428
9.1.1 主要功能和分类428
9.1.2 网络协议430
9.1.3 网络分层模型430
9.1.4 TCP/IP协议简介 432
9.1.5 数据封装和解封435
9.2 IP地址和域名. 436
9.2.1 IP地址 436
9.2.2 IP地址类型 436
9.2.3 子网掩码438
9.2.4 域名439
9.3 网络配置. 439
9.3.1 配置和查看439
9.3.2 常用TCP/IP网络命令440
9.4 Java与网络. 441
9.4.1 IP地址类 442
9.4.2 URL类444
9.4.3 URLConnection类 .446
9.5 Socket编程 . 449
9.5.1 基于TCP的Socket编程449
9.5.2 基于UDP的Socket编程454
任务实施 .456
9.6 任务1 IP地址配置与ping测试 456
9.7 任务2 网络编程常用类测试 457
拓展训练 .457
客户端与服务器信息交互457
综合训练 .458
第 10章 软件测试应用
学习目标 .460
任务引导 .460
相关知识 .460
10.1 软件测试. 460
10.1.1 软件测试概念460
10.1.2 测试与调试461
10.2 软件缺陷. 462
10.2.1 确定软件缺陷462
10.2.2 有效记录缺陷463
10.3 缺陷报告处理. 465
10.3.1 缺陷报告处理流程465
10.3.2 缺陷报告详细内容466
10.4 软件测试流程. 467
10.4.1 需求分析阶段467
10.4.2 设计和编码阶段468
10.4.3 集成、系统和验收测试469
10.4.4 单元、集成、系统和验收测试469
10.5 软件测试分类. 471
10.5.1 黑盒测试和白盒测试471
10.5.2 手工测试和自动测试472
10.6 JUnit初探 . 472
10.6.1 “加”类JUnit 4测试 .473
10.6.2 “计算器”类测试474
10.6.3 JUnit 4知识拓展 479
任务实施 .483
10.7 任务 JUnit测试Add方法 483
拓展训练 .483
使用JUnit 4对计算器类单元测试483
综合训练 .484
作者简介
武春岭,厦门大学高等教育质量与评估研究所/ 教育研究院博士生、重庆电子工程职业学院人工智能与大数据学院院长。国家“万人计划”教学名师,国务院特殊津贴专家,二级教授,全国通信工业协会云计算与信息安全校企联盟理事长,国家双高建设“信息安全与管理专业群”主持人,主持或参与多个重大教学质量项目,带领团队成功申报国家“十二五”规划教材22 种,自己参与主编11 种。 沈廷杰,高级工程师,拥有多年的网络安全企业工作经验,擅长数据分析和教学过程设计。现任重庆电子工程职业学院教师,长期从事一线教学、课程研发、资源库建设等工作。主持省部级项目1 项;参与国家级项目1 项,省部级项目2 项。 朱崇来,工程师,拥有多年的软件开发企业工作经验,精通Java、Java Web、移动互联网开发技术。现任重庆电子工程职业学院教师,长期从事一线课程研发、实训项目建设、移动互联网应用开发专业教学等工作,带领学生参加各类技能大赛,团队获得重 庆市二等奖1 项、三等奖2 项。
-
乡村振兴新技术:新时代农村短视频编辑技术基础入门
¥12.8¥32.0 -
AI绘画+AI摄影+AI短视频从入门到精通
¥45.5¥79.8 -
企业AI之旅
¥43.5¥79.0 -
机器学习
¥59.4¥108.0 -
基于知识蒸馏的图像去雾技术
¥61.6¥88.0 -
软件设计的哲学(第2版)
¥51.0¥69.8 -
智能算法优化及其应用
¥52.4¥68.0 -
Photoshop图像处理
¥25.5¥49.0 -
R语言医学数据分析实践
¥72.3¥99.0 -
大模型推荐系统:算法原理、代码实战与案例分析
¥62.3¥89.0 -
剪映 从入门到精通
¥25.7¥59.8 -
游戏造梦师----游戏场景开发与设计
¥67.6¥98.0 -
SAR图像处理与检测
¥35.4¥49.8 -
人工智能
¥29.4¥42.0 -
中文版PHOTOSHOP 2024+AI修图入门教程
¥59.3¥79.0 -
WPS办公软件应用
¥25.2¥36.0 -
格拉斯曼流行学习及其在图像集分类中的应用
¥13.7¥28.0 -
轻松上手AIGC:如何更好地向CHATGPT提问
¥40.3¥62.0 -
元宇宙的理想与现实:数字科技大成的赋能与治理逻辑
¥61.6¥88.0 -
云原生安全:攻防与运营实战
¥66.8¥89.0