章初识Java
学习目标.2
任务引导.2
相关知识.2
1.1计算机语言.2
1.1.1机器语言2
1.1.2汇编语言3
1.1.3不错语言3
1.2Java发展史.5
1.2.1Java的诞生5
1.2.2JDK1.0发布5
1.2.3Java2问世.5
1.2.4JavaSE5.0发布6
1.2.5JDK7.0发布6
1.2.6JDK8.0发布6
1.2.7JDK9.0发布7
1.2.8JDK10.0发布7
1.3Java的特点.7
1.3.1Java是面向对象的8
1.3.2Java是平台无关的8
1.3.3Java语言是健壮的8
1.4Java程序工作原理.9
1.4.1Java虚拟机9
1.4.2垃圾回收机制11
1.5JavaSE的结构11
1.6标识符和关键字.12
1.6.1标识符12
1.6.2关键字13
1.7Java注解.13
1.7.1Java注解.13
1.7.2内建注解15
1.7.3自定义注解20
1.8变量和常量.26
1.8.1变量26
1.8.2常量27
1.9Java数据类型.27
1.9.1Java数据类型概述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.11Java运算符.36
1.11.1算术运算符36
1.11.2逻辑运算符39
1.11.3位运算符40
1.12Java表达式.42
1.12.1Java表达式概述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任务3Java简易程序开发46
1.15.1子任务1个Java程序46
1.15.2子任务2工程师月薪计算51
拓展训练.52
“瑞达系统”获取用户输入52
综合训练.56
第2章控制结构、方法与数组应用
学习目标.59
任务引导.59
相关知识.59
2.1if语句59
2.1.1if语句的语法.60
2.1.2嵌套if语句.65
2.2switch语句67
2.2.1switch语句概述.67
2.2.2switch语句的使用.68
2.3循环语句.70
2.3.1while循环.71
2.3.2do.while循环74
2.3.3for循环.75
2.3.4双重for循环.77
2.3.5跳转语句79
2.4方法.79
2.4.1Java方法概述79
2.4.2Java方法的使用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.2Java类.131
3.2.1Java类的定义131
3.2.2Java类的创建和使用132
3.2.3Java类的简单运用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.1Java包182
3.9.2引用包183
3.9.3访问权限186
3.9.4static关键字.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子任务3static关键作用范围测试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.1Java反射机制.219
4.2Class类.222
4.2.1Class类概述.222
4.2.2Class类常用方法.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.6JavaAPI文档的使用.245
4.7String类246
4.7.1String类的概念247
4.7.2String类的使用249
4.8StringBuffer类.255
4.8.1StringBuffer类的使用.255
4.8.2StringBuffer内存模型.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子任务1Class类常用
操作测试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使用JavaAPI查找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.2Collection接口框架.322
6.1.3Map接口框架324
6.2Set接口.324
6.2.1Set接口方法324
6.2.2HashSet使用325
6.2.3TreeSet使用.326
6.2.4Comparable接口327
6.3Iterator迭代器.329
6.3.1Iterator接口方法329
6.3.2Iterator使用330
6.3.3增强for循环.332
6.4List接口333
6.4.1List接口方法.333
6.4.2ArrayList使用334
6.4.3LinkedList使用336
6.5Map接口.336
6.5.1HashMap使用336
6.5.2Map接口方法338
6.6工具类.338
6.6.1Collections工具类常用方法338
6.6.2Collections工具类使用.340
6.6.3Comparable与Comparator341
6.6.4Arrays工具类使用.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.1File类355
7.1.1File类构造方法.355
7.1.2File类使用.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.4XML解析.374
7.4.1XML概述.374
7.4.2XML解析.378
任务实施.385
7.5任务1文件基本操作应用385
7.5.1子任务1获取目录和文件路径385
7.5.2子任务2字符流方式实现文件复制385
7.5.3子任务3数据流方式存取车辆信息385
7.6任务2XML文件操作应用385
7.6.1子任务1XML方式存放车辆信息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.4TCP/IP协议简介432
9.1.5数据封装和解封435
9.2IP地址和域名.436
9.2.1IP地址436
9.2.2IP地址类型436
9.2.3子网掩码438
9.2.4域名439
9.3网络配置.439
9.3.1配置和查看439
9.3.2常用TCP/IP网络命令440
9.4Java与网络.441
9.4.1IP地址类442
9.4.2URL类444
9.4.3URLConnection类.446
9.5Socket编程.449
9.5.1基于TCP的Socket编程449
9.5.2基于UDP的Socket编程454
任务实施.456
9.6任务1IP地址配置与ping测试456
9.7任务2网络编程常用类测试457
拓展训练.457
客户端与服务器信息交互457
综合训练.458
0章软件测试应用
学习目标.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.6JUnit初探.472
10.6.1“加”类JUnit4测试.473
10.6.2“计算器”类测试474
10.6.3JUnit4知识拓展479
任务实施.483
10.7任务JUnit测试Add方法483
拓展训练.483
使用JUnit4对计算器类单元测试483
综合训练.484