图书目录

目 录

第1 章建立Java 程序开发环境

1

1.1 Java 语言概述

1

1.1.1 程序设计语言 

1

1.1.2 Java 语言的特点 

1

1.2 建立Java 开发环境

2

1.3 第一个“Hello world!”程序 

2

1.3.1 创建Java 程序工程 

2

1.3.2 运行Java 程序 

5

1.4 Java 程序的运行过程

6

1.4.1 编译代码 

7

1.4.2 Java 程序的运行机理 

8

1.5 练习:安装Java 开发环境.

9

第2 章 Java 基本运算和输入/ 输出 10

2.1 Java 程序的组成10

2.2 Java 基本数据类型和字面常量11

2.3 变量11

2.3.1 定义变量和访问变量 .12

2.3.2 显示变量的值 .12

2.4 数据运算13

2.5 Java 基本输入/ 输出和String 类的使用13

2.5.1 基本输出语句 .14

2.5.2 基本输入语句 .16

2.5.3 String 类的使用 .17

2.6 练习:计算工资.18

第3 章 Java 程序流程控制19

3.1 顺序语句和if 分支语句19

3.2 switchcase default 分支语句及其应用实践19

3.3 循环语句21

3.4 数组21

3.4.1 定义数组 22

Jsczw.indd 3 

2024/9/13 14:29:26 

3.4.2 访问数组元素 .22

3.4.3 使用for each 遍历数组元素 23

3.4.4 二维数组 24

3.5 switch 表达式和yield 关键字的使用26

3.6 函数及其调用.27

3.7 案例:学生成绩计算系统29

3.7.1 案例任务 29

3.7.2 任务分析 29

3.7.3 任务实施 30

3.8 练习:计算质数及其和.30

第4 章类和对象31

4.1 定义类和创建对象31

4.1.1 类的含义 31

4.1.2 定义类 .32

4.1.3 在IDEA 中创建Java 类34

4.1.4 创建及使用对象 37

4.2 构造函数41

4.2.1 类的构造函数 .41

4.2.2 构造函数重载 .43

4.3 类的静态属性、静态方法和静态代码块 45

4.3.1 静态属性 46

4.3.2 静态方法 48

4.3.3 静态代码块 49

4.3.4 静态属性、静态方法和静态代码块应用实践 51

4.4 内部类 .51

4.4.1 成员内部类 51

4.4.2 静态内部类 54

4.4.3 使用内部类应用实践 .56

4.5 案例:使用Java 类描述一元二次方程56

4.5.1 案例任务 56

4.5.2 任务分析 56

4.5.3 任务实施 56

4.6 练习:计算三角形的面积和周长58

第5 章继承和多态.59

5.1 类的继承59

5.1.1 继承的概念 59

5.1.2 定义类的继承关系 60

IV 

Jsczw.indd 4 

2024/9/13 14:29:26 

5.1.3 super 关键字及方法重写64

5.1.4 练习:完成Teacher 子类和Worker 子类的代码编写 66

5.2 访问限定符 66

5.2.1 访问限定符及其可访问性 66

5.2.2 访问限定符使用举例 .67

5.3 抽象类和多态.67

5.3.1 抽象类和使用final 

关键字修饰属性 67

5.3.2 多态 71

5.3.3 使用instanceof 关键字检查对象类型72

5.3.4 对象数组 73

5.4 使用final、record 和sealed 关键字修饰类76

5.4.1 使用final 

关键字修饰类 76

5.4.2 使用record 关键字定义Java 类76

5.4.3 使用sealed 关键字修饰类 78

5.5 案例:定义Java 程序类应用实践78

5.5.1 案例任务 78

5.5.2 任务分析 78

5.5.3 任务实施 79

5.6 练习:打印自定义图形形状82

第6 章接口.83

6.1 接口及其应用.83

6.1.1 定义接口 84

6.1.2 实现接口 85

6.1.3 使用接口及instanceof 关键字在接口中的应用.87

6.1.4 接口的继承 89

6.2 接口的默认方法、静态方法和私有方法 90

6.3 函数式接口和lambda 表达式 93

6.3.1 函数式接口 93

6.3.2 使用匿名内部类实现接口 94

6.3.3 lambda 入门:使用lambda 表达式实现函数式接口95

6.3.4 lambda 表达式基本语法 96

6.3.5 接口方法引用 .97

6.4 接口、匿名内部类和lambda 表达式应用实践 .97

6.5 案例:按价格排序不同产品97

6.5.1 案例任务 98

6.5.2 任务分析 98

6.5.3 任务实施 98

6.6 练习:计算空间中两点的距离103

Jsczw.indd 5 

2024/9/13 14:29:26 

第7 章枚举类型104

7.1 枚举类型入门:一个表示四季的枚举类型104

7.2 枚举类型进阶106

7.3 枚举类型应用实践108

7.4 案例:员工Staff 类 109

7.4.1 案例任务 .110

7.4.2 任务分析 .110

7.4.3 任务实施 .110

7.5 练习:水果的成熟季节 111

第8 章 Java 基础类的使用.112

8.1 Java 基本类112

8.1.1 Object 类112

8.1.2 基本数据类型的包装类 .113

8.1.3 大数据类 .114

8.1.4 System 类 115

8.1.5 Math 类.116

8.2 字符串类.116

8.2.1 String 类 117

8.2.2 StringBuffer 类 .117

8.3 随机数生成器类 .119

8.3.1 Random 类119

8.3.2 使用RandomGenerator 接口生成随机数.120

8.4 日期时间类 121

8.4.1 Date 类121

8.4.2 Calendar 类.121

8.4.3 SimpleDateFormat 类122

8.5 使用Java 基础类应用实践124

8.6 案例:猜数游戏124

8.6.1 案例任务 .124

8.6.2 任务分析 .124

8.6.3 任务实施 .124

8.7 练习:计算闰年126

第9 章 Java 程序异常及程序调试技术127

9.1 程序错误分类127

9.2 Java 程序异常及其处理入门127

9.2.1 Java 程序异常现象举例 .127

9.2.2 Java 异常处理入门 129

VI 

Jsczw.indd 6 

2024/9/13 14:29:27 

9.3 Java 程序异常及其处理进阶131

9.3.1 Error 类.132

9.3.2 Exception 类 133

9.3.3 非检查性异常 133

9.3.4 检查性异常 133

9.3.5 Java 异常处理 135

9.3.6 自定义异常 135

9.4 案例:处理程序异常136

9.4.1 案例任务 .136

9.4.2 任务分析 .136

9.4.3 任务实施 .137

9.5 在IDEA 中调试Java 程序 140

9.6 Java 异常及程序调试应用实践.142

9.7 练习:将从键盘输入的字符串转换为浮点数142

第10 章集合类及流式编程143

10.1 泛型 .143

10.1.1 泛型入门 143

10.1.2 泛型类 .145

10.1.3 泛型方法 146

10.1.4 泛型接口 147

10.1.5 泛型类型限制和泛型通配符“?”150

10.2 集合类150

10.2.1 集合类主要接口和类之间的关系 150

10.2.2 List 接口及其实现类的使用 151

10.2.3 Set 接口及其实现类的使用 154

10.2.4 Map 接口及其实现类的使用.158

10.2.5 数组工具类Arrays 的使用 .160

10.3 Java 流式编程161

10.3.1 Java 常用函数式接口及其使用 161

10.3.2 Optional 类及泛型通配符“?”使用举例164

10.3.3 流式编程入门 .168

10.3.4 创建Stream 和操作Stream.170

10.4 Java 数组、集合类及流式编程应用实践.170

10.5 案例:自制词典171

10.5.1 案例任务 171

10.5.2 任务分析 171

10.5.3 任务实施 171

10.6 练习:使用流式编程查询学生信息.172

VII 

Jsczw.indd 7 

2024/9/13 14:29:27 

第11 章文件输入/ 输出操作173

11.1 文件基本操作 173

11.1.1 使用File 类操作文件属性 173

11.1.2 使用Files 类操作文件属性及读/ 写文件内容175

11.1.3 使用WatchService 监视目录和文件变化 175

11.2 字节流读/ 写 .175

11.2.1 字节流的含义 .175

11.2.2 读/ 写文件字节流 176

11.2.3 使用try-with-resource 处理异常和关闭资源178

11.2.4 读/ 写内存字节流 180

11.3 字符流读/ 写 .181

11.3.1 字符编码和字符解码 .182

11.3.2 无缓冲字符流读/ 写 184

11.3.3 带缓冲字符流读/ 写 186

11.4 对象数据读/ 写 188

11.5 Java 流操作应用实践 190

11.6 案例:通讯录程序190

11.6.1 案例任务 190

11.6.2 任务分析 191

11.6.3 任务实施 191

11.7 练习:自制工资管理程序195

第12 章 Java 反射和注解196

12.1 Java 反射196

12.1.1 反射概念的引入 196

12.1.2 反射的核心——Class 类197

12.1.3 通过反射获取类的构造方法、属性和普通方法 199

12.2 Java 注解202

12.2.1 Java 标准注解 .202

12.2.2 自定义注解 202

12.3 Java 反射与注解应用实践.206

12.4 案例:自动注入对象.207

12.4.1 案例任务 207

12.4.2 任务分析 207

12.4.3 任务实施 207

12.5 练习:自动注入Teacher 对象 .210

第13 章多线程211

13.1 Java 多线程入门211

VIII 

Jsczw.indd 8 

2024/9/13 14:29:27 

13.2 Thread 类及创建子线程214

13.2.1 通过继承Thread 类创建线程215

13.2.2 通过实现Runnable 接口创建线程.215

13.2.3 使用FutureTask 创建线程 218

13.3 线程状态、线程调度和线程优先级221

13.4 线程并发控制 222

13.4.1 多线程中数据的不一致性现象举例 .222

13.4.2 使用synchronized 控制线程并发225

13.4.3 使用原子类型变量控制线程并发 227

13.4.4 使用Lock 接口控制线程并发 229

13.5 线程同步控制及生产者—消费者模型 229

13.6 线程池229

13.6.1 Java 线程池框架 230

13.6.2 线程池使用举例 231

13.6.3 多例多线程和单例多线程及ThreadLocal 类的使用234

13.7 Java 线程应用实践.237

13.8 案例:找出小于1000 的所有质数和水仙花数.238

13.8.1 案例任务 238

13.8.2 任务分析 238

13.8.3 任务实施 238

13.9 练习:统计上网人数.241

第14 章网络编程.242

14.1 网络通信协议 242

14.1.1 IP 地址InetAddress 类和端口 242

14.1.2 UDP 和TCP .244

14.2 使用UDP 进行通信 244

14.2.1 DatagramSocket 类和DatagramPacket 类 244

14.2.2 UDP 点对点通信程序举例 .245

14.3 使用TCP 进行通信249

14.3.1 客户/ 服务器模式 249

14.3.2 ServerSocket 类和Socket 类 249

14.3.3 TCP 通信程序举例 250

14.4 使用HTTP 访问网络页面.254

14.4.1 Java 对HTTP 的实现概述 254

14.4.2 使用HttpClient 访问网络页面.256

14.5 Java 网络编程应用实践257

14.6 案例:聊天程序258

14.6.1 案例任务 258

IX 

Jsczw.indd 9 

2024/9/13 14:29:27 

14.6.2 任务分析 258

14.6.3 任务实施 258

14.7 练习:完善聊天程序Chatter 类的代码.263

第15 章使用JDBC 访问数据库 264

15.1 JDBC 概述 264

15.2 加载数据库驱动程序265

15.3 JDBC 接口访问数据库的核心类和核心接口 266

15.3.1 DriverManager 类注册数据库驱动程序266

15.3.2 Connection 接口建立与数据库的连接.267

15.3.3 Statement 接口执行SQL 语句268

15.3.4 PreparedStatement 接口执行参数化SQL 语句269

15.3.5 ResultSet 接口处理查询结果.270

15.4 案例:实现对book 表的增删改查271

15.4.1 案例任务 271

15.4.2 任务分析 271

15.4.3 任务实施 271

15.5 JDBC 应用实践 278

15.6 练习:完成案例程序的删改查功能.278

第16 章 Java 图形用户界面279

16.1 Swing 概述279

16.2 容器组件 279

16.2.1 JFrame 顶级窗口容器.279

16.2.2 JPanel 面板容器.281

16.3 布局管理器.283

16.3.1 FlowLayout 布局283

16.3.2 GridLayout 布局.285

16.3.3 BorderLayout 布局286

16.4 Swing 常用组件288

16.5 Swing 事件处理290

16.6 Java 图形界面应用程序开发实践.293

16.7 案例:图像混合器293

16.7.1 案例任务 293

16.7.2 任务分析 293

16.7.3 任务实施 294

16.8 练习:图形界面聊天程序297

参考文献.298