第1章 Java概述 1
1.1 Java的诞生与发展 1
1.2 Java的特点 2
1.3 Java开发运行环境的安装与配置 4
1.3.1 安装JDK 5
1.3.2 安装Java帮助文档 6
1.3.3 配置环境变量 7
1.4 Java的工作原理与运行系统 10
1.4.1 Java的工作原理 10
1.4.2 Java的运行系统 11
1.5 简单的Java程序 12
1.5.1 Java应用程序(Application) 12
1.5.2 Java小应用程序(Applet) 18
习题 21
第2章 Java语言基础 22
2.1 标识符和关键字 22
2.1.1 标识符 22
2.1.2 关键字 23
2.2 基本数据类型 23
2.3 常量、变量 25
2.3.1 常量 25
2.3.2 变量 28
2.4 运算符与表达式 31
2.4.1 赋值运算符和赋值表达式 32
2.4.2 算术运算符和算术表达式 35
2.4.3 关系运算符和关系表达式 36
2.4.4 逻辑运算符和逻辑表达式 37
2.4.5 条件运算符和条件表达式 37
2.4.6 位运算符和位表达式 37
2.5 流程控制语句 38
2.5.1 顺序结构 39
2.5.2 选择结构 40
2.5.3 循环结构 49
2.6 Java开发类库组成 63
习题 65
第3章 类和对象 66
3.1 概述 66
3.1.1 对象 66
3.1.2 类 67
3.1.3 消息 67
3.1.4 面向对象系统的特性 68
3.2 类 69
3.2.1 类的定义 69
3.2.2 方法重载(method overloading) 73
3.2.3 构造方法 73
3.3 对象的定义和使用 74
3.3.1 创建对象 74
3.3.2 对象的使用 75
3.3.3 对象的清除 76
3.3.4 方法的参数传递 76
3.4 实例变量、实例方法和类变量、类方法 78
3.4.1 变量与方法 78
3.4.2 变量的作用域 80
3.4.3 变量的初始值 82
3.5 this关键字 82
3.6 包 83
3.6.1 包的定义 83
3.6.2 设置类路径 85
3.6.3 包的使用 85
3.7 内部类和匿名类 87
3.7.1 内部类 87
3.7.2 匿名类 90
3.8 访问控制和类的封装性 91
3.8.1 访问控制 91
3.8.2 类的封装性 92
习题 92
第4章 数组、字符串和向量 93
4.1 数组 93
4.1.1 一维数组 93
4.1.2 二维数组 105
4.2 字符串 110
4.2.1 String类 111
4.2.2 StringBuffer类 118
4.2.3 StringTokenizer类 121
4.3 向量 123
习题 127
第5章 继承性和多态性 128
5.1 继承性 128
5.1.1 派生类的定义 128
5.1.2 super关键字 130
5.1.3 protected和final关键字 134
5.2 多态性 137
5.3 抽象类和接口 140
5.3.1 抽象类 140
5.3.2 接口 143
5.4 初始化块 152
习题 155
第6章 异常处理 156
6.1 异常处理概述 156
6.1.1 什么是Java异常 156
6.1.2 异常处理的目的 156
6.2 异常类的分类与层次 158
6.2.1 异常类的层次结构 158
6.2.2 Exception类 159
6.2.3 自定义异常类 160
6.3 Java的异常处理机制 160
6.3.1 捕获异常 161
6.3.2 声明抛出异常 163
习题 166
第7章 图形用户界面 168
7.1 Java GUI概述 168
7.1.1 AWT与Swing 168
7.1.2 Swing组件 170
7.1.3 Swing容器 171
7.1.4 基于Swing的Java GUI设计思路 177
7.2 图形与绘图 177
7.2.1 绘图表面 177
7.2.2 图形环境和图形对象 178
7.2.3 颜色 180
7.2.4 字体 181
7.2.5 在面板上绘图 182
7.3 事件处理与Swing常用组件 185
7.3.1 Java事件处理机制 186
7.3.2 精简事件处理程序的技巧 188
7.3.3 JLabel组件与鼠标事件处理 191
7.3.4 按钮、文本字段与动作事件 195
7.3.5 单选按钮、复选框、组合框与项目事件 200
7.3.6 列表与ListSelectionEvent事件 206
7.3.7 进度条与时间组件 208
7.3.8 菜单与工具栏 209
7.3.9 表格组件与树 214
7.3.10 桌面面板与内部窗口 217
7.4 布局管理器 220
7.4.1 FlowLayout流布局管理器 221
7.4.2 BorderLayout边界布局管理器 223
7.4.3 GridLayout网格布局管理器 225
7.4.4 CardLayout卡片布局管理器 227
7.4.5 BoxLayout盒式布局管理器与Box类 229
习题 232
第8章 文件、流和输入输出技术 233
8.1 I/O流概述 233
8.2 I/O流类 234
8.2.1 字符流 235
8.2.2 字节流 236
8.2.3 标准输入输出 237
8.3 过滤流与流的串接 239
8.4 文件流类与文件操作 241
8.4.1 File类 241
8.4.2 FileInputStream、FileOutputStream类与读写二进制文件 244
8.4.3 RandomAccessFile类 249
8.4.4 FileReader、FileWriter类与读写文本文件 250
8.5 对象序列化 253
8.5.1 对象流 253
8.5.2 序列化举例 254
习题 256
第9章 多媒体与多线程 257
9.1 使用Graphics2D类绘图 257
9.1.1 Java 2D图形 257
9.1.2 绘制Java 2D图形 258
9.2 图像操作 259
9.2.1 图像创建、加载和显示 260
9.2.2 图像映射 262
9.3 加载和播放音频剪辑 264
9.4 多线程 266
9.4.1 多线程概述 266
9.4.2 创建线程的方式 266
9.4.3 线程的生命周期及控制 270
9.4.4 多线程的互斥与同步 273
9.4.5 守护线程 281
9.5 动画 281
9.5.1 使用Timer类显示动画 281
9.5.2 使一系列图像成为动画 285
习题 289
第10章 利用JDBC访问数据库 290
10.1 数据库与JDBC概述 290
10.1.1 数据库概述 290
10.1.2 SQL 291
10.1.3 什么是JDBC 293
10.1.4 JDBC与ODBC 294
10.1.5 ODBC数据源设置 294
10.2 通过JDBC访问数据库 296
10.2.1 JDBC数据库驱动程序 296
10.2.2 JDBC API 298
10.2.3 编写JDBC程序的一般步骤 302
10.3 ATM应用程序 303
习题 309
第11章 Java网络程序设计 310
11.1 Java与网络通信 310
11.2 URL通信 312
11.2.1 InetAddress类 313
11.2.2 URL类 314
11.2.3 URLConnection类 316
11.3 TCP Socket通信 317
11.4 Datagram通信 324
习题 329
第12章 Java项目实训 330
12.1 设计要求 330
12.2 功能模块设计 330
12.2.1 功能模块划分 330
12.2.2 概要设计 331
12.3 详细设计与实现 332
12.3.1 系统登录 332
12.3.2 主窗体的设计与实现 335
12.3.3 内部窗体的设计与实现 336
12.3.4 “增加、删除、修改”功能的设计与实现 342
12.4 项目测试与总结 348
12.4.1 项目测试 348
12.4.2 项目总结 349
附录A Java支持的编码集 351
附录B 应用程序的打包与发布 352
附录C 实验 355
附录D Java课程设计 361
附录E 模拟考试题 365
附录F 模拟考试题参考答案 369
附录G 参考课时安排 372
参考文献 373