Java程序设计基础教程(慕课版)(第2版)

分享 推荐 0 收藏 0 阅读 81
朱丽萍 傅雷扬 (主编) 978-7-115-66384-9

关于本书的内容有任何问题,请联系 人邮社-赵亮

¥69.80 ¥59.33 (8.5 折)
立即购买 申请样书

内容摘要

本书通过大量案例详细讲解了Java程序设计的基础知识。全书共12个单元,内容包括Java基础知识,基本数据类型及运算符,控制执行流程,字符串,面向对象,集合和数组,文件及流,日期和时间,反射、异常及枚举,并发编程,网络编程及综合实训——简易网上银行系统。本书图文并茂,内容浅显易懂,代码注释详细,配备全套慕课视频,资源丰富,贴近行业应用。
本书可作为高等院校或培训机构Java基础课程的教材,也可作为Java程序设计爱好者的自学参考书。

目录

第1单元
Java基础知识 1
情景引入 1
学习目标 1
思维导图 2
1.1 Java简介 2
1.1.1 Java的发展历程 2
1.1.2 Java语言的特点 3
1.2 Java开发环境搭建 4
1.2.1 JDK、JRE与JVM 4
1.2.2 系统环境变量配置 4
1.3 Java开发工具的使用 11
1.3.1 比较流行的Java开发
工具简介 12
1.3.2 Eclipse的安装及使用 13
1.4 项目实战 14
项目1-1 使用Eclipse编写
Hello World程序 14
1.5 单元小结 17
1.6 课后习题 17

第2单元
基本数据类型及运算符 18
情景引入 18
学习目标 18
思维导图 19
2.1 基本数据类型 19
2.1.1 基本数据类型分类 20
2.1.2 基本数据类型的拆装箱 21
任务2-1 常量和变量 22
任务2-2 基本数据类型的
拆装箱 23
任务2-3 获取基本数据类型的
取值范围 23
任务2-4 包装类的转换方法 24
2.1.3 拓展:parseInt()方法和
valueOf()方法的使用 25
2.2 运算符 25
2.2.1 算术运算符 26
任务2-5 加减运算 26
任务2-6 乘除运算 27
任务2-7 取余运算 28
任务2-8 自增自减运算 28
2.2.2 关系运算符和逻辑
运算符 29
任务2-9 逻辑与运算和逻辑或
运算 31
2.2.3 赋值运算符与条件
运算符 32
2.2.4 位运算符 33
2.2.5 运算符的优先级 34
任务2-10 双目运算的求值
顺序 35
2.3 项目实战 35
项目2-1 设计IP地址转换
程序 35
2.4 单元小结 37
2.5 课后习题 37

第3单元
控制执行流程 38
情景引入 38
学习目标 38
思维导图 38
3.1 选择结构语句 39
3.1.1 if条件语句 39
任务3-1 if-else初探 39
任务3-2 if-else嵌套语句 40
3.1.2 switch条件语句 40
任务3-3 使用switch条件语句
将阿拉伯数字转换成
中文大写数字 41
任务3-4 计算当前月份的第一天
距元旦的天数 42
3.2 循环结构语句 42
3.2.1 while循环语句 42
任务3-5 循环输出1~10 43
3.2.2 do-while循环语句 43
任务3-6 while循环语句和
do-while循环语句 44
3.2.3 for循环语句 44
任务3-7 for循环语句的使用 44
任务3-8 多变量for循环语句 45
3.2.4 break与continue 45
任务3-9 break和continue 46
3.3 项目实战 46
项目3-1 使用for循环语句和if
条件语句实现冒泡
排序 46
3.4 单元小结 48
3.5 课后习题 48

第4单元
字符串 49
情景引入 49
学习目标 49
思维导图 50
4.1 String类及其常用API 50
任务4-1 字符串的初始化 51
4.1.1 字符串常量池 51
任务4-2 字符串不同创建方式的
耗时比较 52
4.1.2 字符串的常用方法 53
任务4-3 字符串非空判断与
长度返回 54
任务4-4 字符串查询操作 55
任务4-5 字符串修改操作 56
任务4-6 字符串分割操作 57
任务4-7 字符串比较操作 58
4.1.3 拓展:不变的字符串 59
4.2 StringBuffer类 60
4.2.1 StringBuffer类的应用 61
任务4-8 StringBuffer类的
字符串拼接插入 61
任务4-9 StringBuffer类的
常用操作方法 62
4.2.2 StringBuilder类与
StringBuffer类的比较 63
任务4-10 StringBuilder类的
常用方法 63
4.3 常用的Java类 63
4.3.1 System类 64
任务4-11 系统环境变量 64
任务4-12 系统当前时间 65
任务4-13 数组复制 66
4.3.2 Random类与Math类 67
任务4-14 使用Random类
生成随机数 67
任务4-15 Math类 68
4.4 项目实战 69
项目4-1 用Scanner类接收
用户输入 69
项目4-2 猜数字游戏 70
4.5 单元小结 71
4.6 课后习题 71

第5单元
面向对象 72
情景引入 72
学习目标 72
思维导图 73
5.1 面向对象概念 73
5.2 类的概念 75
5.2.1 什么是类 75
5.2.2 类的使用 75
任务5-1 类的声明 75
任务5-2 类的使用 77
任务5-3 方法调用及返回值 78
5.3 封装 79
任务5-4 方法封装 79
任务5-5 属性封装 80
5.4 继承 82
任务5-6 鱼的继承 83
任务5-7 抽象类的定义和使用 87
任务5-8 接口的使用 88
5.5 多态 90
5.5.1 多态的概念 90
任务5-9 方法的重载 91
任务5-10 方法的重写 91
5.5.2 内部类 93
任务5-11 内部类的创建及
使用 93
任务5-12 嵌入类 95
任务5-13 内部成员类 96
任务5-14 本地类 97
任务5-15 内部类的相互访问 98
5.5.3 拓展:Object类 101
5.6 项目实战 101
项目5-1 抽象MapReduce
框架 101
5.7 单元小结 105
5.8 课后习题 105

第6单元
集合和数组 106
情景引入 106
学习目标 106
思维导图 107
6.1 集合初探 107
6.1.1 Collection 108
6.1.2 Map集合 109
任务6-1 Map的使用 109
任务6-2 HashMap及
TreeMap的使用 111
6.1.3 List集合 112
任务6-3 顺序表 113
任务6-4 链表操作 116
6.1.4 Set集合 117
任务6-5 计算出现的次数 117
6.2 集合的遍历 118
6.2.1 Iterator接口 118
任务6-6 集合的迭代 119
6.2.2 增强型for循环 120
任务6-7 增强型for循环 120
6.3 数组 121
6.3.1 数组的定义及初始化 121
6.3.2 数组的使用 121
任务6-8 一维数组的使用 122
任务6-9 二维数组 123
6.4 项目实战 124
项目6-1 实现Mapper和
Reducer接口 124
项目6-2 三人斗地主——洗牌
发牌程序 125
6.5 单元小结 129
6.6 课后习题 129

第7单元
文件及流 130
情景引入 130
学习目标 130
思维导图 130
7.1 File类 131
7.1.1 File类的常用方法 131
任务7-1 文件的创建与删除 132
任务7-2 获取文件的固有
属性 133
任务7-3 获取文件的可变
属性 133
7.1.2 目录文件遍历 134
任务7-4 获取子文件列表和
目录 134
任务7-5 获取目录下的所有文本
文件并输出 135
任务7-6 删除文件夹 137
7.2 输入输出流 138
7.2.1 输入输出流的概念 138
7.2.2 字节流 139
任务7-7 文件输入输出流 140
任务7-8 文件的复制 142
任务7-9 使用RandomAccessFile
类操作文件 143
7.2.3 字符流 144
任务7-10 使用缓存字符流
读取和写入数据 144
7.3 项目实战 145
项目7-1 实现MapReduce
框架中的Split 145
项目7-2 文件系统 146
7.4 单元小结 152
7.5 课后习题 152

第8单元
日期和时间 153
情景引入 153
学习目标 153
思维导图 153
8.1 Date类 154
8.1.1 计算机的时间 154
任务8-1 当前时间与计算机
时间原点 154
8.1.2 Date类的应用 154
任务8-2 Date类的使用 155
8.2 Calendar类 155
8.2.1 Calendar类简介 155
8.2.2 Calendar类的计算 156
任务8-3 日期的计算 156
任务8-4 日历 157
8.3 项目实战 158
项目8-1 记录文件分割耗时 158
项目8-2 超市产品过期提醒及
促销活动 159
8.4 单元小结 160
8.5 课后习题 161

第9单元
反射、异常及枚举 162
情景引入 162
学习目标 162
思维导图 163
9.1 反射 163
9.1.1 反射概述 163
任务9-1 运行时类型识别 164
任务9-2 利用Class类创建
类对象 165
任务9-3 通过类名获取类
信息 166
任务9-4 使用instanceof
关键字获取类型
信息 167
任务9-5 String类的反射 168
9.1.2 反射的应用 169
任务9-6 获取类的构造方法 169
任务9-7 使用反射创建一个
类的对象 170
任务9-8 查看类的成员属性 171
任务9-9 改变成员变量的值 172
任务9-10 获取类的成员
方法 173
任务9-11 调用类的成员
方法 174
9.2 异常 176
9.2.1 概念 176
9.2.2 基本异常 177
任务9-12 数组下标越界
异常 177
任务9-13 异常的捕获顺序 178
任务9-14 finally语句块 178
任务9-15 异常抛出 179
9.2.3 自定义异常 180
任务9-16 自定义异常 181
9.2.4 拓展:Error类及
RuntimeException类 181
9.3 枚举 182
任务9-17 枚举的简单使用 182
任务9-18 向Enum中添加
新方法 183
任务9-19 使用Enum实现
接口 184
9.4 项目实战 185
项目9-1 处理自定义异常 185
项目9-2 复制对象属性 186
9.5 单元小结 190
9.6 课后习题 191

第10单元
并发编程 192
情景引入 192
学习目标 192
思维导图 193
10.1 线程与进程 194
10.2 线程的创建 194
10.2.1 继承Thread类 194
任务10-1 使用Thread类实现
多线程 196
任务10-2 Thread类部分方法
的使用 197
任务10-3 start()方法和run()
方法 197
10.2.2 实现Runnable接口 199
任务10-4 使用Runnable
接口实现多线程 199
10.3 线程的调度 199
10.3.1 线程的生命周期 199
10.3.2 线程的优先级 200
任务10-5 线程优先级 200
10.3.3 线程插队 202
任务10-6 线程插队 202
10.3.4 线程休眠 203
任务10-7 线程休眠 203
10.3.5 同步与互斥 205
任务10-8 非同步打水 205
任务10-9 同步打水 206
任务10-10 线程互斥的
计数器 207
任务10-11 生产者-消费者
模型 208
10.3.6 死锁问题 210
任务10-12 线程死锁 210
10.4 多线程 212
10.4.1 线程池技术 212
任务10-13 缓存线程池 212
任务10-14 计划任务
线程池 213
10.4.2 Callable接口和Future
接口 214
任务10-15 Callable接口的
用法 214
任务10-16 Future接口的
用法 215
10.5 项目实战 216
项目10-1 实现MapReduce
的并发 216
10.6 单元小结 219
10.7 课后习题 220

第11单元
网络编程 221
情景引入 221
学习目标 221
思维导图 221
11.1 网络协议 222
11.1.1 TCP及UDP 222
任务11-1 URL类和
URLConnection
类的使用 222
11.1.2 IP地址及端口号 223
任务11-2 IP类的使用 223
11.2 TCP通信 224
11.2.1 Socket类 224
11.2.2 ServerSocket类 225
任务11-3 端到端通信 225
11.3 UDP通信 226
11.3.1 DatagramPacket类 227
11.3.2 DatagramSocket类 227
任务11-4 UDP通信模型 228
11.4 项目实战 230
项目11-1 设计通信程序 230
11.5 单元小结 233
11.6 课后习题 233

第12单元
综合实训——简易网上银行
系统 235
情景引入 235
学习目标 235
思维导图 236
12.1 JDBC 236
12.1.1 JDBC简介 237
12.1.2 JDBC的通用API 237
任务12-1 DriverManager
类的使用 239
任务12-2 Statement接口的
使用 241

任务12-3 PreparedStatement
接口和ResultSet
接口的使用 243
12.2 日志 245
12.3 测试 246
12.3.1 JUnit简介 246
12.3.2 功能测试及断言 246
任务12-4 简单的JUnit测试
任务 246
任务12-5 JUnit的注解 248
12.4 事务 250
任务12-6 本地事务 250
12.5 简易网上银行系统 256
12.5.1 基础项目搭建 256
12.5.2 账户注册及登录 274
12.5.3 转账功能 278
12.6 单元小结 282

读者评论

赶紧抢沙发哦!

我要评论

相关图书

人邮微信
本地服务
人邮微信
教师服务
二维码
读者服务
读者服务
返回顶部
返回顶部