书籍详情
Java应用与实战
作者:刘磊 等
出版社:电子工业出版社
出版时间:2023-05-01
ISBN:9787121452970
定价:¥79.80
购买这本书可以去
内容简介
本书基于Java的长期支持版本(Java 11)系统地讲解Java的核心语法,内容全面,深入浅出,贯穿了大量实例。本书详细讲解了Java及面向对象编程基础、图形用户界面的编程方法、基础类和工具类的使用方法、泛型与集合框架、Java I/O技术、JDBC编程技术、多线程机制、网络编程技术等实用内容。本书强调理论与应用相结合,自第2章开始,每章的后一节均为编程实训,应用该章涉及的内容完成相应的实训案例。第2~3章逐步完成气泡案例,第4~13章逐步完成飞机大战案例。本书适合计算机相关专业的本科生、专科生,以及计算机初学者阅读,既可以作为应用型本科院校和高等职业院校Java基础课程的教材,又可以作为相关领域从业者的学习和参考用书。
作者简介
本书由达内时代科技集团和吉林工商学院的各位专家教授联合编著。达内时代科技集团是国内知名的互联网-IT教育培训单位,是一站式互联网人才基地,专注IT职业教育人才服务多年,拥有300多家培训中心,帮助学员实现一地学习全国就业。是一所以本科教育为主、专科教育为辅的财经性应用型本科院校,入选吉林省首批应用型试点本科院校,具备联合培养硕士研究生资格。
目录
目 录
第 1 章 Java 语言概述 1
1.1 Java 的发展历程 1
1.2 Java 的特点 2
1.3 Java 技术三大平台 4
1.3.1 Java SE 5
1.3.2 Java EE 5
1.3.3 Java ME 5
1.4 Java 虚拟机 5
1.5 Java 开发环境的构建 6
1.5.1 选择合适的 JDK 版本 6
1.5.2 下载和安装 JDK 7
1.5.3 IntelliJ IDEA 开发工具 12
1.6 个 Java 程序 14
1.6.1 使用文本编辑工具实现 15
1.6.2 使用 IntelliJ IDEA 实现 16
本章小结 19
习题 19
第 2 章 Java 语言基础 22
2.1 标识符、关键字和保留字 22
2.1.1 标识符 22
2.1.2 关键字和保留字 23
2.2 变量 24
2.3 基本数据类型 26
2.3.1 数据类型的分类 26
2.3.2 整数类型 27
2.3.3 浮点类型 28
2.3.4 字符类型 29
2.3.5 布尔类型 30
2.3.6 数据类型转换 31
2.3.7 字符串类型 33
2.4 运算符与表达式 33
2.4.1 算术运算符与算术表达式 34
2.4.2 关系运算符与关系表达式 36
2.4.3 逻辑运算符与逻辑表达式 36
2.4.4 赋值运算符与赋值表达式 38
2.4.5 条件运算符与条件表达式 39
2.4.6 运算符的结合性和优先级 40
2.5 流程控制语句 41
2.5.1 顺序结构 41
2.5.2 分支结构 41
2.5.3 循环结构 46
2.5.4 中断和跳转 49
2.6 数组 51
2.6.1 一维数组 52
2.6.2 二维数组 56
2.7 编程实训——气泡案例(随机 控制气泡) 58
本章小结 64
习题 64
第 3 章 面向对象编程基础 68
3.1 面向对象编程的思想 68
3.1.1 面向对象简介 69
3.1.2 面向对象的特征 69
3.1.3 类与对象的关系 70
3.2 类 70
3.2.1 定义类的语法格式 70
3.2.2 成员变量 71
3.2.3 成员方法 72
3.3 对象 74
3.3.1 创建对象 74
3.3.2 使用对象 75
3.4 引用类型与垃圾回收 76
3.4.1 引用类型与引用类型变量 76
3.4.2 垃圾回收 77
3.5 方法的重载 77
3.6 构造方法 78
3.6.1 使用构造方法 78
3.6.2 有参构造方法 79
3.6.3 默认构造器与构造器重载 80
3.6.4 关键字 this 80
3.7 实例成员与类成员 83
3.7.1 实例变量和类变量 83
3.7.2 实例方法和类方法 84
3.8 方法的参数传递机制 85
3.8.1 基本数据类型参数的传值 85
3.8.2 引用类型参数的传值 86
3.8.3 可变参数 87
3.9 包 88
3.9.1 包的定义 89
3.9.2 包的引入 89
3.9.3 常用的包 90
3.10 封装和访问控制 91
3.11 编程实训——气泡案例 (气泡吞噬) 94
本章小结 102
习题 103
第 4 章 Java GUI 编程技术 107
4.1 AWT 和 Swing 简介 107
4.1.1 AWT 概述 108
4.1.2 Swing 概述 108
4.1.3 Swing 组件的层次结构 108
4.1.4 Swing 编程的流程 109
4.2 Swing 常用的容器类组件 110
4.2.1 JFrame 类 110
4.2.2 JDialog 类 112
4.2.3 JPanel 类和JScrollPane 类 113
4.3 Swing 常用的基本组件 116
4.3.1 标签组件 117
4.3.2 按钮组件 118
4.3.3 文本组件 122
4.3.4 下拉框组件 126
4.3.5 列表框组件 127
4.3.6 菜单组件 128
4.3.7 表格组件 130
4.3.8 树组件 131
4.4 布局管理器 132
4.4.1 FlowLayout 132
4.4.2 BorderLayout 133
4.4.3 GridLayout 135
4.4.4 GridBagLayout 136
4.4.5 CardLayout 137
4.4.6 BoxLayout 137
4.4.7 空布局 138
4.5 事件处理 138
4.5.1 事件处理机制 138
4.5.2 Swing 常用事件处理 140
4.5.3 事件适配器 154
4.5.4 事件监听器的实现方式 156
4.6 编程实训——飞机大战案例 (实现游戏背景连续播放) 159
本章小结 166
习题 166
第 5 章 继承与多态 170
5.1 类的继承 170
5.1.1 子类与父类 171
5.1.2 子类的继承性 172
5.1.3 子类与对象 173
5.2 成员变量的隐藏和方法重写 174
5.3 关键字 super 176
5.4 关键字 final 180
5.5 多态 183
5.6 对象的向上类型转换 184
5.7 虚拟方法调用 187
5.8 抽象方法和抽象类 187
5.8.1 抽象方法 187
5.8.2 抽象类 188
5.8.3 面向抽象编程 189
5.9 编程实训——飞机大战案例 (实现英雄机移动) 190
本章小结 196
习题 196
第 6 章 异常机制 198
6.1 Java 的异常机制 198
6.2 Java 的异常的分类 199
6.3 异常的常用方法 200
6.4 Java 的异常的处理 202
6.4.1 产生异常的原因 202
6.4.2 捕获并处理异常 203
6.4.3 声明和抛出异常 205
6.5 自定义异常 207
6.6 断言 209
6.6.1 Java 断言的语法 210
6.6.2 在 IDEA 中开启断言 211
6.6.3 不适合使用断言的场景 213
6.7 编程实训——飞机大战案例 (添加子弹,处理游戏 Bug) 213
本章小结 220
习题 221
第 7 章 接口与实现 223
7.1 接口 223
7.2 实现接口 224
7.3 接口回调 226
7.4 接口与多态 227
7.5 类与接口 228
7.5.1 抽象类与接口 228
7.5.2 内部类 230
7.5.3 匿名类与接口 231
7.6 函数接口与 Lambda 表达式 232
7.7 面向接口编程 234
7.8 编程实训——飞机大战案例 (实现子弹消灭敌机) 234
本章小结 246
习题 246
第 8 章 基础类和工具类 248
8.1 基础类 248
8.1.1 Object 类 249
8.1.2 包装类 253
8.1.3 String 类 257
8.2 工具类 266
8.2.1 数学类 266
8.2.2 Random 类和SecureRandom 类 268
8.2.3 日期时间类 271
8.3 编程实训——飞机大战案例 (随机出现敌机, 英雄机死亡) 278
本章小结 284
习题 285
第 9 章 泛型与集合框架 287
9.1 泛型概述 287
9.1.1 泛型的定义 287
9.1.2 泛型类的定义 288
9.1.3 泛型接口的定义 291
9.1.4 泛型方法的定义 291
9.2 集合概述 292
9.2.1 集合框架的层次结构 292
9.2.2 迭代器接口 294
9.3 List 集合 295
9.3.1 List 接口 295
9.3.2 ArrayList 集合 295
9.3.3 LinkedList 集合 297
9.4 Set 集合 300
9.4.1 Set 接口 300
9.4.2 HashSet 类 300
9.4.3 TreeSet 类 304
9.5 Map 集合 307
9.5.1 Map 接口 307
9.5.2 HashMap 类 308
9.5.3 TreeMap 类 311
9.6 遍历集合的方法 313
9.7 集合转换 314
9.8 集合工具类 316
9.8.1 Collections 工具类 316
9.8.2 Arrays 工具类 318
9.9 开发过程中如何选择集合 实现类 320
9.10 编程实训——飞机大战案例 (添加奖励机,显示战绩) 320
本章小结 328
习题 328
第 10 章 Java I/O 技术 332
10.1 文件操作类:File 类 332
10.1.1 File 类常用的方法 332
10.1.2 遍历目录下的文件 336
10.1.3 删除文件及目录 337
10.1.4 运行可执行文件 339
10.2 输入/输出流概述 340
10.2.1 输入/输出流的原理 340
10.2.2 输入/输出流的分类 341
10.3 字节流 344
10.3.1 InputStream 抽象类 344
10.3.2 OutputStream 抽象类 345
10.3.3 FileInputStream 类和 FileOutputStream 类 345
10.3.4 BufferedInputStream 类和 BufferedOutputStream 类 348
10.3.5 DataInputStream 类和 DataOutputStream 类 351
10.3.6 对象流和序列化 353
10.4 字符流 355
10.4.1 Reader 类和 Writer 类 355
10.4.2 InputStreamReader 类和 OutputStreamWriter 类 356
10.4.3 FileReader 类和 FileWriter 类 358
10.4.4 BufferedReader 类和 BufferedWriter 类 359
10.5 RandomAccessFile 类 361
10.6 PrintStream 类和 PrintWriter 类 363
10.7 数组流 365
10.8 文件锁 367
10.9 编程实训——飞机大战案例 (显示得分) 369
本章小结 374
习题 374
第 11 章 JDBC 编程技术 378
11.1 数据库和数据库管理工具 378
11.1.1 数据库的基础知识 378
11.1.2 数据库管理工具 379
11.1.3 SQL 语句的基础知识 380
11.2 JDBC 编程规范 383
11.2.1 JDBC 概述 384
11.2.2 JDBC 的编程步骤 384
11.2.3 JDBC 常用 API 393
11.3 预编译机制 397
11.3.1 预编译语句概述 397
11.3.2 预编译语句的使用 398
11.3.3 SQL 注入的原理与预防 404
11.4 编程实训——飞机大战案例 (游戏数据存入数据库中) 405
本章小结 411
习题 412
第 12 章 Java 多线程机制 413
12.1 线程的定义 413
12.1.1 进程 413
12.1.2 线程 414
12.2 线程的创建 415
12.2.1 Java 主线程 415
12.2.2 创建线程——继承 Thread 类 416
12.2.3 创建线程——实现 Runnable 接口 418
12.2.4 创建线程——Callable接口和 Future 接口 420
12.2.5 创建线程的 3 种方式的对比 421
12.3 线程的状态控制 422
12.3.1 线程的生命周期 422
12.3.2 线程的状态转换 423
12.3.3 线程的操作 423
12.3.4 线程的优先级 429
12.3.5 后台线程 430
12.4 线程的同步和互斥 433
12.4.1 线程安全 433
12.4.2 线程互斥 435
12.4.3 线程同步 438
12.4.4 线程通信 440
12.4.5 线程死锁 447
12.5 并发工具包 451
12.5.1 并发工具包概述 451
12.5.2 并发工具包常用的工具类和接口 452
12.6 编程实训——飞机大战案例 (添加游戏音乐) 461
本章小结 466
习题 466
第 13 章 Java 网络编程技术 468
13.1 计算机网络的基础知识 468
13.1.1 网络编程基础 468
13.1.2 TCP/IP 协议 472
13.1.3 UDP 协议 472
13.1.4 IP 地址 472
13.1.5 端口 473
13.2 Java 网络编程的地址类 473
13.2.1 Web 资源和 URL 473
13.2.2 URL 类 474
13.2.3 InetAddress 类 476
13.3 TCP Socket 编程 477
13.3.1 Java 套接字 477
13.3.2 Socket 类 478
13.3.3 ServerSocket 类 480
13.3.4 多线程 Java Socket编程 481
13.4 UDP Socket 编程 484
13.4.1 DatagramSocket API 484
13.4.2 DatagramPacket 类 485
13.5 编程实训——飞机大战案例 (设置服务器端及客户端) 487
本章小结 493
习题 493
第 1 章 Java 语言概述 1
1.1 Java 的发展历程 1
1.2 Java 的特点 2
1.3 Java 技术三大平台 4
1.3.1 Java SE 5
1.3.2 Java EE 5
1.3.3 Java ME 5
1.4 Java 虚拟机 5
1.5 Java 开发环境的构建 6
1.5.1 选择合适的 JDK 版本 6
1.5.2 下载和安装 JDK 7
1.5.3 IntelliJ IDEA 开发工具 12
1.6 个 Java 程序 14
1.6.1 使用文本编辑工具实现 15
1.6.2 使用 IntelliJ IDEA 实现 16
本章小结 19
习题 19
第 2 章 Java 语言基础 22
2.1 标识符、关键字和保留字 22
2.1.1 标识符 22
2.1.2 关键字和保留字 23
2.2 变量 24
2.3 基本数据类型 26
2.3.1 数据类型的分类 26
2.3.2 整数类型 27
2.3.3 浮点类型 28
2.3.4 字符类型 29
2.3.5 布尔类型 30
2.3.6 数据类型转换 31
2.3.7 字符串类型 33
2.4 运算符与表达式 33
2.4.1 算术运算符与算术表达式 34
2.4.2 关系运算符与关系表达式 36
2.4.3 逻辑运算符与逻辑表达式 36
2.4.4 赋值运算符与赋值表达式 38
2.4.5 条件运算符与条件表达式 39
2.4.6 运算符的结合性和优先级 40
2.5 流程控制语句 41
2.5.1 顺序结构 41
2.5.2 分支结构 41
2.5.3 循环结构 46
2.5.4 中断和跳转 49
2.6 数组 51
2.6.1 一维数组 52
2.6.2 二维数组 56
2.7 编程实训——气泡案例(随机 控制气泡) 58
本章小结 64
习题 64
第 3 章 面向对象编程基础 68
3.1 面向对象编程的思想 68
3.1.1 面向对象简介 69
3.1.2 面向对象的特征 69
3.1.3 类与对象的关系 70
3.2 类 70
3.2.1 定义类的语法格式 70
3.2.2 成员变量 71
3.2.3 成员方法 72
3.3 对象 74
3.3.1 创建对象 74
3.3.2 使用对象 75
3.4 引用类型与垃圾回收 76
3.4.1 引用类型与引用类型变量 76
3.4.2 垃圾回收 77
3.5 方法的重载 77
3.6 构造方法 78
3.6.1 使用构造方法 78
3.6.2 有参构造方法 79
3.6.3 默认构造器与构造器重载 80
3.6.4 关键字 this 80
3.7 实例成员与类成员 83
3.7.1 实例变量和类变量 83
3.7.2 实例方法和类方法 84
3.8 方法的参数传递机制 85
3.8.1 基本数据类型参数的传值 85
3.8.2 引用类型参数的传值 86
3.8.3 可变参数 87
3.9 包 88
3.9.1 包的定义 89
3.9.2 包的引入 89
3.9.3 常用的包 90
3.10 封装和访问控制 91
3.11 编程实训——气泡案例 (气泡吞噬) 94
本章小结 102
习题 103
第 4 章 Java GUI 编程技术 107
4.1 AWT 和 Swing 简介 107
4.1.1 AWT 概述 108
4.1.2 Swing 概述 108
4.1.3 Swing 组件的层次结构 108
4.1.4 Swing 编程的流程 109
4.2 Swing 常用的容器类组件 110
4.2.1 JFrame 类 110
4.2.2 JDialog 类 112
4.2.3 JPanel 类和JScrollPane 类 113
4.3 Swing 常用的基本组件 116
4.3.1 标签组件 117
4.3.2 按钮组件 118
4.3.3 文本组件 122
4.3.4 下拉框组件 126
4.3.5 列表框组件 127
4.3.6 菜单组件 128
4.3.7 表格组件 130
4.3.8 树组件 131
4.4 布局管理器 132
4.4.1 FlowLayout 132
4.4.2 BorderLayout 133
4.4.3 GridLayout 135
4.4.4 GridBagLayout 136
4.4.5 CardLayout 137
4.4.6 BoxLayout 137
4.4.7 空布局 138
4.5 事件处理 138
4.5.1 事件处理机制 138
4.5.2 Swing 常用事件处理 140
4.5.3 事件适配器 154
4.5.4 事件监听器的实现方式 156
4.6 编程实训——飞机大战案例 (实现游戏背景连续播放) 159
本章小结 166
习题 166
第 5 章 继承与多态 170
5.1 类的继承 170
5.1.1 子类与父类 171
5.1.2 子类的继承性 172
5.1.3 子类与对象 173
5.2 成员变量的隐藏和方法重写 174
5.3 关键字 super 176
5.4 关键字 final 180
5.5 多态 183
5.6 对象的向上类型转换 184
5.7 虚拟方法调用 187
5.8 抽象方法和抽象类 187
5.8.1 抽象方法 187
5.8.2 抽象类 188
5.8.3 面向抽象编程 189
5.9 编程实训——飞机大战案例 (实现英雄机移动) 190
本章小结 196
习题 196
第 6 章 异常机制 198
6.1 Java 的异常机制 198
6.2 Java 的异常的分类 199
6.3 异常的常用方法 200
6.4 Java 的异常的处理 202
6.4.1 产生异常的原因 202
6.4.2 捕获并处理异常 203
6.4.3 声明和抛出异常 205
6.5 自定义异常 207
6.6 断言 209
6.6.1 Java 断言的语法 210
6.6.2 在 IDEA 中开启断言 211
6.6.3 不适合使用断言的场景 213
6.7 编程实训——飞机大战案例 (添加子弹,处理游戏 Bug) 213
本章小结 220
习题 221
第 7 章 接口与实现 223
7.1 接口 223
7.2 实现接口 224
7.3 接口回调 226
7.4 接口与多态 227
7.5 类与接口 228
7.5.1 抽象类与接口 228
7.5.2 内部类 230
7.5.3 匿名类与接口 231
7.6 函数接口与 Lambda 表达式 232
7.7 面向接口编程 234
7.8 编程实训——飞机大战案例 (实现子弹消灭敌机) 234
本章小结 246
习题 246
第 8 章 基础类和工具类 248
8.1 基础类 248
8.1.1 Object 类 249
8.1.2 包装类 253
8.1.3 String 类 257
8.2 工具类 266
8.2.1 数学类 266
8.2.2 Random 类和SecureRandom 类 268
8.2.3 日期时间类 271
8.3 编程实训——飞机大战案例 (随机出现敌机, 英雄机死亡) 278
本章小结 284
习题 285
第 9 章 泛型与集合框架 287
9.1 泛型概述 287
9.1.1 泛型的定义 287
9.1.2 泛型类的定义 288
9.1.3 泛型接口的定义 291
9.1.4 泛型方法的定义 291
9.2 集合概述 292
9.2.1 集合框架的层次结构 292
9.2.2 迭代器接口 294
9.3 List 集合 295
9.3.1 List 接口 295
9.3.2 ArrayList 集合 295
9.3.3 LinkedList 集合 297
9.4 Set 集合 300
9.4.1 Set 接口 300
9.4.2 HashSet 类 300
9.4.3 TreeSet 类 304
9.5 Map 集合 307
9.5.1 Map 接口 307
9.5.2 HashMap 类 308
9.5.3 TreeMap 类 311
9.6 遍历集合的方法 313
9.7 集合转换 314
9.8 集合工具类 316
9.8.1 Collections 工具类 316
9.8.2 Arrays 工具类 318
9.9 开发过程中如何选择集合 实现类 320
9.10 编程实训——飞机大战案例 (添加奖励机,显示战绩) 320
本章小结 328
习题 328
第 10 章 Java I/O 技术 332
10.1 文件操作类:File 类 332
10.1.1 File 类常用的方法 332
10.1.2 遍历目录下的文件 336
10.1.3 删除文件及目录 337
10.1.4 运行可执行文件 339
10.2 输入/输出流概述 340
10.2.1 输入/输出流的原理 340
10.2.2 输入/输出流的分类 341
10.3 字节流 344
10.3.1 InputStream 抽象类 344
10.3.2 OutputStream 抽象类 345
10.3.3 FileInputStream 类和 FileOutputStream 类 345
10.3.4 BufferedInputStream 类和 BufferedOutputStream 类 348
10.3.5 DataInputStream 类和 DataOutputStream 类 351
10.3.6 对象流和序列化 353
10.4 字符流 355
10.4.1 Reader 类和 Writer 类 355
10.4.2 InputStreamReader 类和 OutputStreamWriter 类 356
10.4.3 FileReader 类和 FileWriter 类 358
10.4.4 BufferedReader 类和 BufferedWriter 类 359
10.5 RandomAccessFile 类 361
10.6 PrintStream 类和 PrintWriter 类 363
10.7 数组流 365
10.8 文件锁 367
10.9 编程实训——飞机大战案例 (显示得分) 369
本章小结 374
习题 374
第 11 章 JDBC 编程技术 378
11.1 数据库和数据库管理工具 378
11.1.1 数据库的基础知识 378
11.1.2 数据库管理工具 379
11.1.3 SQL 语句的基础知识 380
11.2 JDBC 编程规范 383
11.2.1 JDBC 概述 384
11.2.2 JDBC 的编程步骤 384
11.2.3 JDBC 常用 API 393
11.3 预编译机制 397
11.3.1 预编译语句概述 397
11.3.2 预编译语句的使用 398
11.3.3 SQL 注入的原理与预防 404
11.4 编程实训——飞机大战案例 (游戏数据存入数据库中) 405
本章小结 411
习题 412
第 12 章 Java 多线程机制 413
12.1 线程的定义 413
12.1.1 进程 413
12.1.2 线程 414
12.2 线程的创建 415
12.2.1 Java 主线程 415
12.2.2 创建线程——继承 Thread 类 416
12.2.3 创建线程——实现 Runnable 接口 418
12.2.4 创建线程——Callable接口和 Future 接口 420
12.2.5 创建线程的 3 种方式的对比 421
12.3 线程的状态控制 422
12.3.1 线程的生命周期 422
12.3.2 线程的状态转换 423
12.3.3 线程的操作 423
12.3.4 线程的优先级 429
12.3.5 后台线程 430
12.4 线程的同步和互斥 433
12.4.1 线程安全 433
12.4.2 线程互斥 435
12.4.3 线程同步 438
12.4.4 线程通信 440
12.4.5 线程死锁 447
12.5 并发工具包 451
12.5.1 并发工具包概述 451
12.5.2 并发工具包常用的工具类和接口 452
12.6 编程实训——飞机大战案例 (添加游戏音乐) 461
本章小结 466
习题 466
第 13 章 Java 网络编程技术 468
13.1 计算机网络的基础知识 468
13.1.1 网络编程基础 468
13.1.2 TCP/IP 协议 472
13.1.3 UDP 协议 472
13.1.4 IP 地址 472
13.1.5 端口 473
13.2 Java 网络编程的地址类 473
13.2.1 Web 资源和 URL 473
13.2.2 URL 类 474
13.2.3 InetAddress 类 476
13.3 TCP Socket 编程 477
13.3.1 Java 套接字 477
13.3.2 Socket 类 478
13.3.3 ServerSocket 类 480
13.3.4 多线程 Java Socket编程 481
13.4 UDP Socket 编程 484
13.4.1 DatagramSocket API 484
13.4.2 DatagramPacket 类 485
13.5 编程实训——飞机大战案例 (设置服务器端及客户端) 487
本章小结 493
习题 493
猜您喜欢