第1章 Java概述 1
1.1 程序设计语言与Java 1
1.1.1 程序设计语言概述 1
1.1.2 Java语言的产生与发展 1
1.2 面向对象概述 2
1.2.1 面向对象与面向过程的区别 2
1.2.2 面向对象程序设计的特性 2
1.3 Java的开发和运行环境 4
1.4 简单Java程序及调试步骤 5
1.4.1 Java Application 5
1.4.2 Java Applet 8
1.5 Java语言的特点 10
1.5.1 简单的面向对象语言 10
1.5.2 跨平台与解释执行 10
1.5.3 健壮和安全的语言 11
1.5.4 支持多线程 11
1.5.5 面向网络的语言 12
1.5.6 动态性 12
1.6 本章小结 12
习题 12
第2章 Java语言基础 14
2.1 Java符号 14
2.1.1 标识符 14
2.1.2 关键字 14
2.1.3 分隔符 15
2.1.4 注释 15
2.2 数据类型 16
2.2.1 数据类型 16
2.2.2 常量 17
2.2.3 变量 18
2.3 表达式与运算符 22
2.3.1 算术运算符 23
2.3.2 关系运算符 24
2.3.3 逻辑运算符 25
2.3.4 位运算符 25
2.3.5 赋值组合运算符 27
2.3.6 其他运算符 27
2.3.7 运算符优先级 28
2.4 字符界面常见类型数据的输入 29
2.5 流程控制语句 31
2.5.1 条件选择语句 31
2.5.2 循环语句 36
2.5.3 跳转语句 43
2.6 方法 45
2.6.1 方法声明 45
2.6.2 方法调用 46
2.6.3 参数传递 47
2.6.4 递归 50
2.7 数组 51
2.7.1 一维数组 51
2.7.2 多维数组 53
2.7.3 数组作为方法参数 56
2.7.4 Java的命令行参数 59
2.8 本章小结 60
习题 60
第3章 类与对象 65
3.1 Java的类 65
3.1.1 系统定义的类 65
3.1.2 用户自定义的类 65
3.2 对象的创建与引用 67
3.2.1 创建对象及访问对象成员 67
3.2.2 对象的初始化和构造方法 69
3.3 变量作用域 71
3.4 类变量和静态方法 73
3.4.1 类变量 73
3.4.2 静态方法 75
3.5 使用包组织类 76
3.5.1 建立包 76
3.5.2 包的引用 77
3.6 本章小结 78
习题 79
第4章 继承、多态与接口 81
4.1 继承 81
4.1.1 Java继承的实现 81
4.1.2 构造方法在类继承中的作用 82
4.1.3 变量的继承、隐藏 84
4.2 访问控制符 84
4.2.1 公共访问控制符public 84
4.2.2 缺省访问控制符 85
4.2.3 私有访问控制符private 85
4.2.4 保护访问控制符protected 86
4.3 多态性 87
4.3.1 方法的重载 87
4.3.2 方法的覆盖 90
4.4 this和super 90
4.4.1 this的应用 90
4.4.2 通过super访问父类成员 91
4.5 final修饰符的使用 93
4.5.1 final作为类修饰符 93
4.5.2 用final修饰方法 93
4.5.3 用final定义常量 93
4.6 抽象类和抽象方法 94
4.6.1 抽象类的定义 94
4.6.2 抽象类的实现 95
4.7 接口 96
4.7.1 接口定义 96
4.7.2 接口的实现 97
4.8 内嵌类 99
4.8.1 成员类 99
4.8.2 静态inner类 101
4.8.3 方法中的内嵌类与匿名内嵌类 102
4.9 对象引用转换 104
4.9.1 对象引用赋值转换 104
4.9.2 对象引用强制转换 106
4.10 本章小结 106
习题 107
第5章 常用系统类 109
5.1 语言基础类 109
5.1.1 Object类 109
5.1.2 Math类 109
5.1.3 数据类型包装类 110
5.2 字符串 112
5.2.1 String类 112
5.2.2 StringBuffer类 117
5.3 Vector类 118
5.4 Collection API简介 123
5.4.1 Collection接口及实现层次 123
5.4.2 Map接口及实现层次 126
5.5 日期和时间 128
5.5.1 Date类 128
5.5.2 Calendar类 128
5.6 本章小结 129
习题 129
第6章 Java Applet 131
6.1 什么是Applet 131
6.2 Applet方法介绍 132
6.3 Applet的AWT绘制 134
6.3.1 Java图形坐标 134
6.3.2 各类图形的绘制方法 134
6.3.3 显示文字 136
6.3.4 颜色控制 137
6.3.5 Java 2D图形绘制 138
6.4 Applet参数传递 143
6.4.1 在HTML文件中给Applet提供参数 143
6.4.2 在Applet代码中读取Applet参数值 144
6.5 Applet的多媒体支持 146
6.5.1 绘制图像 146
6.5.2 实现动画 148
6.5.3 播放声音文件 149
6.6 Java存档文件 150
6.6.1 创建存档文件 150
6.6.2 在HTML文件中指定Applet的存档文件 151
6.7 本章小结 152
习题 152
第7章 图形用户界面编程 153
7.1 图形用户界面核心概念 153
7.1.1 一个简单的GUI示例 153
7.1.2 创建窗体 154
7.1.3 创建GUI部件 155
7.1.4 事件处理 155
7.1.5 在事件处理代码中区分事件源 159
7.1.6 关于事件适配器类 160
7.2 容器与布局管理 162
7.2.1 FlowLayout 162
7.2.2 BorderLayout 164
7.2.3 GridLayout 164
7.2.4 CardLayout 165
7.2.5 GridBagLayout 170
7.3 常用GUI标准组件 172
7.3.1 GUI标准组件概述 172
7.3.2 文本框与文本域 173
7.3.3 选项按钮与列表的使用 176
7.3.4 滚动条的使用 183
7.4 鼠标和键盘事件 186
7.4.1 鼠标事件 186
7.4.2 键盘事件 189
7.5 菜单的使用 192
7.5.1 下拉菜单 192
7.5.2 弹出式菜单 195
7.6 对话框的使用 197
7.6.1 对话框的创建与使用 197
7.6.2 文件对话框 199
7.7 本章小结 201
习题 201
第8章 异常处理 203
8.1 异常的概念 203
8.1.1 什么是异常 203
8.1.2 异常的类层次 205
8.1.3 系统定义的异常 205
8.2 异常的处理 206
8.2.1 try...catch...finally结构 206
8.2.2 多异常的处理举例 207
8.3 自定义异常 208
8.3.1 自定义异常类设计 209
8.3.2 抛出异常 209
8.3.3 方法的异常声明 209
8.4 本章小结 211
习题 211
第9章 流式输入/输出与文件处理 211
9.1 输入/输出基本概念 213
9.1.1 输入/输出设备与文件 213
9.1.2 流的概念 213
9.2 面向字节的输入/输出流 214
9.2.1 面向字节的输入流 214
9.2.2 面向字节的输出流 217
9.3 面向字符的输入/输出流 220
9.3.1 面向字符的输入流 220
9.3.2 面向字符的输出流 222
9.4 转换流 223
9.4.1 转换输入流 223
9.4.2 转换输出流 224
9.5 文件处理 224
9.5.1 文件与目录管理 224
9.5.2 文件的顺序访问 226
9.5.3 文件的随机访问 227
9.6 对象串行化 228
9.7 本章小结 231
习题 232
第10章 多线程 233
10.1 Java线程的概念 233
10.1.1 多进程与多线程 233
10.1.2 线程的状态 233
10.1.3 线程调度与优先级 234
10.2 Java多线程编程方法 234
10.2.1 Thread类简介 234
10.2.2 继承Thread类实现多线程 235
10.2.3 实现Runnable接口编写多线程 237
10.3 线程的控制 238
10.3.1 放弃运行 238
10.3.2 无限等待 238
10.3.3 睡眠一段时间 239
10.3.4 阻塞 239
10.3.5 关于用户线程和看守线程 239
10.4 线程资源的同步处理 240
10.4.1 临界资源问题 240
10.4.2 wait()和notify()方法 241
10.4.3 生产者与消费者模型 242
10.4.4 死锁 244
10.5 本章小结 244
习题 245
第11章 JDBC技术和数据库应用 246
11.1 关系数据库概述 246
11.2 JDBC 246
11.2.1 JDBC驱动程序 246
11.2.2 ODBC数据源配置 247
11.2.3 JDBC API 249
11.3 JDBC基本应用 252
11.3.1 数据库的查询 252
11.3.2 数据库的更新 255
11.3.3 用PreparedStatement类实现SQL操作 257
11.4 数据库应用举例 258
11.5 本章小结 267
习题 268
第12章 Java的网络编程 269
12.1 网络编程基础 269
12.1.1 网络协议 269
12.1.2 InetAddress类 269
12.2 Socket通信 270
12.2.1 Java的Socket编程原理 270
12.2.2 简单多用户聊天程序的实现 272
12.3 无连接的数据报 276
12.3.1 DatagramPacket类 276
12.3.2 DatagramSocket类 277
12.3.3 发送和接收过程 277
12.3.4 数据报多播 279
12.4 URL 282
12.4.1 URL类 282
12.4.2 URLConnection类 284
12.4.3 用Applet方法访问URL资源 285
12.5 本章小结 287
习题 287
第13章 Swing编程 288
13.1 Swing包简介 288
13.1.1 Swing组件的特性 288
13.1.2 Swing的功能分类 288
13.2 Swing包典型部件的使用 289
13.2.1 JFrame类 289
13.2.2 JApplet 290
13.2.3 Swing中的按钮和标签 292
13.2.4 滚动窗格 293
13.2.5 工具栏 294
13.2.6 Swing中的对话框 296
13.2.7 选项卡 300
13.2.8 表格 302
13.2.9 树 305
13.3 本章小结 307
习题 307