面向对象程序设计(Java版)

978-7-115-52537-6
作者: 武春岭 沈廷杰
译者:
编辑: 李莎
分类:

图书目录:

第 1章 初识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

详情

针对目前开发行业对Java开发工具应用的技能需求以及计算机类专业对Java编程的基本要求,本书以“学习目标→任务引导→相关知识→任务实施→综合训练”为主线,在介绍程序语法的基础上,以小项目开发为实践落脚点,做到学练结合,提高学习效率:通过“学习目标”和“任务引导”,让读者先了解要解决的问题;然后详细讲解相关知识,帮助读者奠定技术基础;进而在“任务实施”引导读者完成上机操作,体现学以致用,并通过“拓展训练”帮助读者进一步提高编程技术和能力;最后通过“综合训练”梳理重要知识点,促进读者对重要内容的掌握。 本书整体上采用“项目引导与驱动”模式,将枯燥的程序语法学习融入具体项目案例,这有利于激发读者学习兴趣,提升学习效果。此外,本书案例源自实际生活,并参考近期Java编程岗位的技能需求,结构合理,实用性强。 本书可作为高职院校计算机类专业或电子信息类专业Java程序设计教材,也可作为成人高等学校和其他培训机构的教材,还可以作为零基础学习Java读者的参考图书。

图书摘要

相关图书

Revit 2020中文版从入门到精通
Revit 2020中文版从入门到精通
AutoCAD 2020中文版实战从入门到精通
AutoCAD 2020中文版实战从入门到精通
AutoCAD 2020中文版机械设计实战从入门到精通
AutoCAD 2020中文版机械设计实战从入门到精通
AutoCAD 2020中文版建筑设计实战从入门到精通
AutoCAD 2020中文版建筑设计实战从入门到精通
Android App开发入门与实战
Android App开发入门与实战
Word/Excel/PPT 2019办公应用实战从入门到精通
Word/Excel/PPT 2019办公应用实战从入门到精通

相关文章

相关课程