第1章 现代软件开发概述
1.1 简介
1.2 软件生命周期
1.2.1 问题规范
1.2.2 程序设计
1.2.3 算法和数据结构
1.2.4 编码和调试
1.2.5 测试和验证
1.2.6 后生产阶段
1.3 练习
第1部分 面向对象软件开发
第2章 面向对象设计和编程
2.1 简介
2.2 面向对象编程
2.2.1 对象
2.2.2 类
2.2.3 继承
2.3 面向对象设计
2.3.1 定位类
2.3.2 统一建模语言
2.4 练习
第3章 使用Java的面向对象编程
3.1 简介
3.2 Java中的类定义
3.2.1 状态
3.2.2 行为
3.2.3 标识
3.2.4 示例:Square类
3.3 继承
3.3.1 扩充类
3.3.2 抽象类
3.3.3 接口
3.3.4 多态性
3.3.5 Object
3.4 编译和运行Java程序
3.4.1 基本概念
3.4.2 编译和执行
3.5 练习
第4章 面向对象软件开发的案例分析
4.1 简介
4.2 问题要求
4.3 程序规范
4.4 软件设计
4.4.1 标识类
4.4.2 状态和行为
4.4.3 继承和接口
4.4.4 UML图
4.5 实现细节
4.6 测试
4.7 练习
第2部分 算法和数据结构
第5章 算法分析
5.1 简介
5.2 算法的效率
5.3 渐近分析
5.3.1 一般情况和最差情况分析
5.3.2 算法的关键部分
5.3.3 算法分析的示例
5.4 其他复杂度方法
5.5 递归算法分析
5.6 练习
第6章 线性数据结构
6.1 数据结构的分类
6.2 列表
6.2.1 简介
6.2.2 列表上的操作
6.2.3 列表的实现
6.3 栈
6.3.1 栈的操作
6.3.2 栈的应用
6.3.3 栈的实现
6.4 队列
6.4.1 队列上的操作
6.4.2 队列的应用
6.4.3 队列的实现
6.4.4 队列变体:双端队列和优先队列
6.5 练习
第7章 分层数据结构
7.1 简介
7.2 树
7.3 二叉树
7.3.1 简介
7.3.2 二叉树上的操作
7.3.3 通用树的二叉树表示法
7.3.4 二叉树的链表实现
7.3.5 二叉树的基于数组的实现
7.4 二叉搜索树
7.4.1 定义
7.4.2 在搜索操作中使用二叉搜索树
7.4.3 树排序
7.5 索引搜索树
7.6 堆
7.6.1 定义
7.6.2 使用数组的堆的实现
7.6.3 堆的应用
7.7 良好的近似值的重要性
7.8 练习
第8章 集和图数据结构
8.1 集
8.1.1 集上的操作
8.1.2 集的实现
8.2 映射
8.2.1 定义和操作
8.2.2 使用数组及链表的实现
8.2.3 散列法
8.3 图
8.3.1 简介和定义
8.3.2 图上的操作
8.3.3 实现
8.4 练习
第8章 Java集合架构
9.1 简介
9.2 Java集合架构
9.2.1 概要
9.2.2 集合
9.3 接口
9.3.1 COllection接口
9.3.2 Set接口和List接口
9.3.3 Map接口
9.3.4 有序接口
9.4 实现方式
9.4.1 集
9.4.2 列表
9.4.3 映射
9.5 算法
9.6 练习
第3部分 现代编程技术
第10章 异常和流
10.1 简介
10.2 Java中的异常
10.2.1 异常表示
10.2.2 生成异常
10.2.3 异常处理
10.3 设计指导原则和示例
10.3.1 异常
10.3.2 处理异常
10.4 流
10.4.1 概述
10.4.2 java.io程序包
10.4.3 使用流
10.5 练习
第11章 线程
11.1 简介
11.2 线程
11.2.1 创建线程
11.2.2 调度和线程优先权
11.2.3 合作多任务处理
11.3 同步
11.3.1 背景
11.3.2 锁
11.3.3 wait()和notify()
11.4 练习
第12章 图形用户界面
12.1 简介
12.2 GUI类的层次结构
12.2.1 简介
12.2.2 容器
12.2.3 布局管理器
12.3 GUI组件
12.4 事件和侦听器
12.4.1 简介
12.4.2 事件侦听器
12.4.3 鼠标事件
12.5 例子
12.6 练习
第13章 联网
13.1 简介
13.2 用TCP/IP联网
13.2.1 协议
13.2.2 OSI模型
13.3 Java中的网络通信
13.4 套接字类
13.4.1 在Java中表示地址
13.4.2 可靠的通信
13.4.3 表示数据报
13.4.4 不可靠的通信
13.5 URL类
13.5.1 表示一个URL
13.5.2 从一个URL中读取
13.6 安全性
13.7 练习
附录 基本的Java语法
A.1 简介
A.2 一个Java程序的结构
A.3 Java数据类型
A.3.1 基本类型
A.3.2 引用类型
A.3.3 标识符、变量声明和作用域
A.4 表达式
A.5 Java语句
A.5.1 赋值语句
A.5.2 条件语句
A.5.3 简单的输入/输
A.5.4 迭代语句
A.6 方法