第一章 面向对象程序设计概述 1
1.1 面向对象的编程思想和方法 1
1.1.1 面向对象方法是一种认知方法 1
1.1.2 面向对象语言与面向过程语言的比较 2
1.1.3 面向对象编程方法与软件的集成 3
1.2 面向对象程序设计的概念 3
1.2.1 对象(Object) 3
1.2.2 消息(Message) 4
1.2.3 类(Class) 5
1.2.4 继承(Inheritance) 6
1.2.5 多态性(Polymorphism) 6
1.3 对象的属性与相互关系 7
1.3.1 对象的属性 7
1.3.2 对象的相互关系 7
1.4 面向对象程序设计的特点 8
1.4.1 资源的可重用性 8
1.4.2 功能的可扩展性 9
1.4.3 系统的可管理性 9
1.5 面向对象系统的开发过程 10
1.5.1 面向对象系统的分析方法 10
1.5.2 面向对象系统的设计方法 10
1.5.3 面向对象系统的实现方法 10
1.6 Java的开发与运行环境 11
1.6.1 J2SDK的安装 11
1.6.2 J2SDK的设置 11
1.6.3 开发与运行Java程序的步骤 12
第二章 Java语言和HTML语言简介 14
2.1 Java语言的Application程序 14
2.1.1 源代码的编辑 15
2.1.2 字节码文件的生成 16
2.1.3 字节码文件的解释执行 17
2.2 HTML语言简介 19
2.2.1 HTML的基本要素 20
2.2.2 HTML文件的结构 22
2.2.3 在HTML文件中加入链接、图像和声音 22
2.2.4 Applet标记 24
2.2.5 常用HTML标记 25
2.2.6 HTML文件的编辑 25
2.3 Java语言的Applet程序 26
2.3.1 源代码的编辑 26
2.3.2 代码的嵌入 27
2.3.3 Applet程序的运行 27
2.4 Java语言字符界面的输入输出 29
2.5 Java语言图形界面的输入输出 31
2.5.1 Java Applct图形界面输入输出 31
2.5.2 Java Application图形界面输入输出 33
2.6 Java语言的特点 34
第三章 Java语言的数据类型 38
3.1 Java语言的标识符 38
3.2 Java语言的关键字 39
3.3 Java语言的常量和变量 40
3.3.1 常量和符号常量 40
3.3.2 变量 42
3.3.3 变量作用域 43
3.4 Java语言的基本数据类型 43
3.4.1 整型 43
3.4.2 实型 44
3.4.3 字符型 45
3.4.4 布尔型 45
3.5 变量的初始化 45
3.6 简单程序举例 46
第四章 Java语言的运算符和表达式 51
4.1 赋值、算术运算符及其表达式 51
4.1.1 赋值运算符及其表达式 51
4.1.2 算术运算符及其表达式 52
4.2 关系、逻辑运算符及其表达式 55
4.2.1 关系运算符及其表达式 55
4.2.2 逻辑运算符及其表达式 57
4.3 位运算符和表达式 58
4.3.1 计算机内数据的表示 59
4.3.2 位运算符及其表达式 60
4.4 其他运算符 64
4.5 Java语言运算符的优先级和结合性 65
4.6 数据类型的转换 66
4.6.1 数据类型的自动转换 66
4.6.2 数据类型的强制转换 66
第五章 Java语言的基本语句 68
5.1 Java语言的三种基本结构 68
5.2 Java语言的顺序结构语句 68
5.2.1 变量声明语句和表达式语句 69
5.2.2 复合语句和分程序 69
5.3 选择结构及其程序设计 71
5.3.1 条件运算符和条件表达式 71
5.3.2 if…else语句 72
5.3.3 switch…case语句 79
5.4 循环结构及其程序设计 81
5.4.1 while语句 81
5.4.2 for语句 83
5.4.3 do…while语句 84
5.4.4 循环嵌套 85
5.5 转移控制语句 86
5.5.1 break语句 87
5.5.2 continue语句 88
第六章 数组、字符串和向量 94
6.1 一维数组 94
6.1.1 一维数组的声明 94
6.1.2 创建一维数组 95
6.1.3 一维数组的初始化 95
6.1.4 一维数组应用举例 96
6.2 多维数组 97
6.2.1 多维数组声明 97
6.2.2 创建多维数组 97
6.2.3 多维数组的初始化 98
6.2.4 多维数组应用举例 98
6.3 字符数组 100
6.3.1 字符数组声明 100
6.3.2 创建字符数组 100
6.3.3 字符数组初始化及其举例 100
6.4 不变字符串:String类 103
6.4.1 String类的构造方法及其应用举例 103
6.4.2 字符串的常用方法 105
6.4.3 字符串与子字符串操作 105
6.4.4 toString方法及其他方法 107
6.5 可变字符串:StringBuffer类 108
6.5.1 StringBuffer类的构造方法 108
6.5.2 StringBuffer类的常用方法 109
6.6 向量 110
6.6.1 向量的声明 111
6.6.2 Vector类的常用方法 111
第七章 Java语言的方法 114
7.1 return语句 114
7.2 Java语言方法的定义、返值和调用 115
7.2.1 Java语言方法的修饰 115
7.2.2 Java语言方法的定义 117
7.2.3 Java语言方法的调用 118
7.2.4 Java语言方法的返值 120
7.3 方法之间的数据传递 122
7.3.1 方法间的数值传递 122
7.3.2 方法间的引用传递 123
7.4 Java语言方法的递归调用 126
7.5 Java语言方法的命令行参数 131
第八章 Java语言类的声明和对象的实例化 135
8.1 Java语言的类 135
8.1.1 Java语言类的声明 135
8.1.2 Java语言类的修饰 136
8.1.3 Java语言类的类体 137
8.1.4 Java语言类的构造方法 139
8.2 Java语言类的成员变量 140
8.2.1 Java语言类成员变量的声明 141
8.2.2 Java语言类成员变量的修饰 142
8.3 Java语言类的成员方法 145
8.3.1 成员方法的设计 145
8.3.2 成员方法的声明和修饰 147
8.3.3 方法体 149
8.3.4 消息的传递 151
8.4 Java语言对象的实例化 153
8.4.1 创建对象 153
8.4.2 使用对象 154
8.4.3 清除对象 154
第九章 Java语言的继承和多态性 156
9.1 继承与类的层次 156
9.1.1 继承的概念 156
9.1.2 类的层次 156
9.2 Java语言的继承 157
9.2.1 父类和子类 158
9.2.2 成员变量的继承与隐藏 160
9.2.3 成员方法的继承与覆盖 162
9.3 Java语言的多态性 165
9.3.1 多态性的概念 165
9.3.2 重载实现多态 165
9.3.3 覆盖实现多态 166
9.4 Java 语言构造方法的缺省、继承与重载 168
9.4.1 缺省的构造方法 168
9.4.2 构造方法的继承 170
9.4.3 构造方法的重载 173
第十章 Java语言的接口、异常和包 180
10.1 Java语言的接口 180
10.1.1 Java语言接口的声明 180
10.1.2 Java语言接口的继承关系 181
10.1.3 Java语言接口的实现 182
10.2 Java语言的异常及其处理 184
10.2.1 异常及其产生的原因 184
10.2.2 Java的标准异常类 185
10.2.3 编译时对异常的检查和异常的层次 186
10.2.4 异常的处理技术 187
10.3 Java语言的包 194
10.3.1 程序包的引用 195
10.3.2 声明用户的程序包 195
10.3.3 Java语言的系统包 196
10.3.4 包应用举例 197
第十一章 Java语言的数据流 204
11.1 Java数据流的输入/输出 204
11.2 Java输入/输出流类的层次结构 205
11.3 常用流类的常用方法 208
11.3.1 InputStream和OutputStream抽象类 208
11.3.2 Reader、Writer子类及其常用的方法 209
11.4 常用流类应用举例 210
11.4.1 文件输入/输出流的应用 210
11.4.2 缓冲输入/输出流的应用 211
11.4.3 数据输入/输出流的应用 213
11.4.4 字节数组输入/输出流的应用 215
11.5 File类和RandomAccessFile类及其举例 217
11.5.1 File类 217
11.5.2 随机存取文件类 218
第十二章 Java语言的多线程 222
12.1 线程与多线程 222
12.1.1 线程的概念 222
12.1.2 线程的结构 223
12.2 线程的生命期 223
12.3 线程状态的转换方法 225
12.3.1 启动线程(start())方法 225
12.3.2 检查线程(isAlive())方法 225
12.3.3 挂起线程方法 226
12.4 线程的优先级及其设置 227
12.4.1 线程的优先级 227
12.4.2 优先级的设置 227
12.5 创建线程 228
12.5.1 继承Thread类创建线程 229
12.5.2 实现Runnable接口创建线程 230
12.6 同步问题 232
12.6.1 问题的提出 232
12.6.2 对象的锁定标志 234
12.6.3 同步方法 235
12.6.4 死锁问题 237
第十三章 Java语言的基础类库与AWT组件 239
13.1 基本类库 239
13.1.1 Object类 239
13.1.2 数据类型类 240
13.1.3 Math类 241
13.1.4 System类 242
13.2 标签、按钮和滚动条的应用 246
13.2.1 标签 247
13.2.2 按钮 248
13.2.3 滚动条 250
13.3 单选按钮、复选框和选项框 251
13.3.1 单选按钮 251
13.3.2 复选框 253
13.3.3 选项框 255
13.4 文本框、文本区和列表 257
13.4.1 文本框 257
13.4.2 文本区 258
13.4.3 列表 260
13.5 Swing介绍及其应用 262
13.5.1 Swing按钮和标签的应用 263
13.5.2 Swing边界和滑动条的应用 266
13.5.3 Swing单选按钮、复选按钮和列表框的应用 270
第十四章 Java语言的图形用户界面设计 278
14.1 组件的布局管理 279
14.1.1 顺序布局、边沿布局和卡片布局 279
14.1.2 网格布局、网格包布局和人为布局 281
14.1.3 事件处理综合举例 285
14.2 窗口和面板 290
14.2.1 可关闭窗口的创建 290
14.2.2 窗口事件适配器的介绍 291
14.2.3 向窗口加入组件和多重窗口 293
14.2.4 面板 295
14.3 菜单 297
14.3.1 菜单的有关概念 297
14.3.2 向窗口加入菜单 299
14.3.3 弹出式菜单 301
14.4 对话框 305
14.4.1 自定义对话框 305
14.4.2 文件对话框 307
第十五章 Java语言的网络编程 310
15.1 网络编程简介 310
15.1.1 网络通信协议介绍 310
15.1.2 通信端口介绍 312
15.1.3 Java语言网络功能的介绍 312
15.2 URL类及其应用 313
15.2.1 URL的概念、构造方法和URL的对象属性 313
15.2.2 创建URL对象及其应用 316
15.2.3 利用URL对象读取服务器文件 317
15.2.4 利用URL读取文件时的异常及其处理 318
15.3 URLConnection类及其应用 320
15.3.1 URLConnection类 320
15.3.2 AppletContext接口类 320
15.3.3 从网络中获取图像应用举例 321
15.4 Socket接口 323
15.4.1 Socket接口的基本概念 323
15.4.2 利用Socket接口通信的步骤 323
15.4.3 Socket类及其应用 324
15.4.4 ServerSocket类及其应用 327
15.5 Datagram数据报 330
15.5.1 DatagramPacket类 331
15.5.2 DatagramSocket类 332
15.5.3 Datagram数据报应用举例 333
15.5.4 网络测试应用程序 342
第十六章 Java语言的数据库编程 346
16.1 JDBC 346
16.1.1 JDBC简介 346
16.1.2 JDBC驱动程序 347
16.1.3 JDBC与ODBC 348
16.2 JDBC中主要的接口和类 350
16.2.1 DriverManager类 350
16.2.2 Connection接口 351
16.2.3 Statement接口 352
16.2.4 ResultSet接口 354
16.3 结构化查询语言SQL简介 355
16.3.1 数据定义语句 355
16.3.2 数据操纵语句 356
16.4 使用JDBC访问数据库 357
16.4.1 创建数据源 357
16.4.2 连接Access数据库 360
16.4.3 查询数据库 360
附录A Java语言运算符的优先级和结合性表 366
附录B ASCII码表 367
附录C Java语言异常和错误信息 368
参考文献 373