第1章 Java程序设计概述 1
1.1 Java与程序 1
1.1.1 概述 1
1.1.2 Java的发展 2
1.2 Java语言的特点 3
1.3 Java程序介绍 4
1.3.1 Java虚拟机 4
1.3.2 Java开发工具 4
1.3.3 Java的API类库与API文档 5
1.3.4 Java资源的获取、安装 6
1.3.5 Eclipse应用平台简介 9
1.4 Java程序结构及开发过程概述 11
1.4.1 Java程序结构 11
1.4.2 简单的Java程序 13
1.4.3 Java程序的开发过程 14
1.5 本章概要 20
1.6 思考练习 21
第2章 Java程序设计的基本概念 22
2.1 数据类型与标识符 22
2.1.1 数据类型 22
2.1.2 标识符 22
2.2 常量 23
2.2.1 整型常量值 23
2.2.2 实型常量值 24
2.2.3 字符型和字符串常量值 24
2.2.4 布尔型常量值 24
2.2.5 常量的定义和使用 24
2.3 变量 26
2.3.1 变量概述 26
2.3.2 变量的定义及赋值 27
2.3.3 变量的作用域 28
2.3.4 变量的默认值 28
2.4 运算符与表达式 29
2.4.1 赋值运算符与赋值表达式 29
2.4.2 算术运算符与算术表达式 29
2.4.3 关系运算符与关系表达式 31
2.4.4 逻辑运算符与逻辑表达式 32
2.4.5 复合赋值运算符 33
2.4.6 其他运算符 34
2.4.7 运算符的优先级与结合性 34
2.5 数据类型的转换 35
2.6 本章概要 37
2.7 思考练习 37
第3章 Java的结构化程序设计 39
3.1 顺序结构及基本语句 39
3.1.1 赋值语句 39
3.1.2 输入语句 40
3.2 选择结构语句 41
3.2.1 if语句 42
3.2.2 if-else语句 43
3.2.3 if-else if语句 44
3.2.4 if语句的嵌套 45
3.2.5 switch语句 46
3.3 循环结构语句 48
3.3.1 for语句 48
3.3.2 while语句 49
3.3.3 do-while语句 50
3.3.4 循环结构语句的嵌套 51
3.4 转移语句 52
3.4.1 break语句 52
3.4.2 continue语句 53
3.5 数组 54
3.5.1 一维数组的声明与引用 55
3.5.2 数组的赋值 56
3.5.3 一维数组程序举例 56
3.5.4 二维数组的声明及引用 58
3.5.5 数组的复制 60
3.5.6 字符串处理 60
3.6 方法 64
3.6.1 Java的程序模块化 64
3.6.2 方法的定义及调用 64
3.6.3 参数的传递 65
3.6.4 作用域 66
3.6.5 return语句 67
3.6.6 方法的嵌套调用 68
3.6.7 递归 69
3.7 本章概要 70
3.8 思考练习 70
第4章 Java的面向对象程序设计 72
4.1 面向对象程序设计概述 72
4.1.1 面向对象程序设计的目的 72
4.1.2 类和对象 72
4.1.3 面向对象程序设计的核心技术 72
4.1.4 Java的面向对象技术 73
4.2 类的创建 73
4.2.1 类的声明格式 73
4.2.2 成员变量 74
4.2.3 成员方法 74
4.3 对象的创建和使用 76
4.3.1 创建对象 76
4.3.2 构造方法和对象的初始化 76
4.3.3 对象的使用 78
4.3.4 对象的销毁 79
4.4 类的封装 80
4.4.1 封装的目的 80
4.4.2 访问权限的设置 80
4.4.3 类成员(静态成员) 82
4.5 类的继承 85
4.5.1 继承的基本概念 85
4.5.2 子类的创建 85
4.5.3 null、this、super对象运算符 87
4.5.4 最终类和抽象类 89
4.6 类的多态性 90
4.6.1 方法的重载 90
4.6.2 方法的覆盖 92
4.6.3 前期绑定和后期绑定 93
4.7 接口 93
4.7.1 接口的声明 93
4.7.2 接口的实现 94
4.8 包 95
4.8.1 Java的类和包 95
4.8.2 引用Java定义的包 96
4.8.3 自定义包 97
4.8.4 包和访问权限 99
4.9 本章概要 99
4.10 思考练习 99
第5章 Java的图形用户界面 101
5.1 Applet概述 101
5.1.1 一个简单的Applet例子 101
5.1.2 Applet的安全模型 102
5.1.3 java.applet.Applet类与其他类的关系 102
5.1.4 Applet的生命周期 103
5.2 java.awt与图形用户界面 105
5.2.1 标签和文本域 105
5.2.2 Java中的事件处理机制 107
5.2.3 按钮 113
5.2.4 布局 114
5.2.5 面板 116
5.2.6 文本区域 118
5.2.7 复选框和单选钮 118
5.2.8 下拉列表 120
5.2.9 列表 122
5.2.10 窗口与菜单 125
5.2.11 对话框 135
5.3 Swing 137
5.3.1 Swing的特点 137
5.3.2 Swing类的继承关系 138
5.3.3 Swing中的容器 139
5.3.4 Swing中的常用组件 150
5.3.5 Swing中的事件 161
5.4 二维图形设计 163
5.4.1 二维图形的坐标系统 163
5.4.2 字体 163
5.4.3 颜色 164
5.4.4 绘图 164
5.4.5 Timer与TimerTask类 167
5.5 本章概要 170
5.6 思考练习 170
第6章 Java的异常处理 172
6.1 异常和异常对象 172
6.2 异常的捕获与处理 173
6.3 try语句的嵌套 175
6.4 throw语句 177
6.5 throws语句 179
6.6 使用异常处理的准则 179
6.7 本章概要 180
6.8 思考练习 180
第7章 Java的多线程程序设计 181
7.1 线程的概念 181
7.1.1 进程和线程 181
7.1.2 线程和多任务 181
7.1.3 Java对多线程的支持 181
7.2 线程的创建 181
7.2.1 Runnable接口 182
7.2.2 Thread类 182
7.2.3 创建线程的方法 182
7.3 线程的状态与控制 184
7.3.1 线程的状态 184
7.3.2 对线程状态的控制 185
7.4 线程的优先级和调度 188
7.4.1 线程的优先级 188
7.4.2 线程的调度 188
7.5 线程组 188
7.5.1 线程组概述 188
7.5.2 ThreadGroup类 188
7.6 线程的同步 189
7.6.1 线程的同步机制 189
7.6.2 共享数据的互斥锁定 191
7.6.3 数据传送时的同步控制 193
7.6.4 死锁 195
7.7 本章概要 197
7.8 思考练习 197
第8章 Java的输入输出流 198
8.1 流的基本概念 198
8.1.1 输入输出流与缓冲流 198
8.1.2 Java的标准输入输出 198
8.1.3 java.io包中的数据流 199
8.2 字节流 200
8.2.1 InputStream和OutputStream类 200
8.2.2 文件字节流与文件的读写 201
8.3 字符流 203
8.3.1 Reader和Writer类 203
8.3.2 文件字符流与文件的读写 204
8.3.3 字符缓冲流与文件的读写 205
8.4 文件类与文件的操作 206
8.4.1 文件类File 206
8.4.2 文件过滤器 207
8.4.3 文件对话框与文件的操作 209
8.5 文件的随机读写 213
8.5.1 RandomAccessFile类 213
8.5.2 RandomAccessFile的构造方法 213
8.5.3 RandomAccessFile的方法 213
8.6 DataInputStream和DataOutput-Stream与文件的操作 214
8.6.1 数据流DataInputStream和DataOutputStream类 214
8.6.2 使用DataInputStream和Data-OutputStream类对文件操作 215
8.7 本章概要 216
8.8 思考练习 216
第9章 Java的网络应用 218
9.1 网络的基本概念 218
9.1.1 IP地址和端口号 218
9.1.2 URL 219
9.1.3 TCP与UDP 219
9.1.4 Socket 220
9.2 URL的使用 220
9.2.1 使用URL的方法 220
9.2.2 应用举例 222
9.3 Socket的应用 227
9.3.1 TCP套接字通信基本步骤 227
9.3.2 服务器端程序设计举例 229
9.3.3 客户端程序设计举例 231
9.4 网络安全管理 233
9.4.1 Java的安全特性 234
9.4.2 缓存溢出 234
9.4.3 竞争状态 235
9.4.4 建立安全性策略 236
9.4.5 安全基本原则 238
9.5 本章概要 238
9.6 思考练习 238
第10章 Java的多媒体应用 240
10.1 图像显示 240
10.2 动画实现 242
10.3 声音播放 246
10.4 本章概要 249
10.5 思考练习 249
第11章 实验练习 251
实验一 Java程序的开发过程与开发环境 251
实验二 Java程序设计的基本概念 251
实验三 Java的结构化程序设计 253
实验四 Java的面向对象程序设计 256
实验五 Java的图形用户界面 258
实验六 Java的异常处理 264
实验七 Java的多线程程序设计 266
实验八 Java的输入输出流 266
实验九 Java的网络应用 270
实验十 Java的多媒体应用 271
附录1 部分参考答案 273
附录2 2012年上海市高等学校计算机等级考试(二级)——《Java程序设计》考试大纲 275
附录3 上海市高等学校计算机等级考试试卷(二级)——《Java程序设计》(样卷) 279
参考文献 286