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

Java从入门到精通(第6版)"

作者:明日科技
ISBN:9787302581260
定价:¥79.80
字数:千字
页数:
出版时间:2021.07.01
开本:
版次:6-1
装帧:
出版社:清华大学出版社
简介

《Java从入门到精通(第6版)》从初学者角度出发,通过通俗易懂的语言、丰富多彩的实例,详细讲解了使用Java语言进行程序开发需要掌握的知识。全书分为23章,内容包括初识Java,熟悉Eclipse开发工具,Java语言基础,流程控制,数组,类和对象,继承、多态、抽象类与接口,包和内部类,异常处理,字符串,常用类库,集合类,枚举类型与泛型,lambda表达式与流处理,I/O(输入/输出),反射与注释,数据库操作,Swing程序设计,Java绘图,多线程,网络通信,奔跑吧小恐龙,MR人脸识别打卡系统。书中所有知识都结合具体实例进行讲解,涉及的程序代码都给出了详细的注释,可以使读者轻松领会Java程序开发的精髓,快速提高开发技能。

前言

丛书说明:“软件开发视频大讲堂”丛书(第1版)于2008年8月出版,因其编写细腻、易学实用、配备海量学习资源和全程视频等,在软件开发类图书市场上产生了很大反响,绝大部分品种在全国软件开发零售图书排行榜中名列前茅,2009年多个品种被评为“全国优秀畅销书”。

“软件开发视频大讲堂”丛书(第2版)于2010年8月出版,第3版于2012年8月出版,第4版于2016年10月出版,第5版于2019年3月出版。丛书连续畅销12年,迄今累计重印620次,销售400多万册。不仅深受广大程序员的喜爱,还被百余所高校选为计算机、软件等相关专业的教学参考用书。

“软件开发视频大讲堂”丛书(第6版)在继承前5版优点的基础上,将开发环境和工具更新为目前最新版本,并且重新录制了教学微课视频。并结合目前市场需要,进一步对丛书品种进行完善,对相关内容进行了更新优化,使之更适合读者学习。同时,为了方便教学使用,还提供了教学课件PPT。

Java是Sun公司推出的跨平台、可移植性高的一种面向对象编程语言。自面世以来,Java凭借其易学易用、功能强大的特点得到了广泛的应用。其强大的跨平台特性使Java程序可以运行在大部分系统平台上,甚至可在移动电子产品上运行,真正做到“一次编写,到处运行”。Java可用于编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等,这使得它成为应用范围最广泛的开发语言。随着Java技术的不断更新,在全球云计算和移动互联网飞速发展的产业环境下,Java的显著优势和广阔前景将进一步呈现出来。

本书内容

本书提供了从Java入门到编程高手所必需的各类知识,共分4篇。

第1篇:基础知识。本篇通过对初识Java、熟悉Eclipse开发工具、Java语言基础、流程控制和数组等内容的讲解,结合大量的图示、举例、视频等,使读者快速掌握Java语言的基础知识,为以后编程奠定坚实的基础。

第2篇:面向对象编程。本篇讲解了类,对象,继承,多态,抽象类,接口,包和内部类等内容。学习完本篇,读者将能掌握如何采用面向对象思维编写Java代码。

第3篇:核心技术。本篇将讲解异常处理,字符串,常用类库,集合类,枚举类型与泛型,lambda表达式,流处理,I/O(输入/输出),反射,注解,数据库操作,Swing程序设计,Java绘图,多线程和网络通信等内容。学习完本篇,读者将能够开发出一些小型应用程序。

第4篇:项目实战。本篇通过一个小型的横版游戏项目和一个利用人工智能视觉分析的人脸识别打卡系统项目,运用软件工程的设计思想,让读者学习如何进行软件项目的实践开发。项目按照“编写项目计划书→系统设计→数据库设计→创建项目→实现项目→运行项目→解决开发常见问题”的过程进行讲解,带领读者一步一步地体验项目开发的全过程。

本书特点

由浅入深,循序渐进。本书以零基础入门读者和初、中级程序员为对象,先从Java基础知识学起,再学习面向对象编程,接着学习Java的核心技术,最后学习开发两个完整项目。讲解过程中步骤详尽,版式新颖,在操作的内容图片上以编号+内容的方式进行标注,使读者在阅读时一目了然,从而快速掌握书中内容。

微课视频,讲解详尽。为便于读者直观感受程序开发的全过程,书中重要章节配备了视频讲解(共210集,30小时),使用手机扫描小节标题一侧的二维码,即可观看学习。初学者可轻松入门,感受编程的快乐和成就感,进一步增强学习的信心。

基础示例+强化训练+综合练习+项目案例,实战为王。通过例子学习是最好的学习方式,本书核心知识讲解通过“一个知识点、一个示例、一个结果、一段评析、一个综合应用”的模式,详尽透彻地讲述了实际开发中所需的各类知识。全书共计有211个应用示例,151个编程训练,94个综合练习,2个项目案例,为初学者打造“学习1小时,训练10小时”的强化实战学习环境。

精彩栏目,贴心提醒。本书根据需要在各章安排了很多“注意”“说明”“技巧”“误区警示”等小栏目,让读者可以在学习过程中更轻松地理解相关知识点及概念,更快地掌握个别技术的应用技巧。

海量资源,可查可练。本书提供了强大的Java开发资源库,包含实例资源库(732个实例)、模块资源库(15个典型模块)、项目资源库(15个真实项目)、测试题库(616道能力测试题)和面试资源库(369道企业面试真题)。

读者对象:初学编程的自学者、编程爱好者、大中专院校的老师和学生、相关培训机构的老师和学员、毕业设计的学生、初中级程序开发人员、程序测试及维护人员、参加实习的“菜鸟”程序员。

学习资源获取方式

本书提供了大量的辅助学习资源,读者可扫描图书封底的“文泉云盘”二维码,或登录清华大学出版社网站,在对应图书页面下查阅各类学习资源的获取方式。

读者可先扫描图书封底的权限二维码(需要刮开涂层),获取学习权限,然后扫描各章节知识点、案例旁的二维码,观看对应的视频讲解。

读者可扫码登录清大文森学堂,获取本书的源代码、微课视频等资源,可参加辅导答疑直播课。同时,还可以获得更多的Python进阶学习资源、职业成长知识图谱等,技术上释疑解惑,职业上交流成长。

致读者

感谢您购买本书,希望本书能成为您编程路上的领航者。

“零门槛”编程,一切皆有可能。

祝读书快乐!

目录

第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

作者简介

编辑推荐

“软件开发视频大讲堂”丛书是清华社计算机专业基础类零售图书最畅销的品牌之一。

作者寄语

明日科技,全称是吉林省明日科技有限公司,是一家专业从事软件开发、教育培训以及软件开发教育资源整合的高科技公司,其编写的教材非常注重选取软件开发中的必需、常用内容,同时也很注重内容的易学、方便性以及相关知识的拓展性,深受读者喜爱。其教材多次荣获“全行业优秀畅销品种”“全国高校出版社优秀畅销书”等奖项,多个品种长期位居同类图书销售排行榜的前列。

电子资料

www.luweidong.cn

下一个