目 录
第1章 算法和数据结构 1
1.1 算法与数据结构概述 1
1.1.1 算法的概念 1
1.1.2 算法的复杂度 3
1.1.3 数据结构的定义 3
1.1.4 数据结构的表示 4
1.1.5 线性结构与非线性结构 4
1.2 线性表 5
1.2.1 线性表概述 5
1.2.2 线性表的顺序存储 5
1.3 栈和队列 7
1.3.1 栈的定义与操作 7
1.3.2 队列的定义与操作 8
1.4 线性链表 9
1.4.1 线性表的链式存储 9
1.4.2 双向链表的结构及其基本运算 10
1.5 树与二叉树 11
1.5.1 树的定义 11
1.5.2 二叉树的定义及其性质 12
1.5.3 二叉树的遍历 13
1.6 查找技术 15
1.6.1 顺序查找 15
1.6.2 二分法查找 15
1.7 排序技术 16
1.8 本章习题 18
第2章 程序设计 21
2.1 程序设计的方法与风格 21
2.2 结构化程序设计 22
2.3 面向对象的程序设计 23
2.3.1 面向对象的特点 23
2.3.2 类和实例 24
2.3.3 消息 24
2.4 本章习题 25
第3章 软件工程基础 26
3.1 软件工程基本概念 26
3.1.1 软件的含义 26
3.1.2 软件工程的含义 27
3.2 结构化分析方法 28
3.2.1 结构化分析方法概述 28
3.2.2 软件需求规格说明书 30
3.3 结构化设计方法 31
3.3.1 软件设计的基本内容 31
3.3.2 结构化设计 33
3.3.3 概要设计 33
3.3.4 详细设计 34
3.4 软件测试 35
3.4.1 软件测试概述 35
3.4.2 软件测试技术 36
3.5 程序的调试 38
3.5.1 步骤与方法 38
3.5.2 静态调试 38
3.5.3 动态调试 40
3.6 本章习题 41
第4章 数据库设计基础 43
4.1 数据库的基本概念 43
4.1.1 数据和信息 43
4.1.2 数据处理、数据库与数据库管理系统 44
4.1.3 数据库系统的发展 45
4.1.4 数据库系统的内部结构体系 46
4.2 数据模型 48
4.2.1 数据模型概述 48
4.2.2 E-R模型 49
4.2.3 关系模型 51
4.2.4 数据操作 51
4.2.5 关系中的数据约束 52
4.3 关系代数 53
4.4 数据库设计 54
4.5 本章习题 55
第5章 Java程序设计的初步知识 57
5.1 Java语言简介 57
5.1.1 Java语言之简单易学特点 57
5.1.2 Java语言之**性特点 57
5.1.3 Java语言之跨平台与可移植性特点 57
5.1.4 Java语言之多线程特点 58
5.1.5 Java虚拟机 58
5.1.6 垃圾回收机制 58
5.1.7 代码**检测 58
5.2 Java体系结构 58
5.2.1 Java体系结构概述 58
5.2.2 JDK目录结构 58
5.2.3 Java的API结构 59
5.2.4 Java开发环境设置 60
5.2.5 Java源程序结构 60
5.2.6 Java**个程序HelloWorld 60
5.2.7 Java程序编写及运行过程 61
5.3 Java语言简单数据类型 61
5.3.1 标识符命名规则 62
5.3.2 整型数据 62
5.3.3 浮点型数据 62
5.3.4 布尔型数据 63
5.3.5 字符型数据 63
5.4 数据类型转换 63
5.4.1 自动类型转换的优先关系 63
5.4.2 类型的自动转换规则 63
5.4.3 类型的强制转换 64
5.5 运算符和表达式 64
5.5.1 算术运算符和算术表达式 64
5.5.2 关系运算符和关系表达式 65
5.5.3 布尔逻辑运算符和布尔逻辑表达式 65
5.5.4 位运算符和位运算表达式 65
5.5.5 赋值运算符和赋值表达式 66
5.5.6 条件运算符和条件表达式 66
5.5.7 运算符的优先级 66
5.5.8 “||”运算符的潜规则 66
5.6 Java编程规范 67
5.6.1 Java命名约定 67
5.6.2 Java注释规则 68
5.6.3 Java源文件结构规则 68
5.6.4 Java源代码排版规则 69
5.6.5 编程建议 69
5.7 本章习题 70
第6章 流程控制和异常处理 75
6.1 分支语句 75
6.1.1 条件语句 75
6.1.2 多分支语句 76
6.2 循环语句 77
6.2.1 while循环 77
6.2.2 do-while循环 78
6.2.3 for循环 78
6.2.4 循环语句的互相转换 79
6.3 跳转语句 79
6.3.1 break语句 79
6.3.2 continue语句 80
6.3.3 return语句 80
6.4 嵌套与递归 80
6.4.1 循环语句与分支语句的嵌套 80
6.4.2 递归 80
6.5 异常类型 81
6.6 处理异常 81
6.7 本章习题 82
第7章 类、数组和字符串操作 85
7.1 类 85
7.1.1 类定义 85
7.1.2 对象的生成、使用和删除 86
7.1.3 接口和包 87
7.1.4 类成员修饰符、继承、内部类和类库 88
7.2 数组 89
7.2.1 定义数组和创建数组 89
7.2.2 初始化数组 89
7.2.3 二维数组的定义与初始化 90
7.2.4 数组操作 90
7.3 字符串 90
7.3.1 字符串的表示 90
7.3.2 字符串的操作 90
7.4 本章习题 91
第8章 输入/输出及文件操作 97
8.1 基础知识 97
8.1.1 java.io中的接口 97
8.1.2 java.io中的抽象类 97
8.2 文件 97
8.2.1 File类 97
8.2.2 随机文件流 98
8.3 I/O流 98
8.3.1 字节流 98
8.3.2 字符流 100
8.4 过滤流、管道流和压缩流 101
8.4.1 过滤流 101
8.4.2 管道流 102
8.4.3 压缩文件流 103
8.5 J2SE的扩展I/O功能 103
8.5.1 J2SE 1.4的新I/O特点 103
8.5.2 新I/O的类 103
8.6 正则表达式 104
8.7 本章习题 105
第9章 线程与对象串行化 109
9.1 线程的基本概念 109
9.1.1 线程模型 109
9.1.2 线程组 109
9.1.3 线程状态 109
9.2 线程的创建、调度与控制 110
9.2.1 线程的创建 110
9.2.2 线程的优先级与调度 110
9.2.3 线程的控制方法 111
9.3 线程同步 112
9.3.1 对象锁 112
9.3.2 线程锁的交互 113
9.4 线程操作常用类与方法 113
9.4.1 线程相关类 113
9.4.2 线程Thread类的其他操作方法 113
9.5 对象串行化 114
9.5.1 对象串行化的概念和方法 114
9.5.2 构造可串行化的类 115
9.5.3 串行化的定制 116
9.5.4 串行化中的** 116
9.6 本章习题 117
第10章 编写图形用户界面 124
10.1 利用AWT编写图形用户界面 124
10.1.1 Java.awt包的层次结构 124
10.1.2 Java图形界面基础 124
10.1.3 AWT常用组件 125
10.1.4 AWT常用容器 127
10.1.5 布局管理器 128
10.1.6 AWT事件处理 129
10.2 利用Swing编写图形用户界面 132
10.2.1 Swing基础 132
10.2.2 Swing组件 133
10.2.3 Swing容器 134
10.2.4 Swing布局管理器 134
10.2.5 Swing事件处理 135
10.3 本章习题 136
第11章 Applet程序设计 141
11.1 Applet概述 141
11.1.1 Applet简介 141
11.1.2 Applet的生命周期 141
11.1.3 Applet的类层次结构 142
11.1.4 Applet的显示 142
11.2 编写Applet 143
11.2.1 Applet的编写步骤 143
11.2.2