目 录
第1章 算法和数据结构\t1
1.1 算法与数据结构概述\t1
1.1.1 算法的概念\t1
1.1.2 算法的复杂度\t3
1.1.3 数据结构的定义\t3
1.1.4 数据结构的表示\t4
1.1.5 线性结构与非线性结构\t4
1.2 线性表\t5
1.2.1 线性表概述\t5
1.2.2 线性表的顺序存储\t5
1.3 栈和队列\t7
1.3.1 栈的定义与操作\t7
1.3.2 队列的定义与操作\t8
1.4 线性链表\t9
1.4.1 线性表的链式存储\t9
1.4.2 双向链表的结构及其基本运算\t10
1.5 树与二叉树\t11
1.5.1 树的定义\t11
1.5.2 二叉树的定义及其性质\t12
1.5.3 二叉树的遍历\t13
1.6 查找技术\t15
1.6.1 顺序查找\t15
1.6.2 二分法查找\t15
1.7 排序技术\t16
1.8 本章习题\t18
第2章 程序设计\t21
2.1 程序设计的方法与风格\t21
2.2 结构化程序设计\t22
2.3 面向对象的程序设计\t23
2.3.1 面向对象的特点\t23
2.3.2 类和实例\t24
2.3.3 消息\t24
2.4 本章习题\t25
第3章 软件工程基础\t26
3.1 软件工程基本概念\t26
3.1.1 软件的含义\t26
3.1.2 软件工程的含义\t27
3.2 结构化分析方法\t28
3.2.1 结构化分析方法概述\t28
3.2.2 软件需求规格说明书\t30
3.3 结构化设计方法\t31
3.3.1 软件设计的基本内容\t31
3.3.2 结构化设计\t33
3.3.3 概要设计\t33
3.3.4 详细设计\t34
3.4 软件测试\t35
3.4.1 软件测试概述\t35
3.4.2 软件测试技术\t36
3.5 程序的调试\t38
3.5.1 步骤与方法\t38
3.5.2 静态调试\t38
3.5.3 动态调试\t40
3.6 本章习题\t41
第4章 数据库设计基础\t43
4.1 数据库的基本概念\t43
4.1.1 数据和信息\t43
4.1.2 数据处理、数据库与数据库管理系统\t44
4.1.3 数据库系统的发展\t45
4.1.4 数据库系统的内部结构体系\t46
4.2 数据模型\t48
4.2.1 数据模型概述\t48
4.2.2 E-R模型\t49
4.2.3 关系模型\t51
4.2.4 数据操作\t51
4.2.5 关系中的数据约束\t52
4.3 关系代数\t53
4.4 数据库设计\t54
4.5 本章习题\t55
第5章 Java程序设计的初步知识\t57
5.1 Java语言简介\t57
5.1.1 Java语言之简单易学特点\t57
5.1.2 Java语言之安全性特点\t57
5.1.3 Java语言之跨平台与可移植性特点\t57
5.1.4 Java语言之多线程特点\t58
5.1.5 Java虚拟机\t58
5.1.6 垃圾回收机制\t58
5.1.7 代码安全检测\t58
5.2 Java体系结构\t58
5.2.1 Java体系结构概述\t58
5.2.2 JDK目录结构\t58
5.2.3 Java的API结构\t59
5.2.4 Java开发环境设置\t60
5.2.5 Java源程序结构\t60
5.2.6 Java第一个程序HelloWorld\t60
5.2.7 Java程序编写及运行过程\t61
5.3 Java语言简单数据类型\t61
5.3.1 标识符命名规则\t62
5.3.2 整型数据\t62
5.3.3 浮点型数据\t62
5.3.4 布尔型数据\t63
5.3.5 字符型数据\t63
5.4 数据类型转换\t63
5.4.1 自动类型转换的优先关系\t63
5.4.2 类型的自动转换规则\t63
5.4.3 类型的强制转换\t64
5.5 运算符和表达式\t64
5.5.1 算术运算符和算术表达式\t64
5.5.2 关系运算符和关系表达式\t65
5.5.3 布尔逻辑运算符和布尔逻辑表达式\t65
5.5.4 位运算符和位运算表达式\t65
5.5.5 赋值运算符和赋值表达式\t66
5.5.6 条件运算符和条件表达式\t66
5.5.7 运算符的优先级\t66
5.5.8 “||”运算符的潜规则\t66
5.6 Java编程规范\t67
5.6.1 Java命名约定\t67
5.6.2 Java注释规则\t68
5.6.3 Java源文件结构规则\t68
5.6.4 Java源代码排版规则\t69
5.6.5 编程建议\t69
5.7 本章习题\t70
第6章 流程控制和异常处理\t75
6.1 分支语句\t75
6.1.1 条件语句\t75
6.1.2 多分支语句\t76
6.2 循环语句\t77
6.2.1 while循环\t77
6.2.2 do-while循环\t78
6.2.3 for循环\t78
6.2.4 循环语句的互相转换\t79
6.3 跳转语句\t79
6.3.1 break语句\t79
6.3.2 continue语句\t80
6.3.3 return语句\t80
6.4 嵌套与递归\t80
6.4.1 循环语句与分支语句的嵌套\t80
6.4.2 递归\t80
6.5 异常类型\t81
6.6 处理异常\t81
6.7 本章习题\t82
第7章 类、数组和字符串操作\t85
7.1 类\t85
7.1.1 类定义\t85
7.1.2 对象的生成、使用和删除\t86
7.1.3 接口和包\t87
7.1.4 类成员修饰符、继承、内部类和类库\t88
7.2 数组\t89
7.2.1 定义数组和创建数组\t89
7.2.2 初始化数组\t89
7.2.3 二维数组的定义与初始化\t90
7.2.4 数组操作\t90
7.3 字符串\t90
7.3.1 字符串的表示\t90
7.3.2 字符串的操作\t90
7.4 本章习题\t91
第8章 输入/输出及文件操作\t97
8.1 基础知识\t97
8.1.1 java.io中的接口\t97
8.1.2 java.io中的抽象类\t97
8.2 文件\t97
8.2.1 File类\t97
8.2.2 随机文件流\t98
8.3 I/O流\t98
8.3.1 字节流\t98
8.3.2 字符流\t100
8.4 过滤流、管道流和压缩流\t101
8.4.1 过滤流\t101
8.4.2 管道流\t102
8.4.3 压缩文件流\t103
8.5 J2SE的扩展I/O功能\t103
8.5.1 J2SE 1.4的新I/O特点\t103
8.5.2 新I/O的类\t103
8.6 正则表达式\t104
8.7 本章习题\t105
第9章 线程与对象串行化\t109
9.1 线程的基本概念\t109
9.1.1 线程模型\t109
9.1.2 线程组\t109
9.1.3 线程状态\t109
9.2 线程的创建、调度与控制\t110
9.2.1 线程的创建\t110
9.2.2 线程的优先级与调度\t110
9.2.3 线程的控制方法\t111
9.3 线程同步\t112
9.3.1 对象锁\t112
9.3.2 线程锁的交互\t113
9.4 线程操作常用类与方法\t113
9.4.1 线程相关类\t113
9.4.2 线程Thread类的其他操作方法\t113
9.5 对象串行化\t114
9.5.1 对象串行化的概念和方法\t114
9.5.2 构造可串行化的类\t115
9.5.3 串行化的定制\t116
9.5.4 串行化中的安全\t116
9.6 本章习题\t117
第10章 编写图形用户界面\t124
10.1 利用AWT编写图形用户界面\t124
10.1.1 Java.awt包的层次结构\t124
10.1.2 Java图形界面基础\t124
10.1.3 AWT常用组件\t125
10.1.4 AWT常用容器\t127
10.1.5 布局管理器\t128
10.1.6 AWT事件处理\t129
10.2 利用Swing编写图形用户界面\t132
10.2.1 Swing基础\t132
10.2.2 Swing组件\t133
10.2.3 Swing容器\t134
10.2.4 Swing布局管理器\t134
10.2.5 Swing事件处理\t135
10.3 本章习题\t136
第11章 Applet程序设计\t141
11.1 Applet概述\t141
11.1.1 Applet简介\t141
11.1.2 Applet的生命周期\t141
11.1.3 Applet的类层次结构\t142
11.1.4 Applet的显示\t142
11.2 编写Applet\t143
11.2.1 Applet的编写步骤\t143
11.2.2 <APPLET>标记\t143
11.3 Applet图形界面\t143
11.3.1 基于AWT构建Applet用户界面\t143
11.3.2 基于Swing构建Applet用户界面\t144
11.3.3 Applet中的事件处理\t144
11.4 Applet多媒体支持\t144
11.4.1 图像显示\t144
11.4.2 制作动画\t145
11.4.3 播放声音\t145
11.5 Applet安全控制\t145
11.5.1 Applet的安全限制\t146
11.5.2 Java中的沙箱模型\t146
11.5.3 Java 2的安全策略定义与实施\t146
11.5.4 Java 2中基于数字签名的安全控制\t147
11.6 Applet通信\t147
11.6.1 同页面Applet之间的通信