第1章 Java概述 1
1.1 Java语言的发展历程 1
1.2 Java语言的特点 3
1.2.1 简洁性 3
1.2.2 面向对象 3
1.2.3 动态性 6
1.2.4 安全性 6
1.2.5 平台无关性和可移植性 6
1.2.6 高性能性 7
1.2.7 多线程 7
1.2.8 分布式 8
1.2.9 健壮性 8
1.3 Java语言的开发工具包 8
1.3.1 JDK的下载、安装和设置 8
1.3.2 JDK的简介 10
1.4 Java程序的基本结构 12
1.5 Java程序的开发 13
1.5.1 一个简单的Java Application程序 14
1.5.2 一个简单的JavaApplet程序 15
1.5.3 Java Applet图形界面的输入输出 17
1.5.4 Java Application图形界面的输入输出 19
习题 20
第2章 Java语言基础知识 21
2.1 Java程序基本结构 21
2.2 Java符号集 25
2.2.1 关键字 25
2.2.2 标识符 26
2.2.3 程序中的注释 28
2.3 数据的简单类型 28
2.4 常量 29
2.4.1 整数 30
2.4.2 浮点数 30
2.4.3 字符型常量 31
2.4.4 布尔型常量 31
2.5 变量和变量声明 32
2.6 变量的作用域及初始化 33
2.6.1 作用域 33
2.6.2 变量初始化 34
2.7 运算符及表达式 36
2.7.1 表达式 38
2.7.2 算术运算符 38
2.7.3 关系和布尔运算符 40
2.7.4 位运算符 42
2.7.5 赋值运算符和数据的类型转换 44
2.7.6 条件运算符 46
习题 47
第3章 流程控制、数组 48
3.1 分支语句 49
3.1.1 条件分支语句if-else 49
3.1.2 多分支语句switch和中断语句break 51
3.2 循环语句 55
3.2.1 while语句 55
3.2.2 do-while语句 56
3.2.3 for语句 57
3.3 continue语句 59
3.4 return语句 61
3.5 数组和字符串 62
3.5.1 数组声明 62
3.5.2 数组元素及初始化 64
3.5.3 多维数组 68
3.5.4 字符串 68
习题 69
第4章 类和对象 70
4.1 面向对象程序设计 70
4.1.1 对象 71
4.1.2 消息 72
4.1.3 类 72
4.2 类的创建 73
4.2.1 类声明 73
4.2.2 类体定义 74
4.3 方法过载 81
4.4 类的构造方法 83
4.5 类成员和实例成员 86
4.5.1 类成员 86
4.5.2 实例成员 87
4.6 对象 90
4.6.1 对象创建 90
4.6.2 对象使用 91
4.6.3 对象清除 96
4.6.4 finalize()方法 96
习题 97
第5章 超类、子类和继承性 99
5.1 继承性 99
5.2 创建子类 99
5.3 成员变量的隐藏和方法覆盖 102
5.4 null,this和super 103
5.4.1 null 103
5.4.2 this 103
5.4.3 super 104
5.5 运行时的多态 106
5.6 方法过载与方法覆盖区别 107
5.7 final类和方法 107
5.8 抽象类和方法 108
5.9 Object类 109
习题 112
第6章 包、访问控制和接口 114
6.1 包 114
6.1.1 包声明——package语句 114
6.1.2 包引入——import语句 115
6.2 编译和运行包中的类 116
6.3 访问控制 117
6.3.1 公共型public 118
6.3.2 保护型protected 119
6.3.3 缺省型 119
6.3.4 私有型private 120
6.4 访问控制示例 121
6.5 接口 124
6.5.1 接口的定义 125
6.5.2 接口的实现 127
6.5.3 接口的类型 127
6.6 完整的Java源文件 128
习题 129
第7章 异常处理 131
7.1 异常类的层次 131
7.2 异常处理 133
7.3 嵌套的异常处理 135
7.4 throw语句 137
7.5 throws语句 139
总结 142
习题 143
第8章 多线程设计 144
8.1 多线程机制 144
8.1.1 线程的基本概念 144
8.1.2 线程的三个部分 145
8.2 多线程实现方法 146
8.2.1 创建Thread类子类方法 146
8.2.2 创建实现接口Runnable的方法 150
8.3 多线程状态及调度 153
8.3.1 线程的状态 153
8.3.2 线程的优先级及调度 153
8.3.3 线程的控制 154
8.4 线程同步 156
8.4.1 线程同步 156
8.4.2 同步锁 159
8.5 线程通信 161
8.5.1 wait方法和notify方法 161
8.5.2 状态转换图 161
8.5.3 wait和notify的应用示例 162
习题 164
第9章 输入输出流 166
9.1 I/O基本原理 166
9.1.1 基本概念 166
9.1.2 流的分类 167
9.2 文件及文件I/O 167
9.2.1 File类 167
9.2.2 RandomAccessFile类 173
9.3 字节流 177
9.3.1 InputStream类 178
9.3.2 OutputStream类 179
9.3.3 字节流子类介绍 180
9.4 字符流 187
9.5 管道输入输出流类 190
9.5.1 管道的概念 190
9.5.2 管道连接的实现 191
9.5.3 实例 192
9.6 I/O流链接及处理流 194
9.7 对象序列化处理 195
小结 198
习题 199
第10章 网络编程 200
10.1 网络基础 200
10.1.1 网络连接 200
10.1.2 客户端/服务器连接模型 205
10.2 java.net包 206
10.2.1 InetAddress类和URL类 206
10.2.2 Socket类和ServerSocket类 211
10.2.3 DatagramPacket类和DatagramSocket类 215
10.3 IP组播编程 217
小结 219
习题 219
第11章 GUI编程 220
11.1 Applet编程 220
11.1.1 Applet简介 220
11.1.2 Applet装载 220
11.1.3 Applet安全性限制 221
11.1.4 Applet编程 222
11.1.5 Applet生命周期 225
11.1.6 Applet标记 225
11.1.7 Applet观察器appletviewer 227
11.2 图形用户界面基础 227
11.2.1 GUI设计概念 227
11.2.2 GUI类层次 228
11.3 容器和部件 229
11.3.1 Frame类 232
11.3.2 Panel类 233
11.4 布置管理器 233
11.4.1 FlowLayout(流布置管理器) 233
11.4.2 BorderLayout(周边布置管理器) 234
11.4.3 CardLayout(卡片布置管理器) 236
11.4.4 GridLayout(格栅布置管理器) 237
11.4.5 GridBagLaout和GridBagConstaints 238
11.5 AWT常用组件 241
11.5.1 Button (按钮) 241
11.5.2 Label (标签) 242
11.5.3 TextField(单行文本区) 244
11.5.4 TextArea(文本区) 245
11.5.5 Checkbox(检查框) 247
11.5.6 Choice(选择框) 249
11.5.7 List(列表框) 249
11.5.8 Scrollbar(滚动条) 251
11.5.9 Canvas(画布) 253
11.5.10 Dialog(对话框) 253
11.6 Swing组件 253
11.6.1 JApplet类 254
11.6.2 JFrame类 254
11.6.3 JLabel类 255
11.6.4 JTextField类 255
11.6.5 JPasswordField类 255
11.6.6 JButton类 255
11.6.7 JCheckBox类 256
11.6.8 JRadioButton类 256
11.6.9 JComboBox类 256
11.7 菜单设计 257
11.7.1 菜单系统 257
11.7.2 创建菜单栏和菜单项 260
11.7.3 菜单的事件处理 263
小结 269
习题 269
第12章 多媒体应用 270
12.1 概述 270
12.1.1 图形图像的基本概念 270
12.1.2 音频系统 270
12.1.3 动画基础 270
12.2 图形显示 271
12.2.1 基本绘图方法 271
12.2.2 绘图颜色 276
12.2.3 绘图模式 278
12.2.4 字体 281
12.2.5 绘制文字 284
12.2.6 坐标转换 284
12.3 图像处理 285
12.3.1 图像显示 285
12.3.2 用算法生成图像 293
12.3.3 图像处理的其他类 296
12.4 播放声音 296
12.5 动画基础 300
12.5.1 实时动画 301
12.5.2 块动画 304
习题 310
第13章 AWT事件处理 312
13.1 事件定义 312
13.1.1 事件 312
13.1.2 事件源和事件处理器 313
13.2 委托事件模型 313
13.3 事件类型 316
13.3.1 ActionEvent事件 316
13.3.2 ItemEvent事件 317
13.3.3 TextEvent事件 317
13.3.4 键盘事件 317
13.3.5 鼠标事件 318
13.3.6 AdjustmentEvent事件 318
13.3.7 焦点事件 318
13.3.8 事件接口 319
13.4 事件处理 325
13.4.1 GUI行动 326
13.4.2 事件适配器 341
习题 342
参考文献 343