Java程序设计与实践(微课版)

Java一流课程、省精品课程、配套资源丰富
分享 推荐 1 收藏 1 阅读 385
郑如滨 (作者) 978-7-115-65212-6

关于本书的内容有任何问题,请联系 刘博

1. 面向实践能力培养
本教材特别强调编程实践能力的培养。对于Java程序员来说,实践能力不仅体现在代码的编写,还体现在开发工具的使用、代码规范、项目结构规划、代码阅读、JDK文档阅读、技术文档编写、测试工具使用、代码管理等。教材内容包含了开发工具使用、代码规范、类库代码分析、最佳实践(best practice)、各种案例。教材每节节尾设置的“思考与练习”可以让学生做到即学即练,教材每章最后设置的“实践任务自检清单”设置了精心设计的编程与实践任务清单,方便读者学习打卡自检本。同时,教材还配套了线上编程习题集,可供读者进行编程实践练习。
2. 一流课程课程
本教材配套的线上课程为福建省一流线上课程,在学银在线、学堂在线平台均已有多轮开课,获得学习者广泛好评,有不少院校使用本线上课程作为开展混合式教学。线上课程包含视频讲解、章节测验、课程讨论、期末考试等内容。Java学习是一个不断积累、长期坚持的工程。读者可跟着线上课程每周稳步推进,就能逐步完成整个课程的学习。让线上课程帮助你保持学习的纪律性吧!
3. 在线实践编程
Java学习中最重要的就是编程实践。编程是那种“纸上得来终觉浅,绝知此事要躬行”的事情,只有不断地编程才是最好的学习编程的方法。课本配套的线上编程题集按章编号,建议每章读完就把该章的编程习题刷完。信不信?刷着刷着,就能刷出了一种上瘾的感觉。因为,只有自己所编写的程序能跑起来、跑得对,才有那种真实的获得感。
本教材在PTA(Programming Teaching Assistant, 程序设计类实验辅助教学平台)设有配套的线上编程题集。题集包含超过70题的精挑细选的函数题、编程题,读者登录平台后在相应题集中输入“读者验证码”(随书提供)即可进行线上编程练习。
4. 电子资源丰富
为了避免教材过于厚重不利于翻看,本书还将部分章节以电子化的方式呈现,学习者可通过随书所附文档、教材相关博客来获取这方面的内容。教材还为读者与任课教师提供了丰富的电子资源。
读者:代码,电子化的第10章、第11章内容,拓展阅读,融合技术的思政材料等。
教师:教学大纲、混合式教学大纲、预习雨课件、课件、章节测验课件等。
5. 教学生态完整
教材编写团队力图建设一个Java教学生态,以教材与线上课程为核心,辅以教学博客、教学论坛和Java学习QQ群、Java教学服务QQ群,为广大读者提供更好的服务。本书配套了Java线上学习社区与Java技术文章博客,读者们亦可参与其中,和志同道合的其

内容摘要

Java是一门流行的面向对象程序设计语言,在Web开发、移动应用程序开发中都有广泛的应用,学习Java编程可以培养使用面向对象思维解决问题的能力、培养计算思维以及提高编程实践能力。
本书以Java 11为主要版本,介绍Java基础语法及面向对象的编程思想,并在此基础上,阐述集合框架、异常处理、流与文件、并发编程、数据库编程等重要内容。本书包含大量的实例、代码示例及线上编程题集等,可以帮助读者较好地理解Java的实际应用。
本书内容丰富,讲解由浅入深,注重理论联系实际,适用于计算机类专业的编程教学,也适合计算机编程爱好者自学使用。

目录

Java基础

第1章 绪论 1
1.1 Java的应用、开发生态与发展
历史 1
1.1.1 Java的应用 1
1.1.2 Java的开发生态 3
1.1.3 Java的发展历史 4
1.2 Java的特点与优势 5
1.3 第一个Java程序 6
1.4 Java程序开发步骤 8
1.5 Java开发与运行环境 11
1.5.1 JVM、JRE与JDK 11
1.5.2 Java开发环境安装 12
1.5.3 编译与运行带命令行参数的
Java程序 14
1.5.4 Eclipse集成开发环境 15
1.5.5 IDEA集成开发环境 20
1.6 Java编程基本规范与注释 23
1.7 本章小结 25
1.8 习题 25
1.9 实践任务自检清单 27
第2章 Java基础语法 28
2.1 变量与常量、数据类型与
运算符 28
2.1.1 变量与常量 28
2.1.2 数据类型 30
2.1.3 运算符 32
2.1.4 类型转换 37
2.2 程序结构 39
2.2.1 if-else选择结构 39
2.2.2 switch选择结构 42
2.2.3 for循环结构 45
2.2.4 while循环结构 47
2.2.5 打断循环:break、continue 49
2.2.6 循环小案例 51
2.3 存储大量数据:数组 52
2.3.1 数组基础 52
2.3.2 数组常见操作 54
2.3.3 多维数组 57
2.3.4 数组工具类:Arrays 59
2.4 代码的复用:方法 60
2.4.1 方法的定义 60
2.4.2 方法的重载 62
2.4.3 方法的递归调用 64
2.5 引用数据类型:字符串 66
2.5.1 字符串基础 66
2.5.2 String类的常用方法 67
2.5.3 String与StringBuilder 70
2.6 引用数据类型:包装类 71
2.6.1 包装类常见方法 72
2.6.2 包装类常见属性 73
2.6.3 包装类对象、null与包装类的
使用场景 73
2.7 引用数据类型:数组列表 74
2.8 案例:学生成绩管理 75
2.9 本章小结 78
2.10 习题 79
2.11 实践任务自检清单 81

Java面向对象

第3章 类与对象 83
3.1 面向过程与面向对象 83
3.2 面向对象入门 84
3.2.1 基本概念 84
3.2.2 类与对象 86
3.2.3 根据需要定义类 86
3.2.4 命名规范 86
3.3 指向对象的引用 87
3.3.1 引用数据类型变量与引用 87
3.3.2 null引用 87
3.3.3 对象的相等性比较 89
3.3.4 引用数据类型变量作为方法
参数 89
3.4 使用类进行面向对象程序设计与
封装 91
3.4.1 使用类进行面向对象程序
设计 91
3.4.2 封装 93
3.4.3 setter/getter方法与this 94
3.5 对象的创建与初始化 95
3.5.1 对象的初始化 95
3.5.2 使用构造方法来初始化对象 96
3.5.3 private构造方法:不允许
创建对象 98
3.5.4 使用初始化块初始化对象 98
3.5.5 对象销毁与垃圾收集 99
3.6 使用static修饰属性、方法与
初始化块 100
3.7 final 103
3.7.1 使用final修饰变量与属性 103
3.7.2 final的使用时机与常量命名
规范 104
3.8 使用包管理类 104
3.8.1 包与模块系统概述 105
3.8.2 使用包中的类 105
3.8.3 创建包与包的命名 107
3.8.4 类路径、JAR文件与项目
构建 107
3.9 案例:识别购物车问题中的类 109
3.10 Java类库代码分析与使用:
 Math类、String类与包装类 113
3.10.1 Math类 113
3.10.2 String类 114
3.10.3 包装类(以Integer类
 为例) 115
3.11 本章小结 117
3.12 习题 117
3.13 实践任务自检清单 120
第4章 继承与多态 121
4.1 代码复用 121
4.2 继承基本概念 122
4.2.1 父类、子类、继承与is-a
关系 122
4.2.2 所有类的父类:Object 125
4.2.3 覆盖:子类对父类方法的
继承与改造 127
4.2.4 属性的隐藏与访问:使用
super关键字 130
4.2.5 使用super调用父类构造
方法 131
4.3 继承与多态 132
4.3.1 向上转型与动态绑定 132
4.3.2 多态性与面向抽象编程 134
4.3.3 继承与多态的总结 135
4.4 类型转换与instanceof 136
4.4.1 子类与父类之间的类型
转换 136
4.4.2 使用instanceof进行安全的
类型转换 137
4.5 访问修饰符 137
4.5.1 类级访问修饰 138
4.5.2 成员级访问修饰 138
4.5.3 protected与继承 138
4.5.4 使用访问修饰符的最佳
实践 140
4.6 不可被修改、不可被继承:使用
final关键字 141
4.6.1 使用final修饰类与方法 141
4.6.2 final与不可变类 142
4.7 抽象类及抽象方法:abstract 143
4.8 Java类库代码分析与使用:
Number与Random 145
4.8.1 数值相关类的父类:
Number 145
4.8.2 随机数类:Random 146
4.9 本章小结 148
4.10 习题 149
4.11 实践任务自检清单 152
第5章 接口与嵌套类 153
5.1 接口基本概念 153
5.1.1 现实世界中的接口 153
5.1.2 接口及其实现类 154
5.1.3 接口的实现及其
UML类图 155
5.1.4 接口、多态与面向接口
编程 156
5.2 接口的其他语法特性 157
5.2.1 实现多个接口 157
5.2.2 扩展接口 158
5.2.3 instanceof与接口 158
5.2.4 接口常量、静态方法与私有
方法 159
5.2.5 接口的默认方法 159
5.3 常用接口 161
5.3.1 Comparable接口:让排序
代码更加通用 161
5.3.2 Comparator接口:让排序
更加灵活 164
5.3.3 Cloneable接口:用于对象
克隆的标记接口 165
5.4 接口与抽象类的区别 168
5.5 嵌套类 169
5.5.1 非静态嵌套类 169
5.5.2 静态嵌套类 171
5.5.3 内部类:局部类 173
5.5.4 内部类:匿名类 174
5.6 案例:改造购物车 176
5.6.1 使用接口与嵌套类改造
购物车 176
5.6.2 进阶:使用DAO模式改进
商品数据存储功能 183
5.7 本章小结 188
5.8 习题 189
5.9 实践任务自检清单 191

Java进阶

第6章 Java集合框架 193
6.1 泛型 194
6.2 List接口:保持顺序,允许重复 195
6.2.1 ArrayList集合类 196
6.2.2 使用Iterator迭代器遍历
List 200
6.2.3 使用for-each遍历List 201
6.3 Set接口:保持唯一,高效去重 201
6.3.1 HashSet与hasCode()、
equals()方法 202
6.3.2 TreeSet与Comparable、
Comparator接口 204
6.4 Queue接口:有序排队,出队
入队 207
6.4.1 Queue接口简介 207
6.4.2 PriorityQueue接口简介 208
6.4.3 Deque接口简介 208
6.5 Map接口:键值映射,快速
查找 209
6.6 集合工具类:Collections 211
6.7 使用Java集合框架进行面向
对象设计 213
6.8 Java流式编程简介 215
6.8.1 Lambda表达式 215
6.8.2 Stream流式编程 217
6.9 本章小结 220
6.10 习题 221
6.11 实践任务自检清单 223
第7章 异常处理 224
7.1 异常基本概念 224
7.1.1 初识异常 225
7.1.2 为什么要使用异常处理
机制 227
7.1.3 Java程序中的常见异常 227
7.2 异常继承体系与分类 228
7.3 异常处理机制 230
7.3.1 抛出异常 230
7.3.2 声明异常 232
7.3.3 捕获异常 232
7.3.4 finally与资源管理 234
7.3.5 try-with-resources语法与
AutoCloseable接口 235
7.4 自定义异常 237
7.5 异常处理注意事项 239
7.6 本章小结 240
7.7 习题 240
7.8 实践任务自检清单 242
第8章 Java I/O流与文件操作 243
8.1 I/O流 244
8.1.1 I/O流的分类 244
8.1.2 I/O流的基本使用 245
8.1.3 在流编程中使用try-with-
resources释放资源 246
8.2 字节流 247
8.2.1 FileInputStream 248
8.2.2 FileOutputStream 248
8.3 字符流 250
8.3.1 字符编码 250
8.3.2 FileReader与FileWriter 251
8.3.3 转换流 252
8.4 缓冲流 253
8.5 格式化文本处理 256
8.5.1 使用Scanner扫描格式化
文本 256
8.5.2 使用PrintWriter格式化输出
文本 257
8.5.3 标准输入输出与控制台输入
输出 259
8.6 处理二进制数据 261
8.6.1 数据流 261
8.6.2 对象流与序列化 262
8.6.3 组合过滤流编程模式 264
8.7 文件基本操作 265
8.7.1 File类简介 265
8.7.2 Path接口与Paths类 266
8.7.3 使用Files类进行文件操作 266
8.8 本章小结 270
8.9 习题 271
8.10 实践任务自检清单 272
第9章 Java并发编程 274
9.1 并发编程基本概念 274
9.1.1 基本概念 274
9.1.2 为什么需要并发编程 275
9.1.3 进程与线程 275
9.1.4 Java对并发编程的支持 276
9.1.5 多线程程序 277
9.2 任务与线程 278
9.2.1 任务与线程概述 278
9.2.2 Thread类与Runnable接口 278
9.2.3 Thread类及其常用方法 280
9.2.4 线程的状态 281
9.2.5 线程调度 283
9.2.6 中断线程 288
9.2.7 守护线程 290
9.2.8 线程优先级 291
9.3 同步:互斥访问 292
9.3.1 资源共享带来的问题 292
9.3.2 synchronized关键字 294
9.4 同步:线程间的协作 296
9.5 本章小结 300
9.6 习题 300
9.7 实践任务自检清单 302

Java应用

第10章 JDBC数据库编程 303
10.1 关系数据库与SQL基础 303
10.1.1 关系数据库 303
10.1.2 SQL 304
10.1.3 SQL的基本使用 305
10.1.4 MySQL数据库的使用 308
10.1.5 MySQL数据库中的数据
 类型 308
10.2 JDBC基础 309
10.3 JDBC程序:数据查询 310
10.3.1 加载驱动程序 312
10.3.2 连接数据库:Connection 312
10.3.3 声明与执行SQL语句:
 Statement 312
10.3.4 处理查询结果:ResultSet 313
10.3.5 关闭连接 315
10.3.6 在项目中使用java.sql
 模块 315
10.4 使用Statement进行增、删、改
 操作 316
10.4.1 executeUpdate()方法 316
10.4.2 插入记录并获取所插入
 记录的主键值 317
10.4.3 执行各种SQL语句:
 execute()方法 318
10.5 预处理:PreparedStatement 318
10.6 批量处理 320
10.7 事务处理 321
10.8 本章小结 324
10.9 习题 324
10.10 实践任务自检清单 326

读者评论

赶紧抢沙发哦!

我要评论

作者介绍

郑如滨 常年讲授《数据结构》、《Java语言程序设计》、《Python语言程序设计》课程。主持建设了福建省《Java语言程序设计》精品在线在线课程。《Java语言程序设计》雨课件荣获教育部在线教育研究中心2019年智慧教学课件“雨课件”称号。

推荐用户

购买本书用户

相关图书

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