第1章 面向对象语言与Java概述 1
1.1 什么是面向对象程序设计 1
1.2 面向对象程序设计中的基本概念 3
1.2.1 类和对象 3
1.2.2 数据封装 3
1.2.3 继承性 4
1.2.4 多态性 5
1.3 Java语言的特点 5
1.3.1 Java语言的主要特点 6
1.3.2 与C++语言的比较 7
1.4 一个简单的Java程序 8
1.5 Java程序的编译和运行 10
1.5.1 使用JDK运行程序 10
1.5.2 使用JBuilderX运行程序 11
第2章 Java语言基础 13
2.1 Java词法结构 13
2.2 数据与数据运算 14
2.2.1 基本的数据类型 14
2.2.2 无名常量与变量 15
2.2.3 基本类型转换 16
2.2.4 运算符 17
2.2.5 表达式 20
2.3 Java语句 21
2.3.1 语句概述 22
2.3.2 选择语句 22
2.3.3 循环语句 24
2.3.4 跳转语句 28
习题 30
第3章 类与对象 32
3.1 类的定义 32
3.1.1 类定义的一般格式 32
3.1.2 成员变量的定义 33
3.1.3 成员变量的初始化 35
3.1.4 成员变量的访问 35
3.1.5 静态初始化块 36
3.2 方法 37
3.2.1 方法的定义 37
3.2.2 方法的调用 38
3.2.3 构造方法 38
3.2.4 方法重载 39
3.2.5 实例方法与类方法 40
3.3 对象与对象操作 41
3.3.1 对象的创建和引用 41
3.3.2 对象参数与对象返回值 42
3.3.3 对象成员 43
3.3.4 对象的清除 44
3.4 Java中提供的基本类 45
3.4.1 Math类 45
3.4.2 System类 46
3.4.3 基本数据类型的包装类 47
3.5 应用实例:数字式时钟模拟程序 48
3.5.1 Clock类的定义及实现 48
3.5.2 处理过程及输出结果 49
习题 50
第4章 继承、接口与包 51
4.1 继承 51
4.1.1 Extends子句 51
4.1.2 类成员的继承、隐藏和覆盖 52
4.1.3 对象引用的兼容规则 53
4.1.4 子类中的构造方法 54
4.1.5 抽象方法与抽象类 55
4.1.6 Object类 56
4.2 接口 58
4.2.1 接口的定义 59
4.2.2 接口的实现 60
4.2.3 接口型引用变量 60
4.2.4 引用变量的类型转换 63
4.3 包 64
4.3.1 包及其使用 64
4.3.2 访问控制 65
4.4 应用实例:学生与教师评选程序 66
4.4.1 相关的类定义 66
4.4.2 程序的处理过程 67
习题 69
第5章 数组与字符串 71
5.1 一维数组 71
5.1.1 数组的定义 71
5.1.2 数组的创建 72
5.1.3 数组的访问 73
5.2 二维数组 74
5.2.1 二维数组的定义及创建 74
5.2.2 数组应用举例 76
5.3 String类字符串 79
5.3.1 构造方法 79
5.3.2 提取与定位 80
5.3.3 字符串比较 81
5.3.4 其他方法 82
5.4 StringBuffer类字符串 83
5.4.1 构造方法 83
5.4.2 长度与容量 84
5.4.3 字符串基本操作 84
5.5 应用实例:矩阵的类定义及实现 86
5.5.1 矩阵的类定义 86
5.5.2 矩阵类定义的实现 86
5.5.3 程序的执行过程 88
习题 89
第6章 线程与例外处理 92
6.1 线程创建 92
6.1.1 通过实现Runnable接口创建线程 92
6.1.2 通过扩展Thread类创建线程 94
6.2 线程控制 95
6.2.1 线程控制概述 95
6.2.2 临界区与互斥控制 95
6.2.3 同步控制 98
6.3 例外概述 102
6.3.1 例外分类 102
6.3.2 例外的引发 102
6.4 例外处理 103
6.4.1 例外的捕捉 104
6.4.2 例外的抛出 105
6.4.3 自定义例外类型 106
6.5 应用实例:自动售票模拟程序 107
6.5.1 自动售票机的类定义 107
6.5.2 订票线程类的定义 109
6.5.3 排队售票模拟 109
习题 110
第7章 输入输出 112
7.1 File类 112
7.2 字节流类 115
7.2.1 字节流超类 115
7.2.2 文件字节流 117
7.2.3 内存字节流 118
7.2.4 管道字节流 119
7.2.5 缓冲字节流 121
7.3 字符流类 121
7.3.1 Reader和Writer 122
7.3.2 高级流类 123
7.4 标准输入输出流 124
7.5 应用实例:文件信息读写程序 125
7.5.1 类定义及数据结构 125
7.5.2 程序的处理过程 126
习题 127
第8章 图形界面设计的基础 129
8.1 GUI程序概述 129
8.2 容器与布局管理器 132
8.2.1 容器组件 132
8.2.2 布局管理器 133
8.3 事件处理 138
8.3.1 事件处理的一般模式 138
8.3.2 事件处理程序的设置 139
8.3.3 常用的事件类和监听器接口 141
8.4 Swing组件的一般功能 142
8.5 常用的Swing组件 146
8.5.1 标签、按钮、复选框与单选按钮 146
8.5.2 文本域、文本区 149
8.5.3 组合框、列表框 150
习题 151
第9章 JBuilderX集成开发环境 152
9.1 面向对象程序开发中的基本概念 152
9.1.1 消息与事件驱动 152
9.1.2 可视化 152
9.1.3 组件及属性设置 153
9.1.4 事件处理 153
9.2 JBuilderX的集成开发环境 154
9.2.1 主菜单及工具栏 155
9.2.2 编辑窗口 156
9.2.3 项目窗口和结构窗口 158
9.2.4 项目管理 159
9.2.5 开发界面的调整 162
9.2.6 程序的调试功能 162
9.3 创建一个简单的应用程序 163
9.3.1 创建应用程序的基本步骤 163
9.3.2 项目的基本组成 167
第10章 应用程序 169
10.1 代码框架结构分析 169
10.1.1 基本的代码框架 169
10.1.2 代码框架中的四个层次 171
10.1.3 创建组件及设置属性的相应代码 171
10.1.4 事件处理程序的代码框架 173
10.2 各类组件的功能及应用 173
10.2.1 标签及图标 173
10.2.2 按钮、复选框、单选按钮 176
10.2.3 文本框、列表框和组合框 178
10.2.4 JSplitPane、JScrollPane与JTree 181
10.3 应用实例:时钟模拟程序 184
10.3.1 实现要点 185
10.3.2 操作步骤 185
习题 188
第11章 Applet小程序 190
11.1 Applet概述 190
11.2 HTML的Applet标记 192
11.3 Applet类 194
11.3.1 特殊方法 195
11.3.2 其他行为方法 195
11.4 绘制图形 199
11.4.1 绘制机制 199
11.4.2 Graphics类 200
11.5 应用实例:计时器 200
11.5.1 实现要点 201
11.5.2 操作步骤 203
11.5.3 程序的进一步改进 206
习题 207
第12章 网络通信 209
12.1 URL和URLConnection类 209
12.1.1 URL类的功能及应用 209
12.1.2 URLConnection类的功能及应用 212
12.2 Socket网络通信 213
12.2.1 Socket基本概念 213
12.2.2 Socket与ServerSocket类 213
12.3 Socket通信应用实例 215
12.3.1 服务器端的功能及实现要点 215
12.3.2 客户端的功能及实现要点 215
12.3.3 实现步骤 216
习题 222
第13章 Servlet网络应用程序 224
13.1 Servlet程序简介 224
13.2 Servlet相关的类和接口 225
13.3 Servlet程序的开发 226
13.3.1 基本的开发步骤 226
13.3.2 开发实例 227
13.4 连接后台数据库 234
13.4.1 使用JDBC访问数据库的基本步骤 234
13.4.2 JDBC中所提供的常用的类与接口 234
13.4.3 创建数据源及其数据库 236
13.4.4 常用的数据库组件 238
13.5 应用实例:网上商品信息查询程序 239
13.5.1 实现要点 240
13.5.2 操作步骤 241
习题 242
第14章 JSP技术 244
14.1 JSP简介 244
14.2 JSP页面的开发 246
14.2.1 开发的基本步骤 246
14.2.2 使用JavaBean 248
14.3 JSP连接数据库 250
14.4 开发实例:购物网站 254
14.4.1 程序的界面及功能 254
14.4.2 程序的实现要点 256
14.4.3 连接数据库 263
习题 264
附录 习题参考答案 265