内容简介
第一篇 Java基础
第1章 开篇综述
1.1 Java语言历史
1.2 Java语言特点
1.3 Java平台
1.3.1 Java SE
1.3.2 Java EE
1.3.3 Java ME
1.4 Java虚拟机
本章小结
第2章 开发环境搭建
2.1 JDK工具包
2.1.1 JDK下载和安装
2.1.2设置环境变量
2.2 Eclipse开发工具
2.2.1 Eclipse下载和安装
2.2.2安装中文语言包
2.2.3 Eclipse界面
2.2.4 Windows系统中常用快捷键
2.3其他开发工具
2.3.1 IntelliJ IDEA
2.3.2 NetBeans IDE
2.3.3文本编辑工具
本章小结
第3章 第一个Java程序
3.1使用Eclipse实现
3.1.1创建项目
3.1.2创建类
3.1.3运行程序
3.2文本编辑工具+JDK实现
3.2.1编写源代码文件
3.2.2编译程序
3.2.3运行程序
3.3代码解释
本章小结
第4章 Java语法基础
4.1标识符、关键字和保留字
4.1.1标识符
4.1.2关键字
4.1.3保留字
4.2 Java分隔符
4.3变量
4.4常量
本章小结
第5章 Java编码规范
5.1命名规范
5.2注释规范
5.2.1文件注释
5.2.2文档注释
5.2.3代码注释
5.2.4地标注释
5.3代码排版
5.3.1空行
5.3.2空格
5.3.3缩进
5.3.4断行
5.4其他规范
本章小结
第6章 数据类型
6.1基本数据类型
6.2整型类型
6.3浮点类型
6.4数值表示方式
6.4.1进制数值表示
6.4.2指数表示
6.5字符类型
6.6布尔类型
6.7数值类型相互转换
6.7.1自动类型转换
6.7.2强制类型转换
6.8引用数据类型
本章小结
第7章 运算符
7.1算术运算符
7.1.1一元运算符
7.1.2二元运算符
7.1.3算术赋值运算符
7.2关系运算符
7.3逻辑运算符
7.4位运算符
7.5其他运算符
7.6运算符优先级
本章小结
第8章 控制语句
8.1分支语句
8.1.1 if语句
8.1.2 switch语句
8.2循环语句
8.2.1 while语句
8.2.2 do-while语句
8.2.3 for语句
8.2.4增强for语句
8.3跳转语句
8.3.1 break语句
8.3.2 continue语句
本章小结
第9章 数组
9.1一维数组
9.1.1数组声明
9.1.2数组初始化
9.1.3案例:数组合并
9.2多维数组
9.2.1二维数组声明
9.2.2二维数组的初始化
9.2.3不规则数组
本章小结
第10章 字符串
10.1 Java中的字符串
10.2使用API文档
10.3不可变字符串
10.3.1 String
10.3.2字符串池
10.3.3字符串拼接
10.3.4字符串查找
10.3.5字符串比较
10.3.6字符串截取
10.4可变字符串
10.4.1 StringBuffer和StringBuilder
10.4.2字符串追加
10.4.3字符串插入、删除和替换
本章小结
第二篇 面向对象编程
第11章 面向对象基础
11.1面向对象简介
11.2面向对象的三个基本特性
11.3类
11.3.1类声明
11.3.2成员变量
11.3.3成员方法
11.4包
11.4.1包作用
11.4.2包定义
11.4.3包引入
11.4.4常用包
11.5方法重载
11.6封装性与访问控制
11.6.1私有级别
11.6.2默认级别
11.6.3保护级别
11.6.4公有级别
11.7静态变量和静态方法
11.8静态代码块
本章小结
第12章 对象
12.1创建对象
12.2空对象
12.3构造方法
12.3.1默认构造方法
12.3.2构造方法重载
12.3.3构造方法封装
12.4 this关键字
12.5销毁对象
本章小结
第13章 继承与多态
13.1 Java中的继承
13.2调用父类构造方法
13.3成员变量隐藏和方法覆盖
13.3.1成员变量隐藏
13.3.2方法覆盖
13.4多态
13.4.1多态概念
13.4.2引用类型检查
13.4.3引用类型转换
13.5再谈final关键字
13.5.1 final修饰变量
13.5.2 final修饰类
13.5.3 final修饰方法
本章小结
第14章 抽象类与接口
14.1抽象类
14.1.1抽象类的概念
14.1.2抽象类声明和实现
14.2接口
14.2.1接口概念
14.2.2接口声明和实现
14.2.3接口与多继承
14.2.4接口继承
14.2.5 Java 8新特性默认方法和静态方法
14.3抽象类与接口的区别
本章小结
第15章 枚举类
15.1枚举简介
15.2枚举类声明
15.2.1最简单形式的枚举类
15.2.2枚举类中成员变量和成员方法
15.2.3枚举类构造方法
15.3枚举常用方法
本章小结
第16章 Java常用类
16.1 Java根类——Object
16.1.1 toString()方法
16.1.2对象比较方法
16.2包装类
16.2.1数值包装类
16.2.2 Character类
16.2.3 Boolean类
16.2.4自动装箱/拆箱
16.3 Math类
16.4大数值
16.4.1 BigInteger
16.4.2 BigDecimal
16.5日期时间相关类
16.5.1 Date类
16.5.2日期格式化和解析
16.5.3 Calendar类
16.6 Java 8新日期时间相关类
16.6.1时间和日期
16.6.2日期格式化和解析
本章小结
第17章 内部类
17.1内部类简介
17.1.1内部类的作用
17.1.2内部类的分类
17.2成员内部类
17.2.1实例成员内部类
17.2.2静态成员内部类
17.3局部内部类
17.4匿名内部类
本章小结
第18章 Java 8函数式编程基础——Lambda表达式
18.1 Lambda表达式简介
18.1.1从一个示例开始
18.1.2 Lambda表达式实现
18.1.3函数式接口
18.2 Lambda表达式简化形式
18.2.1省略参数类型
18.2.2省略参数小括号
18.2.3省略return和
大括号
18.3作为参数使用Lambda表达式
18.4访问变量
18.4.1访问成员变量
18.4.2捕获局部变量
18.5方法引用
本章小结
第三篇 Java进阶
第19章 异常处理
19.1从一个问题开始
19.2异常类继承层次
19.2.1 Throwable类
19.2.2 Error和Exception
19.2.3受检查异常和运行时异常
19.3捕获异常
19.3.1 try-catch语句
19.3.2多catch代码块
19.3.3 try-catch语句嵌套
19.3.4多重捕获
19.4释放资源
19.4.1 finally代码块
19.4.2自动资源管理
19.5 throws与声明方法抛出异常
19.6自定义异常类
19.7 throw与显式抛出异常
本章小结
第20章 对象容器——集合
20.1集合简介
20.2 List集合
20.2.1常用方法
20.2.2遍历集合
20.3 Set集合
20.3.1常用方法
20.3.2遍历集合
20.4 Map集合
20.4.1常用方法
20.4.2遍历集合
本章小结
第21章 泛型
21.1一个问题的思考
21.2使用泛型
21.3自定义泛型类
21.4自定义泛型接口
21.5泛型方法
本章小结
第22章 文件管理与I/O流
22.1文件管理
22.1.1 File类
22.1.2案例:文件过滤
22.2 I/O流简介
22.2.1 Java流设计理念
22.2.2流类继承层次
22.3字节流
22.3.1 InputStream抽象类
22.3.2 OutputStream抽象类
22.3.3案例:文件复制
22.3.4使用字节缓冲流
22.4字符流
22.4.1 Reader抽象类
22.4.2 Writer抽象类
22.4.3案例:文件复制
22.4.4使用字符缓冲流
22.4.5字节流转换字符流
本章小结
第23章 多线程编程
23.1基础知识
23.1.1进程
23.1.2线程
23.1.3主线程
23.2创建子线程
23.2.1实现Runnable接口
23.2.2继承Thread线程类
23.2.3使用匿名内部类和Lambda表达式实现线程体
23.3线程状态
23.4线程管理
23.4.1线程优先级
23.4.2等待线程结束
23.4.3线程让步
23.4.4线程停止
23.5线程安全
23.5.1临界资源问题
23.5.2多线程同步
23.6线程间通信
本章小结
第24章 网络编程
24.1网络基础
24.1.1网络结构
24.1.2 TCP/IP协议
24.1.3 IP地址
24.1.4端口
24.2 TCP Socket低层次网络编程
24.2.1 TCP Socket通信简介
24.2.2 TCP Socket通信过程
24.2.3 Socket类
24.2.4 ServerSocket类
24.2.5案例:文件上传工具
24.2.6案例:聊天工具
24.3 UDP Socket低层次网络编程
24.3.1 DatagramSocket类
24.3.2 DatagramPacket类
24.3.3案例:文件上传工具
24.3.4案例:聊天工具
24.4数据交换格式
24.4.1 JSON文档结构
24.4.2使用第三方JSON库
24.4.3 JSON数据编码和解码
24.4.4案例:聊天工具
24.5访问互联网资源
24.5.1 URL概念
24.5.2 HTTP/HTTPS协议
24.5.3使用URL类
24.5.4使用HttpURLConnection发送GET请求
24.5.5使用HttpURLConnection发送POST请求
24.5.6案例:Downloader
本章小结
第25章 Swing图形用户界面
编程
25.1 Java图形用户界面技术
25.2 Swing技术基础
25.2.1 Swing类层次结构
25.2.2 Swing程序结构
25.3事件处理模型
25.3.1采用内部类处理事件
25.3.2采用Lambda表达式处理事件
25.3.3使用适配器
25.4布局管理
25.4.1 FlowLayout布局
25.4.2 BorderLayout布局
25.4.3 GridLayout布局
25.4.4不使用布局管理器
25.4.5使用可视化设计工具
25.5 Swing组件
25.5.1标签和按钮
25.5.2文本输入组件
25.5.3复选框和单选按钮
25.5.4下拉列表
25.5.5列表
25.5.6分隔面板
25.5.7表格
25.6案例:图书库存
本章小结
第26章 反射
26.1 Java反射机制API
26.1.1 java.lang.Class类
26.1.2 java.lang.reflect包
26.2创建对象
26.2.1调用构造方法
26.2.2案例:依赖注入实现
26.3调用方法
26.4调用成员变量
本章小结
第27章 注解
27.1基本注解
27.1.1@Override
27.1.2@Deprecated
27.1.3@SuppressWannings
27.1.4@SafeVarargs
27.1.5@FunctionalInterface
27.2元注解
27.3自定义注解
27.3.1声明注解
27.3.2案例:使用元注解
27.3.3案例:读取运行时注解信息
本章小结
第28章 数据库编程
28.1数据持久技术简介
28.2 MySQL数据库管理系统
28.2.1数据库安装与配置
28.2.2连接MySQL服务器
28.2.3常见的管理命令
28.3 JDBC技术
28.3.1 JDBC API
28.3.2加载驱动程序
28.3.3建立数据连接
28.3.4三个重要接口
28.4案例:数据CRUD操作
28.4.1数据库编程一般过程
28.4.2数据查询操作
28.4.3数据修改操作
本章小结
第四篇 Java项目实战
第29章 项目实战1:开发PetStore宠物商店项目
29.1系统分析与设计
29.1.1项目简介
29.1.2需求分析
29.1.3原型设计
29.1.4数据库设计
29.1.5架构设计
29.1.6系统设计
29.2任务1:创建数据库
29.2.1迭代1.1:安装和配置MySQL数据库
29.2.2迭代1.2:编写数据库DDL脚本
29.2.3迭代1.3:插入初始数据到数据库
29.3任务2:初始化项目
29.3.1任务2.1:配置项目构建路径
29.3.2任务2.2:添加资源图片
29.3.3任务2.3:添加包
29.4任务3:编写数据持久层代码
29.4.1任务3.1:编写实体类
29.4.2迭代3.2:编写DAO类
29.4.3迭代3.3:数据库帮助类DBHelper
29.5任务4:编写表示层代码
29.5.1迭代4.1:编写启动类
29.5.2迭代4.2:编写自定义窗口类——MyFrame
29.5.3迭代4.3:用户登录窗口
29.5.4迭代4.4:商品列表窗口
29.5.5迭代4.5:商品购物车窗口
29.6任务5:应用程序打包发布
29.6.1迭代5.1:处理TODO、FIXME和XXX任务
29.6.2迭代5.2:处理警告
29.6.3迭代5.3:打包
第30章 项目实战2:开发Java版QQ2006聊天工具
30.1系统分析与设计
30.1.1项目简介
30.1.2需求分析
30.1.3原型设计
30.1.4数据库设计
30.1.5网络拓扑图
30.1.6系统设计
30.2任务1:创建服务器端数据库
30.2.1迭代1.1:安装和配置MySQL数据库
30.2.2迭代1.2:编写数据库DDL脚本
30.2.3迭代1.3:插入初始数据到数据库
30.3任务2:初始化项目
30.3.1任务2.1:配置项目构建路径
30.3.2任务2.2:添加资源图片
30.3.3任务2.3:添加JSON-java库
30.3.4任务2.4:添加包
30.4任务3:编写服务器端外围代码
30.4.1任务3.1:编写UserDAO类
30.4.2迭代3.2:数据库帮助类DBHelper
30.4.3任务3.3:编写ClientInfo类
30.5任务4:客户端UI实现
30.5.1迭代4.1:登录窗口实现
30.5.2迭代4.2:好友列表窗口实现
30.5.3迭代4.3:聊天窗口实现
30.6任务5:用户登录过程实现
30.6.1迭代5.1:客户端启动
30.6.2迭代5.2:客户端登录编程
30.6.3迭代5.3:服务器端启动
30.6.4迭代5.4:服务器端验证编程
30.7任务6:用户登录刷新好友列表
30.7.1迭代6.1:服务器端编程
30.7.2迭代6.2:客户端编程
30.8任务7:聊天过程实现
30.8.1迭代7.1:客户端用户1向用户3发送消息
30.8.2迭代7.2:服务器端接收用户1消息与转发给用户3消息
30.8.3迭代7.3:客户端用户3接收用户1消息
30.9任务8:用户下线刷新好友列表过程
30.9.1迭代8.1:客户端编程
30.9.2迭代8.2:服务器端编程