Java从入门到精通(第6版)
- ISBN:9787302581260
- 装帧:一般胶版纸
- 册数:暂无
- 重量:暂无
- 开本:其他
- 页数:492
- 出版时间:2021-07-01
- 条形码:9787302581260 ; 978-7-302-58126-0
本书特色
“软件开发视频大讲堂”丛书是清华社计算机专业基础类零售图书*畅销的品牌之一。 (1)丛书累计销售400万册,深受广大开发者喜爱。 (2)4本荣获“全行业优畅销书”奖,1本荣获清华社“专业畅销书”一等奖。 (3)绝大多数品种在“全国计算机零售图书排行榜”同品种排行中名列前茅。 (4)实用、易懂、资源丰富,被数百所高校选为专业课教材。 《Java从入门到精通(第6版)》以长更新稳定版本JDK 11为基础,图书特点如下。 1. 学通Java只需要4步:基础知识→核心技术→高级应用→项目实战,符合认知规律。 2. 210集教学微课视频+强化实战训练+在线答疑,适合自学。 3. 211个应用示例+151个编程训练+94个综合训练+2个项目案例,学习1小时,训练10小时,练出编程习惯,你就能成为Java高手。 4. 赠送强大的Java开发资源库资源,助你夯实基础,精准,有效,速练。 (1)实例资源库+源码资源库:732个实例及源码详细分析,多读源码,快速成长。 (2)模块资源库:15个经典模块开发过程完整展现,拿来改改就能用。 (3)项目资源库:15个企业项目开发过程的完整展现,反复揣摩,触类旁通。 (4)面试资源库:369道企业面试真题+面试技巧,合理职业规划,快速转岗就业。 (5)测试题库系统:616道能力测试题,由易到难,准确判断自己的真实水平,更有针对性地学习。 5. 在线解答,高效学习。 (1)企业QQ、QQ群在线答疑,明日学院社区答疑。 (2)每周清大文森学堂在线直播答疑。
内容简介
《Java从入门到精通(第6版)》从初学者角度出发,通过通俗易懂的语言、丰富多彩的实例,详细讲解了使用Java语言进行程序开发需要掌握的知识。全书分为23章,内容包括初识Java,熟悉Eclipse开发工具,Java语言基础,流程控制,数组,类和对象,继承、多态、抽象类与接口,包和内部类,异常处理,字符串,常用类库,集合类,枚举类型与泛型,lambda表达式与流处理,I/O(输入/输出),反射与注释,数据库操作,Swing程序设计,Java绘图,多线程,网络通信,奔跑吧小恐龙,MR人脸识别打卡系统。书中所有知识都结合具体实例进行讲解,涉及的程序代码都给出了详细的注释,可以使读者轻松领会Java程序开发的精髓,快速提高开发技能。
目录
第1篇 基础知识
第1章 初识Java 2
视频讲解:18分钟
1.1 Java简介 2
1.1.1 什么是Java语言 2
1.1.2 Java的应用领域 3
1.1.3 Java的版本 4
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章 熟悉Eclipse开发工具 12
视频讲解:25分钟
2.1 熟悉Eclipse 12
2.1.1 Eclipse简介 13
2.1.2 下载Eclipse 13
2.1.3 安装Eclipse的中文语言包 15
2.1.4 Eclipse的配置与启动 17
2.1.5 Eclipse工作台 18
2.1.6 透视图与视图 18
2.1.7 菜单栏 19
2.1.8 工具栏 23
2.1.9 “包资源管理器”视图 23
2.1.10 “控制台”视图 24
2.2 使用Eclipse 24
2.2.1 创建Java项目 24
2.2.2 创建Java类文件 25
2.2.3 使用编辑器编写程序代码 26
2.2.4 运行Java程序 28
2.3 程序调试 29
第3章 Java语言基础 31
视频讲解:104分钟
3.1 Java主类结构 32
3.2 基本数据类型 33
3.2.1 整数类型 33
3.2.2 浮点类型 35
3.2.3 字符类型 36
3.2.4 布尔类型 38
3.3 变量与常量 38
3.3.1 标识符和关键字 38
3.3.2 声明变量 39
3.3.3 声明常量 40
3.3.4 变量的有效范围 41
3.4 运算符 43
3.4.1 赋值运算符 43
3.4.2 算术运算符 44
3.4.3 自增和自减运算符 45
3.4.4 比较运算符 45
3.4.5 逻辑运算符 46
3.4.6 位运算符 47
3.4.7 三元运算符 49
3.4.8 运算符优先级 49
3.5 数据类型转换 50
3.5.1 隐式类型转换 51
3.5.2 显式类型转换 52
3.6 代码注释与编码规范 52
3.6.1 代码注释 52
3.6.2 编码规范 54
3.7 实践与练习 55
第4章 流程控制 56
视频讲解:80分钟
4.1 复合语句 56
4.2 条件语句 57
4.2.1 if条件语句 57
4.2.2 switch多分支语句 60
4.3 循环语句 63
4.3.1 while循环语句 63
4.3.2 do…while循环语句 64
4.3.3 for循环语句 65
4.4 循环控制 67
4.4.1 break语句 67
4.4.2 continue语句 69
4.5 实践与练习 70
第5章 数组 72
视频讲解:80分钟
5.1 数组概述 72
5.2 一维数组 72
5.2.1 创建一维数组 73
5.2.2 初始化一维数组 74
5.2.3 使用一维数组 74
5.3 二维数组 75
5.3.1 创建二维数组 75
5.3.2 初始化二维数组 76
5.3.3 使用二维数组 76
5.4 数组的基本操作 77
5.4.1 遍历数组 77
5.4.2 填充替换数组元素 78
5.4.3 对数组进行排序 80
5.4.4 复制数组 81
5.4.5 查询数组 82
5.5 数组排序算法 84
5.5.1 冒泡排序 84
5.5.2 直接选择排序 86
5.5.3 反转排序 87
5.6 实践与练习 89
第2篇 面向对象编程
第6章 类和对象 92
视频讲解:71分钟
6.1 面向对象概述 92
6.1.1 对象 93
6.1.2 类 94
6.1.3 封装 94
6.1.4 继承 95
6.1.5 多态 95
6.2 类 96
6.2.1 成员变量 96
6.2.2 成员方法 97
6.2.3 权限修饰符 97
6.2.4 局部变量 98
6.2.5 局部变量的有效范围 99
6.2.6 this关键字 100
6.3 类的构造方法 101
6.4 静态变量和静态方法 102
6.5 类的主方法 105
6.6 对象 106
6.6.1 对象的创建 106
6.6.2 访问对象的属性和行为 108
6.6.3 对象的引用 108
6.6.4 对象的销毁 109
6.7 实践与练习 110
第7章 继承、多态、抽象类与接口 112
视频讲解:100分钟
7.1 类的继承 112
7.2 Object类 114
7.3 对象类型的转换 117
7.3.1 向上转型 117
7.3.2 向下转型 118
7.4 使用instanceof关键字判断对象类型 120
7.5 方法的重载 121
7.6 final关键字 124
7.6.1 final变量 124
7.6.2 final方法 125
7.6.3 final类 126
7.7 多态 126
7.8 抽象类与接口 128
7.8.1 抽象类 128
7.8.2 接口 129
7.9 实践与练习 131
第8章 包和内部类 133
视频讲解:16分钟
8.1 Java类包 133
8.1.1 类名冲突 133
8.1.2 完整的类路径 134
8.1.3 创建包 134
8.1.4 导入包 135
8.2 内部类 136
8.2.1 成员内部类 137
8.2.2 匿名内部类 139
8.3 实践与练习 140
第3篇 核心技术
第9章 异常处理 142
视频讲解:54分钟
9.1 异常概述 142
9.2 异常的抛出与捕捉 143
9.2.1 抛出异常 143
9.2.2 捕捉异常 144
9.3 Java常见的异常类 146
9.4 自定义异常 146
9.5 在方法中抛出异常 148
9.5.1 使用throws关键字抛出异常 148
9.5.2 使用throw关键字抛出异常 148
9.6 运行时异常 150
9.7 异常的使用原则 151
9.8 实践与练习 151
第10章 字符串 152
视频讲解:113分钟
10.1 String类 152
10.1.1 声明字符串 152
10.1.2 创建字符串 153
10.2 连接字符串 154
10.2.1 连接多个字符串 154
10.2.2 连接其他数据类型 154
10.3 获取字符串信息 156
10.3.1 获取字符串长度 156
10.3.2 字符串查找 156
10.3.3 获取指定索引位置的字符 157
10.4 字符串操作 158
10.4.1 获取子字符串 158
10.4.2 去除空格 159
10.4.3 字符串替换 160
10.4.4 判断字符串的开始与结尾 161
10.4.5 判断字符串是否相等 162
10.4.6 按字典顺序比较两个字符串 163
10.4.7 字母大小写转换 163
10.4.8 字符串分割 164
10.5 格式化字符串 166
10.5.1 日期和时间字符串格式化 166
10.5.2 常规类型格式化 169
10.6 使用正则表达式 170
10.7 字符串生成器 172
10.8 实践与练习 174
第11章 常用类库 175
视频讲解:112分钟
11.1 包装类 175
11.1.1 Integer类 176
11.1.2 Double类 178
11.1.3 Boolean类 179
11.1.4 Character类 180
11.1.5 Number类 181
11.2 数字处理 182
11.2.1 数字格式化 182
11.2.2 Math类 184
11.2.3 Random类 188
11.2.4 BigInteger类 190
11.2.5 BigDecimal类 191
11.3 System类 193
11.3.1 控制台输出字符 193
11.3.2 计时 194
11.4 Scanner类 195
11.5 日期时间类 197
11.5.1 Date类 197
11.5.2 日期时间格式化 198
11.5.3 Calendar类 201
11.6 Runtime类 204
11.6.1 执行本地命令 204
11.6.2 查看内存 205
11.7 实践与练习 206
第12章 集合类 207
视频讲解:60分钟
12.1 集合类概述 207
12.2 Collection接口 208
12.3 List集合 209
12.3.1 List接口 209
12.3.2 List接口的实现类 209
12.4 Set集合 210
12.5 Map集合 212
12.5.1 Map接口 213
12.5.2 Map接口的实现类 213
12.6 实践与练习 214
第13章 枚举类型与泛型 216
视频讲解:61分钟
13.1 枚举类型 216
13.1.1 使用枚举类型设置常量 216
13.1.2 深入了解枚举类型 218
13.1.3 使用枚举类型的优势 221
13.2 泛型 222
13.2.1 回顾向上转型与向下转型 222
13.2.2 定义泛型类 223
13.2.3 泛型的常规用法 224
13.2.4 泛型的高级用法 226
13.2.5 泛型总结 228
13.3 实践与练习 229
第14章 lambda表达式与流处理 230
视频讲解:92分钟
14.1 lambda表达式 230
14.1.1 lambda表达式简介 230
14.1.2 lambda表达式实现函数式接口 231
14.1.3 lambda表达式调用外部变量 233
14.1.4 lambda表达式与异常处理 235
14.2 方法的引用 237
14.2.1 引用静态方法 237
14.2.2 引用成员方法 237
14.2.3 引用带泛型的方法 238
14.2.4 引用构造方法 239
14.2.5 Fuction接口 242
14.3 流处理 243
14.3.1 Stream接口简介 244
14.3.2 Optional类 246
14.3.3 Collectors类 247
14.3.4 数据过滤 248
14.3.5 数据映射 252
14.3.6 数据查找 253
14.3.7 数据收集 256
14.4 实践与练习 260
第15章 I/O(输入/输出) 261
视频讲解:97分钟
15.1 输入/输出流 261
15.1.1 输入流 262
15.1.2 输出流 263
15.2 File类 264
15.2.1 文件的创建与删除 264
15.2.2 获取文件信息 266
15.3 文件输入/输出流 267
15.3.1 FileInputStream与FileOutputStream类 267
15.3.2 FileReader和FileWriter类 268
15.4 带缓存的输入/输出流 269
15.4.1 BufferedInputStream与BufferedOutputStream类 269
15.4.2 BufferedReader与BufferedWriter类 270
15.5 数据输入/输出流 272
15.6 实践与练习 273
第16章 反射与注解 274
视频讲解:63分钟
16.1 反射 274
16.1.1 访问构造方法 275
16.1.2 访问成员变量 279
16.1.3 访问成员方法 281
16.2 Annotation注解功能 285
16.2.1 定义Annotation类型 285
16.2.2 访问Annotation信息 288
16.3 实践与练习 290
第17章 数据库操作 292
视频讲解:47分钟
17.1 数据库基础 292
17.1.1 什么是数据库 293
17.1.2 数据库的种类及功能 293
17.1.3 SQL语言 294
17.2 JDBC概述 295
17.2.1 JDBC技术 295
17.2.2 JDBC驱动程序的类型 296
17.3 JDBC中常用的类和接口 296
17.3.1 DriverManager类 296
17.3.2 Connection接口 297
17.3.3 Statement接口 298
17.3.4 PreparedStatement接口 298
17.3.5 ResultSet接口 299
17.4 数据库操作 300
17.4.1 连接数据库 300
17.4.2 向数据库发送SQL语句 301
17.4.3 处理查询结果集 301
17.4.4 顺序查询 302
17.4.5 模糊查询 303
17.4.6 预处理语句 304
17.4.7 添加、修改、删除记录 305
17.5 实践与练习 308
第18章 Swing程序设计 310
视频讲解:229分钟
18.1 Swing概述 311
18.2 Swing常用窗体 312
18.2.1 JFrame窗体 312
18.2.2 JDialog对话框 314
18.2.3 JOptionPane小型对话框 315
18.3 常用布局管理器 319
18.3.1 null绝对布局 320
18.3.2 FlowLayout流布局管理器 320
18.3.3 BorderLayout边界布局管理器 322
18.3.4 GridLayout网格布局管理器 323
18.4 常用面板 324
18.4.1 JPanel面板 324
18.4.2 JScrollPane滚动面板 326
18.5 文字标签组件与图标 327
18.5.1 JLabel标签 327
18.5.2 图标的使用 328
18.6 按钮组件 329
18.6.1 JButton按钮 330
18.6.2 JRadioButton单选按钮 331
18.6.3 JCheckBox复选框 333
18.7 列表组件 334
18.7.1 JComboBox下拉列表框 334
18.7.2 JList列表框 336
18.8 文本组件 337
18.8.1 JTextField文本框 338
18.8.2 JPasswordField密码框 339
18.8.3 JTextArea文本域 339
18.9 表格组件 340
18.9.1 创建表格 341
18.9.2 DefaultTableModel表格数据模型 342
18.9.3 维护表格模型 343
18.10 事件监听器 345
18.10.1 ActionEvent动作事件 346
18.10.2 KeyEvent键盘事件 347
18.10.3 MouseEvent鼠标事件 349
18.11 实践与练习 351
第19章 Java绘图 352
视频讲解:84分钟
19.1 Java绘图类 352
19.1.1 Graphics类 352
19.1.2 Graphics2D类 353
19.2 绘制图形 353
19.3 绘图颜色与画笔属性 357
19.3.1 设置颜色 357
19.3.2 设置画笔 358
19.4 绘制文本 359
19.4.1 设置字体 359
19.4.2 显示文字 360
19.5 显示图片 361
19.6 图像处理 363
19.6.1 放大与缩小 363
19.6.2 图像翻转 365
19.6.3 图像旋转 367
19.6.4 图像倾斜 368
19.7 实践与练习 370
第20章 多线程 371
视频讲解:45分钟
20.1 线程简介 371
20.2 创建线程 372
20.2.1 继承Thread类 372
20.2.2 实现Runnable接口 373
20.3 线程的生命周期 376
20.4 操作线程的方法 377
20.4.1 线程的休眠 377
20.4.2 线程的加入 378
20.4.3 线程的中断 380
20.4.4 线程的礼让 381
20.5 线程的优先级 382
20.6 线程同步 383
20.6.1 线程安全 384
20.6.2 线程同步机制 385
20.7 实践与练习 387
第21章 网络通信 388
视频讲解:60分钟
21.1 网络程序设计基础 388
21.1.1 局域网与互联网 388
21.1.2 网络协议 389
21.1.3 端口与套接字 390
21.2 TCP程序 391
21.2.1 InetAddress类 391
21.2.2 ServerSocket类 392
21.2.3 TCP网络程序设计 393
21.3 UDP程序 397
21.3.1 DatagramPacket类 397
21.3.2 DatagramSocket类 398
21.3.3 UDP网络程序设计 398
21.4 实践与练习 402
第4篇 项目实战
第22章 奔跑吧小恐龙 404
视频讲解:53分钟
22.1 开发背景 404
22.2 系统结构设计 405
22.2.1 系统功能结构 405
22.2.2 系统业务流程 405
22.3 项目目录结构预览 406
22.4 游戏模型设计 406
22.4.1 恐龙类 406
22.4.2 障碍类 409
22.5 音效模块设计 411
22.5.1 音频播放器 411
22.5.2 音效工具类 413
22.6 计分器模块设计 413
22.7 视图模块设计 416
22.7.1 主窗体 417
22.7.2 游戏面板 418
22.7.3 成绩对话框 420
22.8 游戏核心功能设计 421
22.8.1 刷新帧 421
22.8.2 滚动背景 422
22.8.3 碰撞检测 424
22.8.4 键盘监听 425
第23章 MR人脸识别打卡系统 426
视频讲解:145分钟
23.1 需求分析 426
23.2 系统设计 427
23.2.1 开发环境 427
23.2.2 系统功能结构 427
23.2.3 系统业务流程 428
23.3 数据库与数据表设计 428
23.3.1 数据库分析 428
23.3.2 数据表设计 429
23.4 系统文件夹组织结构 430
23.5 工具类设计 432
23.5.1 日期时间工具类 432
23.5.2 数据库连接工具类 434
23.6 实体类设计 436
23.7 数据库接口及实现类设计 437
23.7.1 数据库接口 438
23.7.2 基于MySQL的数据库接口实现类 439
23.7.3 数据库接口工厂类 443
23.8 全局会话类设计 443
23.9 服务类设计 445
23.9.1 摄像头服务 445
23.9.2 人脸识别服务 446
23.9.3 人事服务 449
23.9.4 图像文件服务 457
23.10 窗体类设计 458
23.10.1 主窗体 458
23.10.2 主面板 460
23.10.3 登录对话框 464
23.10.4 考勤报表面板 465
23.10.5 员工管理面板 470
23.10.6 录入新员工面板 472
23.11 常见问题与解决 474
23.11.1 如何运行项目 474
23.11.2 无法激活人脸识别引擎 475
23.11.3 无法连接MySQL数据库 475
23.11.4 如何切换成SQLite数据库 475
节选
3.1 Java 主类结构 Java 语言是面向对象的程序设计语言,Java 程序的基本组成单元是类,类体中又包括属性与方法 两部分(本书将在第6 章中逐一介绍)。每一个应用程序都必须包含一个main()方法,含有main()方法 的类称为主类。下面通过程序来介绍Java 主类结构。 【例3.1】创建主类并调用其主方法(实例位置:资源包\TM\sl\3\1) 在Eclipse 下依次创建项目item、包Number 和类Frist。在类体中输入以下代码,实现在控制台上 输出“你好 Java”。 package Number; public class Frist { static String s1 = "你好"; public static void main(String[] args) { String s2 = "Java"; System.out.println(s1); System.out.println(s2); } } 运行结果如下: 你好 Java 1.包声明 一个Java 应用程序是由若干个类组成的。在例3.1 中就是一个类名为Frist 的类,语句package Number 为声明该类所在的包,package 为包的关键字(关于包的详细讲解可参见第11 章)。 2.声明成员变量和局部变量 通常将类的属性称为类的全局变量(成员变量),将方法中的属性称为局部变量。全局变量声明在 类体中,局部变量声明在方法体中。全局变量和局部变量都有各自的应用范围。在例3.1 中,s1 是成 员变量,s2 是局部变量。 3.编写主方法 main()方法是类体中的主方法。该方法从“{”开始,至“}”结束。public、static 和void 分别是 代码中的所有标点符号都是英文字符。不要在中文输入法状态下输入标点符号,如双引号和分 号,否则会导致编译错误。 文件名必须和类名Frist 相同,即Frist.java。还要注意大小写,Java 是区分大小写的。 第3 章 Java 语言基础 33 main()方法的权限修饰符、静态修饰符和返回值修饰符,Java 程序中的main()方法必须声明为public static void。String[] args 是一个字符串类型的数组,它是main()方法的参数(以后章节中将作详细的讲 解)。main()方法是程序开始执行的位置。 4.导入API 类库 在Java 语言中可以通过import 关键字导入相关的类。在JDK 的API 中(应用程序接口)提供了 130 多个包,如java.awt、java.io 等。可以通过JDK 的API 文档来查看这些包中的类,把握类的继承结 构、类的应用、成员变量表、构造方法表等,并对每个变量的使用目的进行了解,API 文档是程序开 发人员不可或缺的工具。 3.2 基本数据类型 在Java 中有8 种基本数据类型来存储数值、字符和布尔值,如图3.1 所示。 整数类型(byte、short、int、long) 浮点类型(float、double) 数值型 字符型 布尔型 基本数据类型 图3.1 Java 基本数据类型 3.2.1 整数类型 整数类型简称整型,用来存储整数数值,即没有小数部分的数值。可以是正数,也可以是负数。 整型数据根据它所占内存大小的不同,可分为byte、short、int 和long 4 种类型。它们具有不同的取值 范围,如表3.1 所示。 表3.1 整型数据类型 数 据 类 型 内存空间(8 位等于1 字节) 取 值 范 围 byte 8 位 -128~127 short 16 位 -32768~32767 int 32 位 -2147483648~2147483647 long 64 位 -9223372036854775808~9223372036854775807 下面分别对这4 种整型数据类型进行介绍。 Java 语言是严格区分大小写的。例如,不能将关键字class 等同于Class。
作者简介
明日科技,全称是吉林省明日科技有限公司,是一家专业从事软件开发、教育培训以及软件开发教育资源整合的高科技公司,其编写的教材非常注重选取软件开发中的必需、常用内容,同时也很注重内容的易学、方便性以及相关知识的拓展性,深受读者喜爱。其教材多次荣获“全行业优秀畅销品种”“全国高校出版社优秀畅销书”等奖项,多个品种长期位居同类图书销售排行榜的前列。
-
有限与无限的游戏:一个哲学家眼中的竞技世界
¥37.4¥68.0 -
全图解零基础word excel ppt 应用教程
¥12.0¥48.0 -
机器学习
¥59.4¥108.0 -
深度学习的数学
¥43.5¥69.0 -
智能硬件项目教程:基于ARDUINO(第2版)
¥37.7¥65.0 -
硅谷之火-人与计算机的未来
¥14.3¥39.8 -
元启发式算法与背包问题研究
¥38.2¥49.0 -
AI虚拟数字人:商业模式+形象创建+视频直播+案例应用
¥62.9¥89.8 -
UNIX环境高级编程(第3版)
¥164.9¥229.0 -
剪映AI
¥52.8¥88.0 -
深度学习高手笔记 卷2:经典应用
¥90.9¥129.8 -
纹样之美:中国传统经典纹样速查手册
¥77.4¥109.0 -
UG NX 12.0数控编程
¥24.8¥45.0 -
MATLAB计算机视觉与深度学习实战(第2版)
¥90.9¥128.0 -
界面交互设计理论研究
¥30.8¥56.0 -
UN NX 12.0多轴数控编程案例教程
¥25.8¥38.0 -
微机组装与系统维护技术教程(第二版)
¥37.8¥43.0 -
明解C语言:实践篇
¥62.9¥89.8 -
Linux服务器架设实战(Linux典藏大系)
¥84.5¥119.0 -
PREMIERE PRO 2023全面精通:视频剪辑+颜色调整+转场特效+字幕制作+案例实战
¥69.3¥99.0