书籍详情

Java从入门到精通(第7版)

Java从入门到精通(第7版)

作者:明日科技

出版社:清华大学出版社

出版时间:2023-06-01

ISBN:9787302632627

定价:¥89.80

购买这本书可以去
内容简介
  《Java从入门到精通(第7版)》从初学者角度出发,通过通俗易懂的语言、丰富多彩的实例,详细讲解了使用Java语言进行程序开发需要掌握的知识。全书分为4篇共24章,内容包括初识Java,开发工具(IDEA、Eclipse),Java语言基础,流程控制,数组,类和对象,继承、多态、抽象类与接口,包和内部类,异常处理,字符串,常用类库,集合类,枚举类型与泛型,lambda表达式与流处理,I/O(输入/输出),反射与注解,数据库操作,Swing程序设计,Java绘图,多线程,并发,网络通信,飞机大战游戏,MR人脸识别打卡系统。书中所有知识都结合具体实例进行讲解,涉及的程序代码都给出了详细的注释,这可以帮助读者轻松领会Java程序开发的精髓,并快速提高开发技能。
作者简介
  明日科技,全称是吉林省明日科技有限公司,是一家专业从事软件开发、教育培训以及软件开发教育资源整合的高科技公司,其编写的教材非常注重选取软件开发中的必需、常用内容,同时也很注重内容的易学、方便性以及相关知识的拓展性,深受读者喜爱。其教材多次荣获“全行业优秀畅销品种”“全国高校出版社优秀畅销书”等奖项,多个品种长期位居同类图书销售排行榜的前列。
目录
第1篇 基础知识
第1章 初识Java 2
1.1 Java简介 2
1.1.1 什么是Java语言 2
1.1.2 Java的应用领域 3
1.1.3 Java的版本 3
1.1.4 怎样学好Java 5
1.1.5 Java API文档 6
1.2 Java语言的特性 6
1.3 搭建Java环境 8
1.3.1 下载JDK 8
1.3.2 在Windows 10系统下搭建JDK环境 9
第2章 开发工具 12
2.1 熟悉IDEA 12
2.1.1 下载IDEA 12
2.1.2 安装IDEA 14
2.1.3 配置IDEA 16
2.1.4 使用IDEA 17
2.2 熟悉Eclipse 22
2.2.1 下载Eclipse 22
2.2.2 Eclipse的配置与启动 24
2.2.3 Eclipse工作台 25
2.2.4 透视图与视图 26
2.2.5 菜单栏 26
2.2.6 工具栏 26
2.2.7 “包资源管理器”视图 29
2.2.8 “控制台”视图 29
2.3 使用Eclipse 29
2.3.1 创建Java项目 29
2.3.2 创建Java类文件 33
2.3.3 编写Java程序 34
2.3.4 运行Java程序 36
2.4 程序调试 38
第3章 Java语言基础 42
3.1 Java主类结构 42
3.2 基本数据类型 44
3.2.1 整数类型 44
3.2.2 浮点类型 45
3.2.3 字符类型 46
3.2.4 布尔类型 48
3.3 变量与常量 48
3.3.1 标识符和关键字 48
3.3.2 声明变量 50
3.3.3 声明常量 51
3.3.4 变量的有效范围 52
3.4 运算符 53
3.4.1 赋值运算符 53
3.4.2 算术运算符 54
3.4.3 自增和自减运算符 55
3.4.4 比较运算符 55
3.4.5 逻辑运算符 56
3.4.6 位运算符 57
3.4.7 复合赋值运算符 58
3.4.8 三元运算符 59
3.4.9 运算符的优先级 60
3.5 数据类型转换 61
3.5.1 隐式类型转换 61
3.5.2 显式类型转换 62
3.6 代码注释与编码规范 63
3.6.1 代码注释 63
3.6.2 编码规范 64
3.7 实践与练习 65
第4章 流程控制 66
4.1 复合语句 67
4.2 if条件语句 67
4.2.1 简单的if条件语句 68
4.2.2 if…else语句 69
4.2.3 if…else if多分支语句 69
4.2.4 if语句的嵌套 71
4.3 switch多分支语句 72
4.3.1 switch语句通用语法 72
4.3.2 switch表达式 74
4.4 while循环语句 74
4.5 do…while循环语句 75
4.6 for循环语句 76
4.6.1 传统的for语句 76
4.6.2 foreach语句 77
4.7 循环嵌套 78
4.8 循环控制 79
4.8.1 break语句 79
4.8.2 continue语句 81
4.9 实践与练习 82
第5章 数组 84
5.1 数组概述 84
5.2 一维数组 84
5.2.1 创建一维数组 84
5.2.2 初始化一维数组 86
5.2.3 使用一维数组 86
5.3 二维数组 87
5.3.1 创建二维数组 87
5.3.2 初始化二维数组 88
5.3.3 使用二维数组 88
5.4 数组的基本操作 89
5.4.1 遍历数组 89
5.4.2 填充替换数组元素 90
5.4.3 对数组进行排序 91
5.4.4 复制数组 92
5.4.5 查询数组 93
5.5 数组排序算法 95
5.5.1 冒泡排序 95
5.5.2 直接选择排序 97
5.5.3 反转排序 98
5.6 实践与练习 99
第2篇 面向对象编程
第6章 类和对象 102
6.1 面向对象概述 102
6.1.1 对象 102
6.1.2 类 104
6.1.3 封装 104
6.1.4 继承 104
6.1.5 多态 105
6.2 类 106
6.2.1 成员变量 106
6.2.2 成员方法 107
6.2.3 权限修饰符 107
6.2.4 局部变量 108
6.2.5 局部变量的有效范围 109
6.2.6 this关键字 109
6.3 类的构造方法 110
6.4 静态变量和静态方法 112
6.5 类的主方法 114
6.6 对象 115
6.6.1 对象的创建 115
6.6.2 访问对象的属性和行为 116
6.6.3 对象的引用 117
6.6.4 对象的销毁 118
6.7 实践与练习 119
第7章 继承、多态、抽象类与接口 120
7.1 类的继承 120
7.2 Object类 122
7.3 对象类型的转换 125
7.3.1 向上转型 125
7.3.2 向下转型 126
7.4 instanceof关键字及其新特性 127
7.5 方法的重载 129
7.6 final关键字 132
7.6.1 final变量 132
7.6.2 final方法 133
7.6.3 final类 133
7.7 record类 134
7.8 多态 135
7.9 抽象类 136
7.10 接口 137
7.10.1 定义接口 137
7.10.2 实现接口 138
7.10.3 接口继承接口 140
7.10.4 接口的多重继承 141
7.10.5 接口的默认方法 142
7.10.6 抽象类与接口的区别 142
7.11 实践与练习 143
第8章 包和内部类 145
8.1 Java类包 145
8.1.1 类名冲突 145
8.1.2 完整的类路径 146
8.1.3 创建包 146
8.1.4 导入包 147
8.2 内部类 148
8.2.1 成员内部类 149
8.2.2 匿名内部类 151
8.3 实践与练习 152
第3篇 核心技术
第9章 异常处理 154
9.1 异常概述 154
9.2 异常的抛出与捕捉 155
9.2.1 抛出异常 155
9.2.2 使用try…catch…finally语句捕捉异常 156
9.3 Java常见的异常类 158
9.4 自定义异常 158
9.5 在方法中抛出异常 159
9.5.1 使用throws关键字抛出异常 160
9.5.2 使用throw关键字抛出异常 160
9.6 运行时异常 162
9.7 try…with…resources语句 162
9.8 异常的使用原则 164
9.9 实践与练习 164
第10章 字符串 166
10.1 String类 166
10.1.1 声明字符串 166
10.1.2 创建字符串 167
10.2 连接字符串 168
10.2.1 连接多个字符串 168
10.2.2 连接其他数据类型 168
10.3 获取字符串信息 170
10.3.1 获取字符串长度 170
10.3.2 查找字符串 170
10.3.3 获取指定索引位置的字符 171
10.4 字符串操作 172
10.4.1 获取子字符串 172
10.4.2 去除空格 173
10.4.3 替换字符串 173
10.4.4 判断字符串的开始与结尾 174
10.4.5 判断字符串是否相等 175
10.4.6 按字典顺序比较两个字符串 176
10.4.7 字母大小写的转换 177
10.4.8 分割字符串 178
10.5 格式化字符串 179
10.5.1 日期和时间字符串格式化 179
10.5.2 常规类型格式化 182
10.6 使用正则表达式 183
10.7 字符串生成器 185
10.8 实践与练习 187
第11章 常用类库 188
11.1 包装类 188
11.1.1 Integer类 189
11.1.2 Double类 190
11.1.3 Boolean类 191
11.1.4 Character类 192
11.1.5 Number类 194
11.2 数字处理 194
11.2.1 数字格式化 194
11.2.2 Math类 197
11.2.3 Random类 200
11.2.4 BigInteger类 202
11.2.5 BigDecimal类 203
11.3 System类 205
11.3.1 在控制台中输出字符 205
11.3.2 计时 206
11.4 Scanner类 207
11.5 日期时间类 208
11.5.1 Date类 209
11.5.2 日期时间格式化类 210
11.5.3 Calendar类 213
11.6 实践与练习 215
第12章 集合类 216
12.1 集合类概述 216
12.2 Collection接口 217
12.3 List接口 218
12.3.1 List接口概述 218
12.3.2 ArrayList类 218
12.3.3 LinkedList类 219
12.4 遍历集合中的元素 220
12.4.1 Iterator遍历集合中的元素 220
12.4.2 使用foreach循环遍历集合中的元素 221
12.4.3 使用forEach()方法遍历集合中的元素 222
12.5 使用Predicate操作集合 222
12.6 Set接口 224
12.6.1 Set接口概述 224
12.6.2 HashSet类 224
12.6.3 TreeSet类 225
12.7 Map接口 226
12.7.1 Map接口概述 227
12.7.2 HashMap类 227
12.7.3 遍历Map集合 228
12.7.4 TreeMap类 229
12.7.5 Properties类 230
12.8 Collections类 232
12.9 实践与练习 233
第13章 枚举类型与泛型 234
13.1 枚举类型 234
13.1.1 使用枚举类型设置常量 234
13.1.2 深入了解枚举类型 236
13.1.3 使用枚举类型的优势 239
13.2 泛型 239
13.2.1 回顾向上转型与向下转型 239
13.2.2 定义泛型类 240
13.2.3 泛型的常规用法 241
13.2.4 泛型的高级用法 243
13.2.5 泛型总结 245
13.3 实践与练习 246
第14章 lambda表达式与流处理 247
14.1 lambda表达式 247
14.1.1 lambda表达式简介 247
14.1.2 lambda表达式实现函数式接口 248
14.1.3 lambda表达式调用外部变量 250
14.1.4 lambda表达式与异常处理 252
14.2 方法的引用 253
14.2.1 引用静态方法 253
14.2.2 引用成员方法 254
14.2.3 引用带泛型的方法 255
14.2.4 引用构造方法 256
14.2.5 Function接口 258
14.3 流处理 259
14.3.1 Stream接口 260
14.3.2 Optional类 262
14.3.3 Collectors类 263
14.3.4 数据过滤 264
14.3.5 数据映射 267
14.3.6 数据查找 268
14.3.7 数据收集 271
14.4 实践与练习 275
第15章 I/O(输入/输出) 276
15.1 输入/输出流 276
15.1.1 InputStream字节/Reader字符输入流 277
15.1.2 OutputStream字节/Writer字符输出流 278
15.2 File类 279
15.2.1 文件的创建与删除 279
15.2.2 获取文件信息 280
15.3 文件输入/输出流 281
15.3.1 FileInputStream类和FileOutputStream类 281
15.3.2 FileReader类和FileWriter类 282
15.4 带缓存的输入/输出流 283
15.4.1 BufferedInputStream类和BufferedOutputStream类 283
15.4.2 BufferedReader类和BufferedWriter类 284
15.5 数据输入/输出流 285
15.6 对象序列化输入/输出流 287
15.6.1 序列化对象 288
15.6.2 反序列化对象 289
15.7 实践与练习 289
第16章 反射与注解 290
16.1 反射 290
16.1.1 访问构造方法 291
16.1.2 访问成员变量 294
16.1.3 访问成员方法 297
16.2 Annotation注解功能 300
16.2.1 定义Annotation类型 300
16.2.2 访问Annotation信息 302
16.3 实践与练习 305
第17章 数据库操作 306
17.1 数据库基础 306
17.1.1 什么是数据库 307
17.1.2 数据库的种类和功能 307
17.1.3 SQL语言 308
17.2 JDBC概述 309
17.2.1 JDBC技术 309
17.2.2 JDBC驱动程序的类型 310
17.3 JDBC中常用的类和接口 310
17.3.1 DriverManager类 310
17.3.2 Connection接口 311
17.3.3 Statement接口 312
17.3.4 PreparedStatement接口 312
17.3.5 ResultSet接口 313
17.4 数据库操作 314
17.4.1 连接数据库 314
17.4.2 向数据库中发送SQL语句 315
17.4.3 处理查询结果集 315
17.4.4 顺序查询 315
17.4.5 模糊查询 316
17.4.6 预处理语句 317
17.4.7 添加、修改、删除记录 318
17.5 实践与练习 321
第18章 Swing程序设计 322
18.1 Swing概述 323
18.2 常用窗体 324
18.2.1 JFrame窗体 324
18.2.2 JDialog对话框 326
18.2.3 JOptionPane小型对话框 327
18.3 常用布局管理器 331
18.3.1 null绝对布局管理器 331
18.3.2 FlowLayout流布局管理器 332
18.3.3 BorderLayout边界布局管理器 333
18.3.4 GridLayout网格布局管理器 334
18.4 常用面板 335
18.4.1 JPanel面板 335
18.4.2 JScrollPane滚动面板 337
18.5 文字标签组件与图标 338
18.5.1 JLabel标签 338
18.5.2 图标的使用 339
18.6 按钮组件 340
18.6.1 JButton按钮 340
18.6.2 JRadioButton单选按钮 341
18.6.3 JCheckBox复选框 343
18.7 列表组件 344
18.7.1 JComboBox下拉列表框 344
18.7.2 JList列表框 346
18.8 文本组件 347
18.8.1 JTextField文本框 347
18.8.2 JPasswordField密码框 348
18.8.3 JTextArea文本域 349
18.9 表格组件 350
18.9.1 创建表格 350
18.9.2 DefaultTableModel表格数据模型 351
18.9.3 维护表格模型 352
18.10 事件监听器 354
18.10.1 ActionEvent动作事件 354
18.10.2 KeyEvent键盘事件 356
18.10.3 MouseEvent鼠标事件 357
18.11 实践与练习 359
第19章 Java绘图 360
19.1 Java绘图类 360
19.1.1 Graphics类 360
19.1.2 Graphics2D类 361
19.2 绘制图形 361
19.3 绘图颜色与画笔属性 365
19.3.1 设置颜色 365
19.3.2 设置画笔 366
19.4 绘制文本 367
19.4.1 设置字体 367
19.4.2 显示文字 367
19.5 显示图片 369
19.6 图像处理 370
19.6.1 放大与缩小 370
19.6.2 图像翻转 372
19.6.3 图像旋转 374
19.6.4 图像倾斜 375
19.7 实践与练习 376
第20章 多线程 377
20.1 线程简介 377
20.2 创建线程 378
20.2.1 继承Thread类 378
20.2.2 实现Runnable接口 379
20.2.3 实现Callable接口 381
20.3 线程的生命周期 382
20.4 操作线程的方法 383
20.4.1 线程的休眠 383
20.4.2 线程的加入 384
20.4.3 线程的中断 386
20.4.4 线程的礼让 387
20.5 线程的优先级 387
20.6 线程同步 389
20.6.1 线程安全 389
20.6.2 线程同步机制 390
20.7 实践与练习 392
第21章 并发 393
21.1 并发编程 393
21.2 yield()方法 394
21.3 线程上下文切换与死锁 395
21.3.1 线程的上下文切换 396
21.3.2 线程死锁 396
21.3.3 避免死锁 398
21.4 守护线程与用户线程 399
21.4.1 守护线程与用户线程的区别 399
21.4.2 守护线程 399
21.5 ThreadLocal 401
21.6 生产者与消费者模式 402
21.6.1 wait()方法和notify()方法 403
21.6.2 await()方法和signal()方法 405
21.7 线程池 408
21.8 实践与练习 412
第22章 网络通信 413
22.1 网络程序设计基础 413
22.1.1 局域网与互联网 413
22.1.2 网络协议 414
22.1.3 端口与套接字 415
22.2 TCP程序 415
22.2.1 InetAddress类 416
22.2.2 ServerSocket类 417
22.2.3 TCP网络程序设计 418
22.3 UDP程序 421
22.3.1 DatagramPacket类 421
22.3.2 DatagramSocket类 421
22.3.3 UDP网络程序设计 422
22.4 NIO同步非阻塞网络编程 425
22.5 AIO异步非阻塞网络编程 428
22.6 实践与练习 429
第4篇 项目实战
第23章 飞机大战游戏 432
23.1 需求分析 432
23.2 系统设计 433
23.2.1 系统目标 433
23.2.2 系统功能结构 433
23.2.3 业务流程图 433
23.2.4 系统预览 433
23.3 技术准备 434
23.3.1 Timer类的概念 434
23.3.2 Timer类注意事项 435
23.4 公共模块设计 435
23.5 玩家飞机模型设计 437
23.6 敌机模型设计 439
23.7 导弹模型设计 440
23.8 空投物资模型设计 441
23.9 游戏面板模型设计 442
第24章 MR人脸识别打卡系统 449
24.1 需求分析 449
24.2 系统设计 450
24.2.1 开发环境 450
24.2.2 系统功能结构 450
24.2.3 系统业务流程 450
24.3 数据库与数据表设计 451
24.3.1 数据库分析 451
24.3.2 数据表设计 452
24.4 系统文件夹组织结构 453
24.5 工具类的设计 454
24.5.1 日期时间工具类 455
24.5.2 数据库连接工具类 457
24.6 实体类的设计 458
24.7 数据库接口及实现类设计 459
24.7.1 数据库接口 460
24.7.2 基于MySQL数据库的接口实现类 461
24.7.3 数据库接口工厂类 464
24.8 全局会话类的设计 464
24.9 服务类的设计 466
24.9.1 摄像头服务 466
24.9.2 人脸识别服务 467
24.9.3 人事服务 470
24.9.4 图像文件服务 476
24.10 窗体类的设计 478
24.10.1 主窗体 478
24.10.2 主面板 479
24.10.3 登录对话框 483
24.10.4 考勤报表面板 484
24.10.5 员工管理面板 488
24.10.6 录入新员工面板 490
24.11 常见问题与解决 492
24.11.1 如何运行项目 492
24.11.2 无法激活人脸识别引擎 492
24.11.3 无法连接MySQL数据库 493
24.11.4 如何切换成SQLite数据库 493
猜您喜欢

读书导航