第1章 计算机系统的硬件与软件 1
目录 1
1.1 计算机系统 2
1.1.1 硬件与软件 2
1.1.2 硬件的组成部分 2
1.1.3 存储器 3
1.1.4 辅助存储器 3
1.1.5 输入/输出设备 4
1.1.6 软件 4
1.1.8 操作系统 5
1.1.7 程序的种类 5
1.1.9 网络 6
1.2 模拟信号与二进制信号 7
1.2.1 二进制 7
1.2.2 计算机使用二进制的原因 8
1.2.3 模拟信号 8
1.2.4 二进制信号 9
1.3 计算机存储器 11
1.3.1 存储器的特性 11
1.3.3 信息的复制 12
1.3.4 字节 12
1.3.2 信息的存储形式 12
1.3.5 主存储器 13
1.3.6 硬盘 14
1.3.7 文件 15
1.3.8 文件与操作系统 15
1.3.9 文件的类型 16
1.4 处理器 16
1.4.1 处理器的电子操作 16
1.4.2 机器指令 16
1.4.4 高级编程语言 18
1.4.3 不同的处理器 18
1.4.5 源程序 19
1.4.6 程序的编译 20
1.4.7 可移植性 20
1.4.8 解释程序 21
1.4.9 虚拟机 21
1.4.10 运行速度 22
第2章 Java程序入门 24
2.1 Java简介 25
2.1.1 安装Java 25
2.1.2 商用Java工具软件 25
2.1.4 字节代码 26
2.1.3 Java程序示例 26
2.1.6 Applet 27
2.1.5 Java虚拟机 27
2.1.7 Java源程序的创建 28
2.1.8 命令提示符窗口 30
2.1.9 用记事本进行编辑 30
2.1.10 键入源程序 31
2.1.11 保存源文件 31
2.1.12 文件命名 32
2.1.13 Java程序的运行 32
2.2 Java小程序 34
2.2.2 语法错误 35
2.2.1 示例源程序 35
2.2.3 修改语法错误 36
2.2.4 编辑、编译、运行三部曲 37
2.2.5 程序漏洞 37
2.2.6 稍长一点的示例程序 37
2.2.7 注释 38
2.2.8 括号 40
2.3 运行示例程序 40
2.4 Java语言的特性 46
2.4.5 Java语言的结构中立特性 47
2.4.4 Java语言的健壮性特性 47
2.4.6 Java语言的安全性特性 47
2.4.1 Java语言的简单性特性 47
2.4.2 Java语言的面向对象特性 47
2.4.3 Java语言的分布式计算特性 47
2.4.7 Java语言的可移植特性 48
2.4.8 Java语言的解释特性 48
2.4.9 Java语言的多线程功能特性 48
2.4.10 Java语言的动态功能特性 48
2.4.11 Java语言与C和C++语言的区别 48
第3章 Java编程 51
3.1.2 整数类型 52
3.1.3 浮点类型 52
3.1 基本数据类型 52
3.1.1 数据类型 52
3.1.4 字符类型 53
3.1.5 布尔类型 53
3.1.6 数据类型的封装 53
3.2.3 变量的命名 54
3.2.2 变量的声明 54
3.2.1 变量 54
3.2 变量与常量 54
3.2.4 赋值语句 55
3.2.5 常量 55
3.3 表达式和算术操作符 55
3.3.1 表达式 55
3.3.2 算术运算符 56
3.3.3 数值运算 57
3.4.1 布尔表达式 59
3.4.2 逻辑操作 59
3.4 布尔表达式 59
3.5 简单的if语句 60
3.5.1 two-way判定 60
3.5.2 if...else语句 63
3.5.3 单个块if语句 63
3.5.4 多个分支选择 64
3.5.5 if语句的多样性 66
3.5.6 if语句的嵌套 66
3.6 while循环和do循环 67
3.6.1 while初涉 67
3.6.2 while的工作过程 67
3.6.3 while语句的语法 68
3.6.5 循环控制变量 69
3.6.4 while语句的语义 69
3.6.6 do...while语句 70
3.6.7 3件要注意的事情 71
3.7 for循环 72
3.7.1 循环的3部分 72
3.7.2 for语句 72
3.7.3 for语句中的循环计数 73
3.7.4 等效的for和while循环 73
3.7.5 循环控制变量的作用域 74
3.8.2 输入/输出流 75
3.8 输入/输出 75
3.8.1 输入/输出包 75
3.8.3 输入/输出异常 76
3.8.4 数字输入/输出 77
3.8.5 字符输入/输出 78
第4章 面向对象的编程技术基础 81
4.1 在Java中定义类与对象 82
4.1.1 定义类 82
4.1.2 认识构造函数 85
4.2.1 封装 87
4.2 类的封装与继承 87
4.2.2 类的继承 90
4.3 多态与静态 94
4.3.1 类的多态 94
4.3.2 静态成员的定义与使用 98
4.4 面向对象的基本概念 100
4.4.1 类与对象 100
4.4.2 成员 101
4.4.3 继承 101
4.5.1 重载 102
4.5 重载、屏蔽与覆盖 102
4.4.4 多态 102
4.5.2 屏蔽 104
4.5.3 覆盖 105
第5章 Applet和Graphics 110
5.1 简单的Applet 111
5.1.1 编辑Applet 111
5.1.2 编译Applet 111
5.1.3 运行Applet 112
5.3.1 Applet的生命周期举例 113
5.3 Applet的生命周期 113
5.2 Applet类的层次 113
5.3.2 Applet的方法 114
5.3.3 Applet的生命周期和对应的方法 115
5.4 Applet标记和HTML 116
5.4.1 Applet标记的语法 116
5.4.2 Applet标记描述 116
5.4.3 HTML 117
5.6 绘制图形 119
5.6.1 简单的图形绘制 119
5.5 appletviewer 119
5.6.2 着色 120
5.6.3 绘制直线 120
5.6.4 绘制矩形 121
5.6.5 绘制圆形和椭圆 121
5.7 Circle类 122
5.8 利用图形方法画图 124
5.8.1 图片的规划 124
5.8.2 计算坐标 125
5.8.3 完整的Applet 126
第6章 高级的Java编程功能 129
6.1.1 递增/递减操作符 130
6.1 递增、递减和其他操作符 130
6.1.2 赋值操作符 131
6.1.3 调和级数例子 131
6.2 短逻辑运算符 133
6.2.1 位逻辑运算符 133
6.2.2 左移位运算符 135
6.2.3 右移位运算符 136
6.2.4 位运算符赋值 137
6.3 再论for语句 138
6.3.2 逗号的使用方法 139
6.3.1 在for循环中声明循环控制变量 139
6.3.3 for循环的一些变化 140
6.3.4 循环嵌套 141
6.4 数组 142
6.4.1 一维数组 142
6.4.2 二维数组和多维数组 144
6.4.3 另一种数组声明语法 148
6.4.4 将数组作为参数 148
6.5 对象的数组 149
6.5.1 对象引用数组 149
6.5.3 一个例子 150
6.5.2 字符串引用数组 150
6.6 线性查找 151
6.6.1 构造函数 156
6.6.2 线性查找 156
6.6.3 完整的查找 157
6.7 向量类Vector 159
6.7.1 向量类Vector的引入 159
6.7.2 Vector类的基础 160
6.7.3 程序举例 163
第7章 面向对象的高级编程技术 166
7.1.1 package语句 167
7.1 包的使用 167
7.1.2 import语句 168
7.1.3 classpath的使用 169
7.2 访问控制 170
7.2.1 类成员的访问控制 170
7.2.2 final限定词 171
7.3 抽象类与接口 171
7.3.1 抽象类 171
7.3.2 接口 173
7.4.1 对象间的比较运算 174
7.4 对象之间的关系 174
7.4.2 对象转为字符 176
7.5 内部类 176
7.5.1 类中定义的内部类 176
7.5.2 内部类被外部类引用的方法 177
7.5.3 匿名内部类 178
7.6 StringBuffer类与StringTokenizer类的使用 179
7.6.1 StringBuffer类的使用 179
7.6.2 StringTokenizer类的使用 180
第8章 图形化用户界面的编程技术 183
8.1.1 java.awt包 184
8.1 AWT及其组件 184
8.1.2 组件 185
8.1.3 容器 186
8.2 创建简单的图形用户界面 187
8.2.1 框架 187
8.2.2 面板 188
8.3 布局管理器 188
8.3.1 FlowLayout布局管理器 189
8.3.2 BorderLayout布局管理器 190
8.3.3 GridLayout布局管理器 192
8.3.5 容器的嵌套 193
8.3.4 其他布局管理器 193
8.4 AWT事件处理模型 194
8.4.1 事件处理原理 194
8.4.2 事件类 196
8.4.3 事件监听器 197
8.4.4 事件适配器 200
8.5 Swing简介 202
8.5.1 简介 202
8.5.2 Swing的类层次结构 204
8.5.3 Swing包 205
8.5.5 可存取性支持 206
8.5.4 MVC体系结构 206
8.5.6 支持键盘操作 207
8.5.7 设置边框 207
8.5.8 使用图标 207
8.6 Swing组件和容器简介 207
8.6.1 Swing组件 207
8.6.2 JComponent类 209
8.7 Swing布局管理器 209
8.8 Swing程序简介 211
8.8.1 简单的Swing源程序 211
8.9.1 框架 212
8.8.2 使用Swing的基本规则 212
8.9 Swing常用容器组件 212
8.9.2 JApplet 213
8.9.3 JPanel 213
8.9.4 根面板 213
8.9.5 分层面板 214
8.9.6 标签 214
8.9.7 按钮 214
8.9.8 文本输入 215
8.9.10 单选按钮 219
8.9.9 复选框 219
8.9.11 列表框 220
8.5.12 组合框 221
8.9.13 滑块 222
8.9.14 菜单 223
8.9.15 对话框 225
第9章 异常和输入/输出流 227
9.1 异常处理 228
9.1.1 异常的基本概念 228
9.1.2 异常类型 228
9.1.3 未被捕获的异常 229
9.1.4 使用try和catch语句 230
9.1.5 使用多重catch语句 231
9.1.6 嵌套try语句 233
9.1.7 引发异常 235
9.1.8 throws语句 236
9.1.9 finally语句 237
9.1.10 Java的内置异常 239
9.1.11 创建自己的异常子类 240
9.2 输入/输出流 241
9.2.1 输入/输出基础 241
9.1.12 使用异常 241
9.2.2 流的概念 242
9.2.3 读取控制台输入 244
9.2.4 向控制台写输出 247
9.2.5 PrintWriter类 248
9.3 文件的读写 249
9.4 文件类 252
9.4.1 目录 254
9.4.2 使用FilenameFilter 255
9.4.3 listFiles()方法 256
9.4.4 创建目录 256
第10章 Java的服务器端组件技术 258
10.1 EJB技术介绍 259
10.1.1 EJB技术 259
10.1.2 EJB规范的发展历程 260
10.1.3 EJB的类别 260
10.1.4 EJB的体系结构 261
10.1.5 EJB中的角色 262
10.1.6 EJB与DCOM/COM+的比较 263
10.1.7 EJB与CORBA的比较 265
10.2 一个EJB例子 266
10.1.8 结论 266
10.2.1 安装EJB服务器 267
10.2.2 声明EJB远程接口 267
10.2.3 声明主接口 268
10.2.4 编写EJB类 268
10.2.5 创建ejb-jar文件 270
10.2.6 部署DemoBean 271
10.2.7 编写EJB客户机 273
10.2.8 编译并运行客户机程序 275
第11章 Java语言的应用实例——HelkCFG 276
11.1.2 编译原理的相关知识 277
11.1.1 学而致用 277
11.1 有关系统方面的一些预备知识 277
11.1.3 数据结构 278
11.1.4 网站的相关知识 279
11.2 HelkCFG的总体构架 279
11.2.1 HelkCFG简介 279
11.2.2 HelkCFG的基本功能 280
11.2.3 网页的链接结构 280
11.2.4 系统的层次结构 281
11.3 系统的设计与实现 282
11.4 编译原理中的词法、语法和语义分析 285
11.4.1 综述 286
11.4.2 词法分析 287
11.4.3 语法分析 290
11.4.4 语义分析 296
11.4.5 包的组织 300
11.5 关于HelkCFG 301
11.5.1 外观界面 301
11.5.2 HelkCFG涉及的相关知识 301
11.6 使用HelkCFG 303
11.6.1 页面的编排 303
11.6.2 操作范例 303