Chapter 1 Java概述 1
1.1 Java简介 1
1.2 Java发展历史 1
1.3 C系列语言发展 1
1.4 Java语言的主要特性 2
1.4.1 轻量级 2
1.4.2 简单 3
1.4.3 健壮 3
1.4.4 多线程 4
1.4.5 平台无关 4
1.4.6 解释性和高效 5
1.4.7 分布式 5
1.4.8 动态 5
1.4.9 安全 5
1.5 Java Applet小应用程序 6
1.6 课后习题 7
Chapter 2 Java总览 8
2.1 面向对象程序设计 8
2.1.1 类 9
2.1.2 对象 9
2.1.3 封装 10
2.1.4 继承 10
2.1.5 多态 11
2.2 面向对象程序设计具体实例 11
2.2.1 Car类封装 12
2.2.2 Car类继承 12
2.2.3 Car类多态 13
2.2.4 面向对象程序设计小结 13
2.3 编写第一个Java程序 14
2.4 运行第一个Java程序 15
2.5 语法规则 16
2.6 空白符 17
2.7 注解 18
2.7.1 单行注解 18
2.7.2 多行注解 18
2.7.3 Javadoc注解 18
2.8 关键字 19
2.9 标志符 19
2.10 Java类库 20
2.11 程序实例 20
2.12 课后习题 21
Chapter 3 数据类型 22
3.1 数据类型概述 22
3.2 基本数据类型 23
3.3 类型转换 23
3.3.1 类型扩展 24
3.3.2 类型收缩 24
3.4 引用类型 24
3.5 基本类型汇总 25
3.6 复合数据类型 26
3.6.1 引用数据类型 26
3.6.2 类类型 26
3.6.3 接口类型 26
3.7 构造复合数据类型 27
3.7.1 复合数据类型数据初始化 27
3.7.2 预定义复合数据类型 28
3.8 不同数据类型转换 28
3.8.1 自动转换 28
3.8.2 显式转换 28
3.9 浮点数据 29
3.9.1 基本浮点类型 29
3.9.2 整型运算符 29
3.9.3 输入输出浮点数据 30
3.9.4 整型数据和浮点型字符转换为浮点数据 30
3.9.5 系统包中的浮点运算 30
3.9.6 Float类 31
3.10 变量 32
3.10.1 变量声明 32
3.10.2 区分数字0和字符0 33
3.10.3 变量初始化 33
3.10.4 编译错误 33
3.10.5 类型转换符的使用 33
3.10.6 变量声明为整型 33
3.10.7 同类型变量的声明 33
3.10.8 变量赋值 34
3.10.9 变量同时声明与赋值 34
3.11 记录 34
3.12 程序实例 35
3.13 课后习题 36
Chapter 4 运算符 37
4.1 算术运算符 37
4.1.1 取模运算符 37
4.1.2 算术赋值运算符 38
4.1.3 自增与自减运算符 38
4.2 关系运算符 39
4.3 逻辑运算符 39
4.4 位运算符与移位运算符 41
4.4.1 按位取反运算符 41
4.4.2 按位与运算符 41
4.4.3 按位或运算符 41
4.4.4 按位异或运算符 42
4.4.5 按位左移运算符 42
4.4.6 带符号按位右移运算符 42
4.4.7 无符号按位右移运算符 43
4.5 赋值运算符 43
4.6 条件运算符 44
4.7 instanceof运算符 44
4.8 特殊运算符 45
4.8.1 对象成员访问符(.) 45
4.8.2 数组元素访问符([]) 45
4.8.3 方法调用操作符 46
4.8.4 对象创建运算符 46
4.9 数据类型转换 46
4.10 程序实例 46
4.11 课后习题 49
Chapter 5 控制流 50
5.1 控制表达式 50
5.2 分支表达式 50
5.2.1 if表达式 50
5.2.2 if-else表达式 51
5.2.3 switch表达式 51
5.3 循环表达式 52
5.3.1 while循环表达式 52
5.3.2 do-while循环表达式 53
5.3.3 for循环表达式 54
5.4 分支跳转表达式 54
5.4.1 break表达式 54
5.4.2 continue表达式 55
5.4.3 return表达式 55
5.5 程序实例 56
5.6 课后习题 58
Chapter 6 类 59
6.1 类定义 59
6.1.1 简单类定义示例 60
6.1.2 定义类 60
6.2 对象定义与初始化 62
6.2.1 成员和方法 65
6.2.2 基本类型数据成员的缺省值 66
6.2.3 方法、参数和返回值 66
6.2.4 参数列表 67
6.3 构造方法 68
6.3.1 构造方法中调用构造方法 70
6.3.2 缺省构造方法 71
6.4 this关键字 72
6.5 垃圾回收 74
6.5.1 fiinalize方法的使用 75
6.5.2 垃圾清理 76
6.6 静态方法和静态变量 79
6.6.1 静态方法 79
6.6.2 静态变量 80
6.7 程序实例 82
6.8 课后习题 84
Chapter 7 方法 85
7.1 方法重载 85
7.1.1 方法重载匹配 87
7.1.2 基本数据类型参数重载 87
7.1.3 基于返回值重载 91
7.1.4 构造方法重载 92
7.2 Java参数传递:引用传递和值传递 93
7.2.1 给Java程序传递参数 94
7.2.2 方法信息传递 95
7.2.3 值传递 97
7.2.4 传递基本类型参数 100
7.2.5 返回值 101
7.2.6 传递对象引用 101
7.2.7 传递字符串 102
7.2.8 传递数组 103
7.3 递归 103
7.4 类成员访问控制 105
7.4.1 类级别访问 106
7.4.2 包级别访问 107
7.5 静态导入 108
7.6 数组 109
7.6.1 数组概述 109
7.6.2 Java数组 114
7.7 字符串 116
7.7.1 字符串创建 116
7.7.2 字符串操作 117
7.7.3 字符串修改 117
7.8 命令行参数 117
7.9 程序实例 118
7.10 课后习题 122
Chapter 8 继承 123
8.1 派生类 123
8.2 抽象类 128
8.3 final关键字 130
8.3.1 final数据 130
8.3.2fi nal方法 133
8.3.3 final类 135
8.4 程序实例 136
8.5 课后习题 140
Chapter 9 包和接口 141
9.1 包 141
9.1.1 包概述 141
9.1.2 Java包 142
9.1.3 访问标志符 142
9.1.4 包的创建 144
9.1.5 类路径设置 145
9.1.6 子包(一个包在另一个包中) 146
9.1.7 使用包 147
9.2 接口 149
9.2.1 接口概述 149
9.2.2 创建和使用接口 150
9.2.3 接口的定义 151
9.2.4 接口体 151
9.2.5 接口的实现 152
9.2.6 接口类型 153
9.3 程序实例 153
9.4 课后习题 156
Chapter 10 异常处理 157
10.1 异常定义 157
10.1.1 什么是异常 157
10.1.2 普通异常 157
10.1.3 Throwable类 158
10.1.4 有效使用try-catch 159
10.1.5 何时使用异常 162
10.1.6 如何最大限度的使用异常处理 163
10.2 throw表达式 166
10.3 nally表达式 166
10.4 运行时异常 167
10.4.1 AnthmeticException类 167
10.4.2 NulIPointerException类 167
10.4.3 IncompatibleClassChangeException类 168
10.4.4 ClassCastException类 168
10.4.5 NegativeArraySizeException类 168
10.4.6 OutOfMemoryException类 169
10.4.7 NoClassDefFoundException类 169
10.4.8 IncompatibleTypeException类 169
10.4.9 ArrayIndexOutOfBoundsException类 170
10.4.10 UnsatisfiiedLinkExcention类 170
10.5 程序实例 170
10.6 课后习题 174
Chapter 11 多线程 175
11.1 多线程概述 175
11.2 同步 179
11.2.1 线程间通信 181
11.2.2 Java线程调度 183
11.2.3 线程优先级 184
11.2.4 Java线程同步 185
11.3 线程生命周期 187
11.3.1 线程创建 187
11.3.2 线程启动 188
11.3.3 使线程处于非运行状态 189
11.3.4 线程停止 190
11.3.5 线程状态测试 191
11.3.6 线程暂停和继续 193
11.4 程序实例 194
11.5 课后习题 198
Chapter 12 输入与输出 199
12.1 Java I/O基础 199
12.1.1 背景 200
12.1.2 异常 200
12.1.3 应用 200
12.1.4 文件属性 200
12.2 流 201
12.2.1 字节流 202
12.2.2 字符流 203
12.2.3 缓冲流 206
12.2.4 数据流 207
12.2.5 StreamTokenizer类 208
12.2.6 StringTokenizer类 209
12.3 File类 210
12.3.1 PrintWriter类 211
12.3.2 构造方法 211
12.3.3 文件处理与输入输出 212
12.3.4 基本输入输出流类 218
12.4 程序实例 225
12.5 课后习题 227
Chapter 13 字符串处理 228
13.1 String类 228
13.2 Java字符串 229
13.2.1 字符串基础 229
13.2.2 字符串创建 230
13.2.3 字符串比较 232
13.2.4 字符串其他操作 233
13.2.5 StringBuffer类 238
13.2.6 字符串分析 240
13.3 程序实例 241
13.4 课后习题 243
Chapter 14 网络 244
14.1 计算机网络基础 244
14.2 Java URL对象 247
14.2.1 创建URL对象 247
14.2.2 URL对象查询方法 247
14.2.3 从URL连接读取数据 248
14.2.4 URL操作 249
14.3 Java套接字 259
14.3.1 建立连接 259
14.3.2 套接字连接的客户端 259
14.3.3 套接字操作 262
14.4 程序实例 268
14.5 课后习题 272
Chapter 15 Applet 小应用程序 273
15.1 Applet概述 273
15.2 Applet生命周期、图形、字体、颜色 274
15.2.1 Applet生命周期 274
15.2.2 参数传递 276
15.2.3 Graphics类 276
15.2.4 Font类 276
15.2.5 Color类 277
15.3 使用组件接口 277
15.4 Applet基础 278
15.4.1 Applet类 278
15.4.2 Applet体系结构 279
15.4.3 请求重画 280
15.5 URL与图形的应用 283
15.6 Java中instanceof关键字应用 284
15.7 程序实例 285
15.8 课后习题 288
Chapter 16 图形用户界面Swing 289
16.1 基于事件驱动编程 289
16.2 事件处理 291
16.2.1 Component类 291
16.2.2 Event类 292
16.2.3 鼠标事件处理 293
16.2.4 键盘事件处理 294
16.3 按钮、事件和其他Swing基础 295
16.3.1 按钮 298
16.3.2 动作监听器和动作事件 298
16.3.3 标签 300
16.3.4 颜色 301
16.4 容器和布局管理器 303
16.4.1 边界布局管理器 304
16.4.2 流式布局管理器 307
16.4.3 格点布局管理器 307
16.4.4 面板 309
16.4.5 Container类 313
16.5 菜单和按钮 314
16.5.1 菜单条、菜单和菜单项 314
16.5.2 AbstractButton类 317
16.5.3 setActionCommand方法 318
16.5.4 内部类监听器 319
16.6 文本域和文本区 320
16.6.1 文本域和文本区 321
16.6.2 窗口监听器 322
16.7 程序实例 323
16.8 课后习题 325
Chapter 17 JDBC编程 326
17.1 JDBC介绍 326
17.2 数据库连接 327
17.2.1 简单的数据库连接示例 328
17.2.2 创建连接的JDBC类 329
17.3 数据库访问基础 330
17.3.1 访问数据库的JDBC基础类 330
17.3.2 SQL空值与Java空值 332
17.3.3 清理 332
17.3.4 修改数据库 332
17.4 SQL数据类型和Java数据类型 333
17.5 滚动结果集 335
17.5.1 结果集类型 335
17.5.2 结果集导引 335
17.6 程序实例 336
17.7 课后习题 339