第1章 Java简介 1
1.1 Java产生的背景 1
1.2 Java概述 1
1.3 Java的用途 2
1.4 Java语言的特点 2
1.4.1 简单 2
1.4.2 面向对象 2
1.4.3 分布性 3
1.4.4 解释性 3
1.4.5 健壮性 3
1.4.6 安全性 3
1.4.7 体系结构中立 3
1.4.8 可移植性 3
1.4.9 高性能 4
1.4.10 多线程 4
1.4.11 动态性 4
1.5 学习Java的建议 4
1.6 小结 4
第2章 运行环境安装与测试 5
2.1 系统要求 5
2.2 安装JSDK 5
2.3 JSDK目录结构 9
2.4 环境变量 10
2.4.1 基本DOS可执行命令 11
2.4.2 设置Path环境变量 11
2.4.3 添加CLASSPATH环境变量 12
2.5 试运行 13
2.5.1 环境测试 13
2.5.2 程序测试 14
2.6 应用程序流程 16
2.6.1 建档应用程序Javadoc 17
2.6.2 反汇编器Javap 18
2.7 小结 19
2.8 习题 19
第3章 面向对象和类的概念 21
3.1 面向对象的思想 21
3.2 对象和类 22
3.3 组织类和类行为 23
3.3.1 创建类 23
3.3.2 类对象和消息 25
3.3.3 运行程序 26
3.4 继承 27
3.4.1 创建类层次结构 27
3.4.2 单重继承和多重继承 28
3.4.3 继承的实现和使用 29
3.5 接口 30
3.5.1 接口的创建 31
3.5.2 接口的扩展 31
3.5.3 接口的实现 32
3.6 包 34
3.7 小结 34
3.8 习题 34
第4章 Java语言基础 35
4.1 关键字 35
4.2 变量和常量 35
4.2.1 变量 35
4.2.2 创立变量和变量赋值 36
4.2.3 常量 37
4.3 数据类型 37
4.3.1 基本数据类型 37
4.3.2 数据类型值 38
4.3.3 数值型数据间的混合运算 39
4.4 注释 39
4.4.1 注释的语法 40
4.4.2 Javadoc标准@标志 40
4.5 语句和表达式 41
4.6 运算符 42
4.6.1 算术操作符 43
4.6.2 关系操作符 43
4.6.3 布尔型操作符 44
4.6.4 字符串操作符 45
4.6.5 赋值操作符 45
4.6.6 特殊操作符 46
4.7 修饰符 46
4.7.1 抽象修饰符 47
4.7.2 最终修饰符 47
4.7.3 私有修饰符 47
4.7.4 被保护修饰符 47
4.7.5 公用修饰符 48
4.7.6 静态修饰符 48
4.8 小结 48
4.9 习题 48
第5章 数组和流程控制 49
5.1 数组 49
5.1.1 数组的声明 49
5.1.2 数组的创建 50
5.1.3 访问数组元素 51
5.1.4 修改数组元素 51
5.1.5 多维数组 53
5.2 流程控制语句 54
5.2.1 if条件语句 55
5.2.2 switch条件语句 56
5.2.3 for循环语句 58
5.2.4 while和do-while循环语句 59
5.3 小结 62
5.4 习题 62
第6章 类的创建和类的实例 63
6.1 定义类和类实体 63
6.1.1 定义类 63
6.1.2 类实体 65
6.2 重载方法 67
6.2.1 重载构造方法 67
6.2.2 重载一般方法 68
6.3 方法类型 70
6.4 参数传递 72
6.4.1 向应用程序传递参数 72
6.4.2 向方法传递参数 74
6.5 小结 75
6.6 习题 75
第7章 小程序 77
7.1 应用程序和小程序的比较 77
7.2 Java存档和Jar工具 78
7.3 Java小程序 79
7.3.1 创建小程序 79
7.3.2 小程序运行机制 80
7.3.3 〈APPLET〉标记 83
7.3.4 向小程序传递参数 84
7.3.5 运行小程序 85
7.4 小结 88
7.5 习题 88
第8章 工具包类的使用 89
8.1 Vector(向量)类 89
8.1.1 Vector类功能 89
8.1.2 Vector的存放原理 90
8.1.3 Vector的元素操作 92
8.2 Stack(堆栈)类 93
8.2.1 堆栈类功能 94
8.2.2 堆栈类的实现 94
8.3 Hashtable(哈希表)类 96
8.3.1 哈希表类功能 96
8.3.2 哈希表类的实现 96
8.4 Enumeration(枚举)接口 98
8.4.1 枚举接口定义 98
8.4.2 枚举接口的实现 98
8.5 Calendar(日历)类 100
8.5.1 日历类功能 100
8.5.2 日历类的实现 100
8.6 Random(随机函数)类 102
8.6.1 随机函数类功能 102
8.6.2 随机函数类的实现 102
8.7 Map(映射)接口 103
8.7.1 Map接口类方法 104
8.7.2 Map接口和HashMap的实现 104
8.8 Properties(属性)类 106
8.9 小结 106
8.10 习题 106
第9章 异常处理 107
9.1 异常和Java异常 107
9.2 Java异常处理结构 108
9.2.1 try-catch代码块 109
9.2.2 try-catch-finally代码块 109
9.3 引发异常的环境和方法 110
9.3.1 throws子句 110
9.3.2 throw子句 111
9.3.3 throws和throw的联合使用 113
9.4 处理异常的途径 113
9.4.1 try-catch代码段 113
9.4.2 try-catch-finally代码段 114
9.4.3 异常对象的方法 116
9.5 定制异常类 118
9.5.1 Exception类的构造方法 118
9.5.2 myException类 118
9.6 小结 119
9.7 习题 119
第1O章 线程与多线程 121
10.1 Java线程 121
10.1.1 创建线程 121
10.1.2 线程控制和周期 124
10.1.3 线程的同步 127
10.2 Java多线程机制 132
10.2.1 线程组 132
10.2.2 线程优先调度 134
10.2.3 线程间通信 135
10.2.4 守护线程 136
10.2.5 死锁 136
10.2.6 活锁 137
10.2.7 池线程 137
10.3 小结 140
10.4 习题 140
第11章 一个较复杂的应用程序 141
11.1 程序的背景描述 141
11.1.1 电梯的描述 141
11.1.2 电梯运动方向的判断准则 142
11.1.3 电梯模型实现的Java方法 142
11.2 程序的实现 143
11.2.1 RandomNum类 143
11.2.2 LayerRespond类 143
11.2.3 elevator类 144
11.2.4 elevatorManager类 146
11.2.5 testElevator类 147
11.3 存在的问题 148
11.4 小结 148
11.5 习题 148
第12章 动画和图像 149
12.1 图形和其他 149
12.1.1 Graphics类 149
12.1.2 Co1or类 152
12.1.3 Font类 153
12.2 图像 153
12.2.1 绘制Image 154
12.2.2 使用MediaTracker 155
12.3 动画的生成 157
12.4 消除动画闪烁的几种方法 160
12.4.1 Java动画闪烁的原因 160
12.4.2 消除闪烁现象的方法 161
12.5 小结 166
12.6 习题 166
第13章 可视化编程一 167
13.1 Awt组件和Swing组件 167
13.1.1 java.awt包和javax.swing包 167
13.1.2 类层次 168
13.2 创建应用程序 168
13.2.1 创建窗口 168
13.2.2 执行程序 170
13.2.3 退出程序 171
13.3 组件的外观 173
13.4 基本Java组件 173
13.4.1 基本组件举例 173
13.4.2 添加基本Java组件 174
13.5 基本接口布局 175
13.5.1 FlowLayout(流动布局)管理器 175
13.5.2 GirdLayout(网格布局)管理器 177
13.5.3 BorderLayout(边界布局)管理器 178
13.5.4 CardLayout(卡片布局)管理器 180
13.5.5 GirdBagLayout(网格袋布局)管理器 181
13.6 高级JComponent组件 183
13.6.1 标准对话框 183
13.6.2 滑块 186
13.6.3 进度条 187
13.6.4 单选按钮 189
13.6.5 菜单栏与菜单条 190
13.7 小结 192
13.8 习题 192
第14章 可视化编程二 193
14.1 事件监听器 193
14.1.1 事件和事件监听接口 193
14.1.2 实现事件监听接口 194
14.2 事件方法 195
14.2.1 动作事件 195
14.2.2 调整事件 197
14.2.3 祖先事件 199
14.2.4 焦点事件 201
14.2.5 超级链接事件 203
14.2.6 项目事件 205
14.2.7 按键事件 207
14.2.8 菜单事件 209
14.2.9 鼠标事件 211
14.2.10 鼠标移动事件 211
14.2.11 窗口事件 213
14.3 小结 215
14.4 习题 215
第15章 流的输入输出 217
15.1 流的基础知识 217
15.1.1 Java流 217
15.1.2 Java文件管理 218
15.2 JavaI/O流的操作方法 220
15.2.1 字节输出流 220
15.2.2 字节输入流 224
15.2.3 过滤器流和过滤器链 227
15.2.4 其他流 228
15.2.5 Reader和Writer 235
15.3 小结 237
15.4 习题 238
第16章 网络编程和网络监听 239
16.1 统一资源定位符(URL) 239
16.1.1 URL组成 239
16.1.2 用Java实现URL 240
16.2 从网络上获得资源 242
16.2.1 获取图像 242
16.2.2 获取声音 243
16.2.3 获取文档 244
16.3 Internet寻址 244
16.4 套接信道读取 246
16.4.1 套接口(Socket) 247
16.4.2 服务套接口 249
16.4.3 编写服务器系统 249
16.4.4 简单的网络实例 252
16.5 小结 258
16.6 习题 258
第17章 JDBC编程 259
17.1 JDBC介绍 259
17.1.1 JDBC工作原理 259
17.1.2 JDBC接口 260
17.1.3 JDBC驱动程序 260
17.2 数据库系统和Access小型数据库 261
17.2.1 数据库系统 261
17.2.2 Access小型数据库 262
17.3 JDBC实例 265
17.3.1 SQL语言 265
17.3.2 建立数据源 266
17.3.3 Application(应用程序) 269
17.4 小结 275
17.5 习题 275
第18章 JSP起步 277
18.1 什么是JSP 277
18.2 JSP与Servlet 278
18.3 JSP运行环境 278
18.3.1 Web服务器操作 279
18.3.2 安装和运行Web服务器 279
18.4 JSP语法 279
18.4.1 JSP常用语法 280
18.4.2 JSP隐含对象 285
18.5 第一个JSP程序 285
18.6 JSP编程常见的几个问题 286
18.6.1 中文问题 286
18.6.2 数据库操作 287
18.6.3 空指针错误 287
18.7 小结 288
18.8 习题 288
附录1 Java问答集锦 289
附录2 Java编程建议 293