猜你喜欢
Java从入门到精通(第7版)(软件开发视频大讲堂)

Java从入门到精通(第7版)(软件开发视频大讲堂)

书籍作者:明日科技 ISBN:9787302632627
书籍语言:简体中文 连载状态:全集
电子书格式:pdf,txt,epub,mobi,azw3 下载次数:8317
创建日期:2024-04-10 发布日期:2024-04-10
运行环境:PC/Windows/Linux/Mac/IOS/iPhone/iPad/Kindle/Android/安卓/平板
内容简介

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

作者简介

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

编辑推荐

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

(1)2008—2023年,丛书累计修订7次,销售400万册,深受广大程序员喜爱。

(2)4本荣获“全行业优畅销书”奖,1本荣获清华社“专业畅销书”一等奖,多数品种在全国计算机零售图书排行榜排行中名列前茅。

(3)实用、易懂、资源丰富,被数百所高校选为专业课教材。

《Java从入门到精通(第7版)》以长更新稳定版本JDK 19为基础,图书特点如下。

1. 学通Java只需要4步:基础知识→核心技术→高级应用→项目实战,符合认知规律。

2. 249集同步教学微课+强化实战训练+在线答疑,夯实基础,精准,有效,速练,适合自学。

3. 219个应用实例+149个编程训练+96个综合练习+2个项目案例,学习1小时,训练10小时,从入门到项目上线,真正成为Java高手。

4. 根据图书首页说明,扫描书中二维码,打开明日科技账号注册页面,填写注册信息后将自动获取Java开发资源库一年(自注册之日起)的VIP使用权限。

(1)技术资源库:426个技术要点,系统、全面,随时随地学习。

(2)技巧资源库:583个开发技巧,快速扫除盲区,掌握更多实战技巧,精准避坑。

(3)实例资源库:707个应用实例,含大量热点实例和关键实例,巩固编程技能。

(4)项目资源库:40个实战项目,快速积累项目经验,总有一个你找工作会用到。

(5)源码资源库:747项源代码详细分析,多读源码,快速成长。

(6)视频资源库:644集学习视频,边看视频边学习,提升更快。

(7)面试资源库:Java各方向企业面试真题,合理职业规划,快速就业。

学会、用好Java开发资源库,可在短时间内从小白晋升为一名软件工程师。

5. 在线解答,高效学习。

(1)关注清大文森学堂公众号,可加入本书的学习交流群,参加图书直播答疑。

(2)关注清大文森学堂公众号,可参加Java训练营,获取Java就业知识、Java技术/行业热点动态、面试辅导等直播课。


前言

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

“软件开发视频大讲堂”丛书第2版于2010年8月出版,第3版于2012年8月出版,第4版于2016年10月出版,第5版于2019年3月出版,第6版于2021年7月出版。十五年间反复锤炼,打造经典。丛书迄今累计重印680多次,销售400多万册,不仅深受广大程序员的喜爱,还被百余所高校选为计算机、软件等相关专业的教学参考用书。

“软件开发视频大讲堂”丛书第7版在继承前6版所有优点的基础上,进行了大幅度的修订。第一,根据当前的技术趋势与热点需求调整品种,拓宽了程序员岗位就业技能用书;第二,对图书内容进行了深度更新、优化,如优化了内容布置,弥补了讲解疏漏,将开发环境和工具更新为新版本,增加了对新技术点的剖析,将项目替换为更能体现当今IT开发现状的热门项目等,使其更与时俱进,更适合读者学习;第三,改进了教学微课视频,为读者提供更好的学习体验;第四,升级了开发资源库,提供了程序员“入门学习→技巧掌握→实例训练→项目开发→求职面试”等各阶段的海量学习资源;第五,为了方便教学,制作了全新的教学课件PPT。

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

本书内容

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

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

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

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

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

本书特点

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

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

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

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

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

本书学习资源

本书提供了大量的辅助学习资源,读者需刮开图书封底的防盗码,扫描并绑定微信后,获取学习权限。

同步教学微课

学习书中知识时,扫描章节名称处的二维码,可在线观看教学视频。

在线开发资源库

本书配备了强大的Java开发资源库,包括技术资源库、技巧资源库、实例资源库、项目资源库、源码资源库、视频资源库。扫描二维码,可登录明日科技网站,获取Java开发资源库一年的免费使用权限。

学习答疑

关注清大文森学堂公众号,可获取本书的源代码、PPT课件、视频等资源,加入本书的学习交流群,参加图书直播答疑。

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

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

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

祝读书快乐!


目录

第1篇 基础知识

第1章 初识Java

1.1 Java简介

1.1.1 什么是Java语言

1.1.2 Java的应用领域

1.1.3 Java的版本

1.1.4 怎样学好Java

1.1.5 Java API文档

1.2 Java语言的特性

1.3 搭建Java环境

1.3.1 下载JDK

1.3.2 在Windows系统下搭建JDK环境

第2章 开发工具

2.1 熟悉IDEA

2.1.1 下载IDEA

2.1.2 安装IDEA

2.1.3 配置IDEA

2.1.4 使用IDEA

2.2 熟悉Eclipse

2.2.1 下载Eclipse

2.2.2 Eclipse的配置与启动

2.2.3 Eclipse工作台

2.2.4 透视图与视图

2.2.5 菜单栏

2.2.6 工具栏

2.2.7 “包资源管理器”视图

2.2.8 “控制台”视图

2.3 使用Eclipse

2.3.1 创建Java项目

2.3.2 创建Java类文件

2.3.3 编写Java程序

2.3.4 运行Java程序

2.4 程序调试

第3章 Java语言基础

3.1 Java主类结构

3.2 基本数据类型

3.2.1 整数类型

3.2.2 浮点类型

3.2.3 字符类型

3.2.4 布尔类型

3.3 变量与常量

3.3.1 标识符和关键字

3.3.2 声明变量

3.3.3 声明常量

3.3.4 变量的有效范围

3.4 运算符

3.4.1 赋值运算符

3.4.2 算术运算符

3.4.3 自增和自减运算符

3.4.4 比较运算符

3.4.5 逻辑运算符

3.4.6 位运算符

3.4.7 复合赋值运算符

3.4.8 三元运算符

3.4.9 运算符的优先级

3.5 数据类型转换

3.5.1 隐式类型转换

3.5.2 显式类型转换

3.6 代码注释与编码规范

3.6.1 代码注释

3.6.2 编码规范

3.7 实践与练习

第4章 流程控制

4.1 复合语句

4.2 if条件语句

4.2.1 简单的if条件语句

4.2.2 if…else语句

4.2.3 if…else if多分支语句

4.2.4 if语句的嵌套

4.3 switch多分支语句

4.3.1 switch语句通用语法

4.3.2 switch表达式

4.4 while循环语句

4.5 do…while循环语句

4.6 for循环语句

4.6.1 传统的for语句

4.6.2 foreach语句

4.7 循环嵌套

4.8 循环控制

4.8.1 break语句

4.8.2 continue语句

4.9 实践与练习

第5章 数组

5.1 数组概述

5.2 一维数组

5.2.1 创建一维数组

5.2.2 初始化一维数组

5.2.3 使用一维数组

5.3 二维数组

5.3.1 创建二维数组

5.3.2 初始化二维数组

5.3.3 使用二维数组

5.4 数组的基本操作

5.4.1 遍历数组

5.4.2 填充替换数组元素

5.4.3 对数组进行排序

5.4.4 复制数组

5.4.5 查询数组

5.5 数组排序算法

5.5.1 冒泡排序

5.5.2 直接选择排序

5.5.3 反转排序

5.6 实践与练习

第2篇 面向对象编程

第6章 类和对象

6.1 面向对象概述

6.1.1 对象

6.1.2 类

6.1.3 封装

6.1.4 继承

6.1.5 多态

6.2 类

6.2.1 成员变量

6.2.2 成员方法

6.2.3 权限修饰符

6.2.4 局部变量

6.2.5 局部变量的有效范围

6.2.6 this关键字

6.3 类的构造方法

6.4 静态变量和静态方法

6.5 类的主方法

6.6 对象

6.6.1 对象的创建

6.6.2 访问对象的属性和行为

6.6.3 对象的引用

6.6.4 对象的销毁

6.7 实践与练习

第7章 继承、多态、抽象类与接口

7.1 类的继承

7.2 Object类

7.3 对象类型的转换

7.3.1 向上转型

7.3.2 向下转型

7.4 instanceof关键字及其新特性

7.5 方法的重载

7.6 final关键字

7.6.1 final变量

7.6.2 final方法

7.6.3 final类

7.7 record类

7.8 多态

7.9 抽象类

7.10 接口

7.10.1 定义接口

7.10.2 实现接口

7.10.3 接口继承接口

7.10.4 接口的多重继承

7.10.5 接口的默认方法

7.10.6 抽象类与接口的区别

7.11 实践与练习

第8章 包和内部类

8.1 Java类包

8.1.1 类名冲突

8.1.2 完整的类路径

8.1.3 创建包

8.1.4 导入包

8.2 内部类

8.2.1 成员内部类

8.2.2 匿名内部类

8.3 实践与练习

第3篇 核心技术

第9章 异常处理

9.1 异常概述

9.2 异常的抛出与捕捉

9.2.1 抛出异常

9.2.2 使用try…catch…finally语句捕捉异常

9.3 Java常见的异常类

9.4 自定义异常

9.5 在方法中抛出异常

9.5.1 使用throws关键字抛出异常

9.5.2 使用throw关键字抛出异常

9.6 运行时异常

9.7 try…with…resources语句

9.8 异常的使用原则

9.9 实践与练习

第10章 字符串

10.1 String类

10.1.1 声明字符串

10.1.2 创建字符串

10.2 连接字符串

10.2.1 连接多个字符串

10.2.2 连接其他数据类型

10.3 获取字符串信息

10.3.1 获取字符串长度

10.3.2 查找字符串

10.3.3 获取指定索引位置的字符

10.4 字符串操作

10.4.1 获取子字符串

10.4.2 去除空格

10.4.3 替换字符串

10.4.4 判断字符串的开始与结尾

10.4.5 判断字符串是否相等

10.4.6 按字典顺序比较两个字符串

10.4.7 字母大小写的转换

10.4.8 分割字符串

10.5 格式化字符串

10.5.1 日期和时间字符串格式化

10.5.2 常规类型格式化

10.6 使用正则表达式

10.7 字符串生成器

10.8 实践与练习

第11章 常用类库

11.1 包装类

11.1.1 Integer类

11.1.2 Double类

11.1.3 Boolean类

11.1.4 Character类

11.1.5 Number类

11.2 数字处理

11.2.1 数字格式化

11.2.2 Math类

11.2.3 Random类

11.2.4 BigInteger类

11.2.5 BigDecimal类

11.3 System类

11.3.1 在控制台中输出字符

11.3.2 计时

11.4 Scanner类

11.5 日期时间类

11.5.1 Date类

11.5.2 日期时间格式化类

11.5.3 Calendar类

11.6 实践与练习

第12章 集合类

12.1 集合类概述

12.2 Collection接口

12.3 List接口

12.3.1 List接口概述

12.3.2 ArrayList类

12.3.3 LinkedList类

12.4 遍历集合中的元素

12.4.1 Iterator遍历集合中的元素

12.4.2 使用foreach循环遍历集合中的元素

12.4.3 使用forEach()方法遍历集合中的元素

12.5 使用Predicate操作集合

12.6 Set接口

12.6.1 Set接口概述

12.6.2 HashSet类

12.6.3 TreeSet类

12.7 Map接口

12.7.1 Map接口概述

12.7.2 HashMap类

12.7.3 遍历Map集合

12.7.4 TreeMap类

12.7.5 Properties类

12.8 Collections类

12.9 实践与练习

第13章 枚举类型与泛型

13.1 枚举类型

13.1.1 使用枚举类型设置常量

13.1.2 深入了解枚举类型

13.1.3 使用枚举类型的优势

13.2 泛型

13.2.1 回顾向上转型与向下转型

13.2.2 定义泛型类

13.2.3 泛型的常规用法

13.2.4 泛型的高级用法

13.2.5 泛型总结

13.3 实践与练习

第14章 lambda表达式与流处理

14.1 lambda表达式

14.1.1 lambda表达式简介

14.1.2 lambda表达式实现函数式接口

14.1.3 lambda表达式调用外部变量

14.1.4 lambda表达式与异常处理

14.2 方法的引用

14.2.1 引用静态方法

14.2.2 引用成员方法

14.2.3 引用带泛型的方法

14.2.4 引用构造方法

14.2.5 Function接口

14.3 流处理

14.3.1 Stream接口

14.3.2 Optional类

14.3.3 Collectors类

14.3.4 数据过滤

14.3.5 数据映射

14.3.6 数据查找

14.3.7 数据收集

14.4 实践与练习

第15章 I/O(输入/输出)

15.1 输入/输出流

15.1.1 InputStream字节/Reader字符输入流

15.1.2 OutputStream字节/Writer字符输出流

15.2 File类

15.2.1 文件的创建与删除

15.2.2 获取文件信息

15.3 文件输入/输出流

15.3.1 FileInputStream类和FileOutputStream类

15.3.2 FileReader类和FileWriter类

15.4 带缓存的输入/输出流

15.4.1 BufferedInputStream类和BufferedOutputStream类

15.4.2 BufferedReader类和BufferedWriter类

15.5 数据输入/输出流

15.6 对象序列化输入/输出流

15.6.1 序列化对象

15.6.2 反序列化对象

15.7 实践与练习

第16章 反射与注解

16.1 反射

16.1.1 访问构造方法

16.1.2 访问成员变量

16.1.3 访问成员方法

16.2 Annotation注解功能

16.2.1 定义Annotation类型

16.2.2 访问Annotation信息

16.3 实践与练习

第17章 数据库操作

17.1 数据库基础

17.1.1 什么是数据库

17.1.2 数据库的种类和功能

17.1.3 SQL语言

17.2 JDBC概述

17.2.1 JDBC技术

17.2.2 JDBC驱动程序的类型

17.3 JDBC中常用的类和接口

17.3.1 DriverManager类

17.3.2 Connection接口

17.3.3 Statement接口

17.3.4 PreparedStatement接口

17.3.5 ResultSet接口

17.4 数据库操作

17.4.1 连接数据库

17.4.2 向数据库中发送SQL语句

17.4.3 处理查询结果集

17.4.4 顺序查询

17.4.5 模糊查询

17.4.6 预处理语句

17.4.7 添加、修改、删除记录

17.5 实践与练习

第18章 Swing程序设计

18.1 Swing概述

18.2 常用窗体

18.2.1 JFrame窗体

18.2.2 JDialog对话框

18.2.3 JOptionPane小型对话框

18.3 常用布局管理器

18.3.1 null绝对布局管理器

18.3.2 FlowLayout流布局管理器

18.3.3 BorderLayout边界布局管理器

18.3.4 GridLayout网格布局管理器

18.4 常用面板

18.4.1 JPanel面板

18.4.2 JScrollPane滚动面板

18.5 文字标签组件与图标

18.5.1 JLabel标签

18.5.2 图标的使用

18.6 按钮组件

18.6.1 JButton按钮

18.6.2 JRadioButton单选按钮

18.6.3 JCheckBox复选框

18.7 列表组件

18.7.1 JComboBox下拉列表框

18.7.2 JList列表框

18.8 文本组件

18.8.1 JTextField文本框

18.8.2 JPasswordField密码框

18.8.3 JTextArea文本域

18.9 表格组件

18.9.1 创建表格

18.9.2 DefaultTableModel表格数据模型

18.9.3 维护表格模型

18.10 事件监听器

18.10.1 ActionEvent动作事件

18.10.2 KeyEvent键盘事件

18.10.3 MouseEvent鼠标事件

18.11 实践与练习

第19章 Java绘图

19.1 Java绘图类

19.1.1 Graphics类

19.1.2 Graphics2D类

19.2 绘制图形

19.3 绘图颜色与画笔属性

19.3.1 设置颜色

19.3.2 设置画笔

19.4 绘制文本

19.4.1 设置字体

19.4.2 显示文字

19.5 显示图片

19.6 图像处理

19.6.1 放大与缩小

19.6.2 图像翻转

19.6.3 图像旋转

19.6.4 图像倾斜

19.7 实践与练习

第20章 多线程

20.1 线程简介

20.2 创建线程

20.2.1 继承Thread类

20.2.2 实现Runnable接口

20.2.3 实现Callable接口

20.3 线程的生命周期

20.4 操作线程的方法

20.4.1 线程的休眠

20.4.2 线程的加入

20.4.3 线程的中断

20.4.4 线程的礼让

20.5 线程的优先级

20.6 线程同步

20.6.1 线程安全

20.6.2 线程同步机制

20.7 实践与练习

第21章 并发

21.1 并发编程

21.2 yield()方法

21.3 线程上下文切换与死锁

21.3.1 线程的上下文切换

21.3.2 线程死锁

21.3.3 避免死锁

21.4 守护线程与用户线程

21.4.1 守护线程与用户线程的区别

21.4.2 守护线程

21.5 ThreadLocal

21.6 生产者与消费者模式

21.6.1 wait()方法和notify()方法

21.6.2 await()方法和signal()方法

21.7 线程池

21.8 实践与练习

第22章 网络通信

22.1 网络程序设计基础

22.1.1 局域网与互联网

22.1.2 网络协议

22.1.3 端口与套接字

22.2 TCP程序

22.2.1 InetAddress类

22.2.2 ServerSocket类

22.2.3 TCP网络程序设计

22.3 UDP程序

22.3.1 DatagramPacket类

22.3.2 DatagramSocket类

22.3.3 UDP网络程序设计

22.4 NIO同步非阻塞网络编程

22.5 AIO异步非阻塞网络编程

22.6 实践与练习

第4篇 项目实战

第23章 飞机大战游戏

23.1 需求分析

23.2 系统设计

23.2.1 系统目标

23.2.2 系统功能结构

23.2.3 业务流程图

23.2.4 系统预览

23.3 技术准备

23.3.1 Timer类的概念

23.3.2 Timer类注意事项

23.4 公共模块设计

23.5 玩家飞机模型设计

23.6 敌机模型设计

23.7 导弹模型设计

23.8 空投物资模型设计

23.9 游戏面板模型设计

第24章 MR人脸识别打卡系统

24.1 需求分析

24.2 系统设计

24.2.1 开发环境

24.2.2 系统功能结构

24.2.3 系统业务流程

24.3 数据库与数据表设计

24.3.1 数据库分析

24.3.2 数据表设计

24.4 系统文件夹组织结构

24.5 工具类的设计

24.5.1 日期时间工具类

24.5.2 数据库连接工具类

24.6 实体类的设计

24.7 数据库接口及实现类设计

24.7.1 数据库接口

24.7.2 基于MySQL数据库的接口实现类

24.7.3 数据库接口工厂类

24.8 全局会话类的设计

24.9 服务类的设计

24.9.1 摄像头服务

24.9.2 人脸识别服务

24.9.3 人事服务

24.9.4 图像文件服务

24.10 窗体类的设计

24.10.1 主窗体

24.10.2 主面板

24.10.3 登录对话框

24.10.4 考勤报表面板

24.10.5 员工管理面板

24.10.6 录入新员工面板

24.11 常见问题与解决

24.11.1 如何运行项目

24.11.2 无法激活人脸识别引擎

24.11.3 无法连接MySQL数据库

24.11.4 如何切换成SQLite数据库

短评

书收到了,非常好,太棒了

2023-07-23 20:45:54

产品特色