第1章 面向对象程序设计概述 1
1.1 面向对象的思想和方法 1
1.1.1 面向对象方法是一种认知方法 1
1.1.2 面向对象与面向过程语言的比较 1
1.1.3 面向对象方法与软件的集成 2
1.2 面向对象程序设计的概念 3
1.2.1 对象(Object) 3
1.2.2 消息(Message) 4
1.2.3 类(Class) 4
1.2.4 继承(Inheritance) 5
1.2.5 多态性(Polymorphism) 5
1.3 对象的属性与相互关系 6
1.3.1 对象的属性 6
1.3.2 对象的相互关系 6
1.4 面向对象程序设计的特点 7
1.4.1 资源的可重用性 7
1.4.2 功能的可扩展性 7
1.4.3 系统的可管理性 8
1.5 面向对象系统的开发过程 8
1.5.1 面向对象系统的分析方法 8
1.5.2 面向对象系统的设计方法 9
1.5.3 面向对象系统的实现方法 9
1.6 Java的开发与运行环境 9
1.6.1 J2SDK的安装 9
1.6.2 J2SDK的设置 10
1.6.3 开发与运行Java程序的步骤 10
习题1 11
第2章 Java语言和HTML语言简介 13
2.1 Java语言的Application程序 13
2.1.1 源代码的编辑 13
2.1.2 字节码文件的生成 15
2.1.3 字节码文件的解释执行 15
2.2 HTML语言简介 16
2.2.1 HTML的基本要素 17
2.2.2 HTML文件的结构 18
2.2.3 Applet标记 19
2.2.4 HTML文件的编辑 19
2.3 Java语言的Applet程序 20
2.3.1 源代码的编辑 20
2.3.2 代码的嵌入 21
2.3.3 Applet程序的运行 21
2.4 Java语言字符界面的输入输出 22
2.5 Java语言的图形界面的输入输出 24
2.5.1 Java Applet图形界面输入输出 24
2.5.2 Java Application图形界面输入输出 25
2.6 Java语言的特点 27
习题2 28
第3章 Java语言的数据类型 30
3.1 Java语言的标识符 30
3.2 Java语言的关键字 30
3.3 Java语言的常量和变量 32
3.3.1 常量和符号常量 32
3.3.2 变量 34
3.3.3 变量作用域 34
3.4 Java语言的基本数据类型 35
3.4.1 整型 35
3.4.2 实型 36
3.4.3 字符型 36
3.4.4 布尔型 37
3.5 变量的初始化 37
3.6 简单程序举例 38
习题3 40
第4章 Java语言的运算符和表达式 42
4.1 赋值、算术运算符及其表达式 42
4.1.1 赋值运算符及其表达式 42
4.1.2 算术运算符及其表达式 43
4.2 关系、逻辑运算符及其表达式 45
4.2.1 关系运算符及其表达式 45
4.2.2 逻辑运算符及其表达式 47
4.3 位运算符及其表达式 49
4.3.1 计算机内数据的表示 49
4.3.2 位运算符及其表达式 49
4.4 其他运算符 53
4.4.1 复合赋值运算符 53
4.4.2 对象运算符、成员运算符和new运算符 53
4.4.3 圆括号与方括号运算符 54
4.5 Java语言运算符的优先级和结合性 54
4.6 数据类型的转换 54
4.6.1 数据类型的算术转换 54
4.6.2 数据类型的赋值转换 55
4.6.3 数据类型的强制转换 55
习题4 56
第5章 Java语言的基本语句 58
5.1 Java语言的三种基本结构 58
5.2 Java语言的顺序结构语句 58
5.2.1 变量定义语句和表达式语句 58
5.2.2 复合语句、分程序和空语句 59
5.3 选择结构及其程序设计 61
5.3.1 条件运算符和条件表达式 61
5.3.2 if…else语句 61
5.3.3 switch…case语句 67
5.4 循环结构及其程序设计 69
5.4.1 while语句 69
5.4.2 for语句 70
5.4.3 do…while语句 71
5.4.4 循环嵌套 72
5.5 转移控制语句 73
5.5.1 break语句 73
5.5.2 continue语句 75
习题5 77
第6章 数组、字符串、向量和基础类库 80
6.1 一维数组 80
6.1.1 一维数组的声明 80
6.1.2 创建一维数组 80
6.1.3 一维数组的初始化 81
6.1.4 一维数组应用举例 81
6.2 多维数组 82
6.2.1 多维数组声明 82
6.2.2 创建多维数组 82
6.2.3 多维数组的初始化 83
6.2.4 多维数组应用举例 83
6.3 字符数组 85
6.3.1 字符数组声明 85
6.3.2 创建字符数组 85
6.3.3 字符数组初始化及其举例 85
6.4 不变字符串:String类 87
6.4.1 String类的构造方法及其应用举例 88
6.4.2 字符串的常用方法 89
6.4.3 字符串与子字符串操作 89
6.4.4 toString方法及其他方法 91
6.5 可变字符串:StringBuffer类 91
6.5.1 StringBuffer类的构造方法 91
6.5.2 StringBuffer类的常用方法及其举例 92
6.6 向量 93
6.6.1 向量的声明 93
6.6.2 Vector类的常用方法及其举例 94
6.7 Java语言的基本类库 95
6.7.1 Object类 95
6.7.2 数据类型类 96
6.7.3 Math类 97
6.7.4 System类 98
6.8 Class类 102
6.8.1 获取类的有关信息 102
6.8.2 用Class实例化一个对象 103
习题6 104
第7章 Java语言的方法 107
7.1 return语句 107
7.2 Java语言方法的定义、返值和调用 108
7.2.1 Java语言方法的修饰符 108
7.2.2 Java语言方法的定义 109
7.2.3 Java语言方法的调用 110
7.2.4 Java语言方法的返回值 111
7.3 方法之间的数据传递 113
7.3.1 方法间的数值传递 113
7.3.2 方法间的引用传递 114
7.4 Java语言方法的嵌套调用和递归调用 117
7.4.1 Java语言方法的嵌套调用 117
7.4.2 Java语言方法的递归调用 118
7.5 Java语言方法的命令行参数 122
习题7 124
第8章 Java语言的类声明和对象的实例化 129
8.1 Java语言的类 129
8.1.1 Java语言类的声明 129
8.1.2 Java语言类的修饰 129
8.1.3 Java语言类的类体 131
8.1.4 Java语言类的构造方法 133
8.2 Java语言类的成员变量 134
8.2.1 Java语言类成员变量的声明 134
8.2.2 Java语言类成员变量的修饰 135
8.3 Java语言类的成员方法 138
8.3.1 成员方法的声明和修饰 138
8.3.2 成员方法的设计 140
8.3.3 方法体 142
8.3.4 消息的传递 143
8.4 局部类、内部类和匿名类 146
8.4.1 局部类 146
8.4.2 内部类 147
8.4.3 匿名类 148
8.5 Java语言对象的实例化 150
8.5.1 创建对象 150
8.5.2 使用对象 151
8.5.3 清除对象 152
习题8 152
第9章 Java语言的继承性和多态性 157
9.1 继承与类的层次 157
9.1.1 继承的概念 157
9.1.2 类的层次 157
9.2 Java语言的继承性 158
9.2.1 父类和子类 158
9.2.2 成员变量的继承与隐藏 160
9.2.3 成员方法的继承与覆盖 161
9.3 Java语言的多态性 164
9.3.1 多态性的概念 164
9.3.2 重载实现多态 164
9.3.3 覆盖实现多态 166
9.4 Java语言构造方法的缺省、继承与重载 167
9.4.1 缺省的构造方法 167
9.4.2 构造方法的继承 168
9.4.3 构造方法的重载 170
习题9 174
第10章 Java语言的接口、异常和包 179
10.1 Java语言的接口 179
10.1.1 Java语言接口的声明 179
10.1.2 Java语言接口的继承关系 180
10.1.3 Java语言接口的实现 181
10.1.4 与接口有关的匿名类 183
10.2 Java的异常及其处理 184
10.2.1 异常及其产生的原因 184
10.2.2 Java的标准异常类 185
10.2.3 编译时对异常的检查和异常的层次结构 186
10.2.4 异常的处理技术 187
10.3 Java语言的包 193
10.3.1 程序包的引用 193
10.3.2 声明用户的包 193
10.3.3 Java语言的系统包 194
10.3.4 包应用举例 195
习题10 200
第11章 Java语言的数据流和对象序列化 204
11.1 Java数据流的输入/输出 204
11.2 Java输入/输出流类的层次结构 205
11.3 常用流类的常用方法 207
11.3.1 InputStream和OutputStream类及常用的方法 207
11.3.2 Reader、Writer类及常用的方法 208
11.4 常用流类应用举例 209
11.4.1 文件输入/输出流的应用 209
11.4.2 缓冲输入/输出流的应用 210
11.4.3 数据输入/输出流的应用 212
11.4.4 字节数组输入/输出流的应用 213
11.5 File类和RandomAccessFile类及其举例 215
11.5.1 File类 215
11.5.2 文件的随机存取 216
11.6 对象序列化 218
11.6.1 支持对象序列化的接口 218
11.6.2 支持对象序列化的类 220
11.6.3 对象序列化应用举例 221
习题11 223
第12章 Java语言的多线程 229
12.1 线程与多线程 229
12.1.1 线程的概念 229
12.1.2 线程的结构 230
12.2 线程的生命期 230
12.3 线程状态的转换方法 232
12.4 线程的优先级及其设置 233
12.4.1 线程的优先级 233
12.4.2 优先级的设置 233
12.5 创建线程 234
12.5.1 继承Thread类创建线程 234
12.5.2 实现Runnable接口创建线程 236
12.6 同步问题 237
12.6.1 问题的提出 238
12.6.2 对象的锁定标志 239
12.6.3 同步方法 240
12.6.4 死锁问题 242
12.7 线程其他方法及计时器线程 242
12.7.1 currentThread和interrupt()方法应用 242
12.7.2 线程联合 244
12.7.3 计时器线程Timer 245
习题12 247
第13章 Java语言的图形用户界面设计 253
13.1 Java语言的Frame框架 253
13.1.1 容器和组件 253
13.1.2 组件的定位和大小设置 254
13.1.3 Frame框架外观及其相关的方法 254
13.1.4 Frame框架的应用 255
13.2 组件的布局管理 256
13.2.1 顺序布局 256
13.2.2 边沿布局 257
13.2.3 卡片布局 258
13.2.4 网格布局 259
13.2.5 网格包布局 260
13.2.6 人为布局 262
13.3 事件及其事件的处理 263
13.3.1 事件处理中的几个基本概念 263
13.3.2 Java对事件的处理模式 264
13.3.3 适配器及其覆盖 265
13.3.4 窗口事件 268
13.3.5 鼠标事件 269
13.3.6 焦点事件 271
13.3.7 键盘事件 272
13.4 Java语言的面板容器及多窗口 275
13.4.1 面板 275
13.4.2 滚动面板 277
13.4.3 向窗口加入组件和多重窗口 278
13.5 菜单 280
13.5.1 菜单的有关概念 281
13.5.2 向窗口加入菜单 282
13.5.3 弹出式菜单 284
13.6 对话框 285
13.6.1 自定义对话框 286
13.6.2 文件对话框 287
习题13 289
第14章 Java语言的AWT组件及应用 293
14.1 标签、按钮和滚动条的应用 293
14.1.1 标签 293
14.1.2 按钮 294
14.1.3 滚动条 296
14.2 单选按钮、复选框和选择框 297
14.2.1 单选按钮 297
14.2.2 复选框 299
14.2.3 选项框 301
14.3 文本框、文本区和列表框 302
14.3.1 文本框 302
14.3.2 文本区 303
14.3.3 列表 305
14.4 Swing介绍及其应用 307
14.4.1 Swing按钮和标签的应用 307
14.4.2 Swing边界和滑动条的应用 310
14.4.3 Swing单选按钮、复选按钮和列表框的应用 314
14.5 GUI的绘图 320
14.5.1 文字输出 320
14.5.2 颜色控制 322
14.5.3 绘制图形 323
14.5.4 显示图像 325
14.5.5 画布 326
习题14 330
第15章 Java语言的网络编程 336
15.1 网络编程简介 336
15.1.1 网络通信协议介绍 336
15.1.2 通信端口介绍 338
15.1.3 Java语言网络功能的介绍 338
15.2 URL类及其应用 339
15.2.1 URL概念、构造方法和URL的对象属性 339
15.2.2 创建URL对象及其应用 341
15.2.3 利用URL对象读取服务器文件 341
15.2.4 利用URL读取文件时的异常及其处理方法 343
15.3 URLConnection类及其应用 344
15.3.1 URLConnection类 344
15.3.2 AppletContext接口类 344
15.3.3 从网络中获取图像的应用举例 345
15.4 Socket接口 346
15.4.1 Socket接口的基本概念 346
15.4.2 利用Socket接口通信的步骤 347
15.4.3 Socket类及其应用 348
15.4.4 ServerSocket类及其应用 350
15.5 Datagram数据报 353
15.5.1 DatagramPacket类 353
15.5.2 DatagramSocket类 354
15.5.3 Datagram数据报应用举例 355
15.5.4 网络测试应用程序 363
15.6 与APPlet通信 365
15.6.1 Applet类的定义 365
15.6.2 Applet类的成员 365
15.6.3 Applet的生命期 366
15.6.4 网页文件向Applet程序传递数据 367
习题15 368
第16章 Java语言的数据库编程 370
16.1 JDBC简介、驱动程序及ODBC 370
16.1.1 JDBC简介 370
16.1.2 JDBC驱动程序 370
16.1.3 JDBC与ODBC 373
16.2 JDBC中主要的接口和类 373
16.2.1 DriverManager类 373
16.2.2 Connection接口 374
16.2.3 Statement接口 375
16.2.4 ResultSet接口 377
16.3 结构化查询语言SQL简介 377
16.3.1 数据定义语句 378
16.3.2 数据操纵语句 378
16.4 使用JDBC访问数据库 379
16.4.1 创建数据源 379
16.4.2 连接Access数据库 381
16.4.3 数据库的创建、插入、修改和删除 382
16.5 数据库的查询举例 387
16.5.1 顺序查询 387
16.5.2 条件查询 388
16.5.3 排序查询 389
16.5.4 模糊查询 390
16.5.5 随机查询 391
习题16 393
附录A Java语言运算符的优先级和结合性 395
附录B Java语言的异常和错误 396
参考文献 400