第1章 绪论 1
1.1 历史简介 1
1.2 特点 2
1.3 开发环境的建立 3
1.4 Java程序及其执行过程 10
1.4.1 开发Java程序的工作流程 10
1.4.2 Java程序的工作原理 18
1.5 本章小结 19
习题 19
第2章 结构化程序设计 20
2.1 标识符和关键字 20
2.2 基本数据类型、直接量和变量 24
2.2.1 基本数据类型 24
2.2.2 直接量 25
2.2.3 变量 27
2.3 运算符 30
2.3.1 算术运算符 31
2.3.2 关系运算符 32
2.3.3 布尔逻辑运算符 33
2.3.4 位运算符 34
2.3.5 赋值类运算符 38
2.3.6 条件运算符 39
2.3.7 其他运算符 39
2.4 控制结构 39
2.4.1 if语句和if-else语句 40
2.4.2 switch语句 42
2.4.3 for语句 44
2.4.4 while语句 46
2.4.5 do-while语句 47
2.4.6 break语句 48
2.4.7 continue语句 49
2.5 结构化程序设计 53
2.6 本章小结 55
习题 55
第3章 面向对象程序设计 58
3.1 类、域、方法和实例对象 58
3.2 继承性 66
3.3 多态性 70
3.3.1 静态多态性 71
3.3.2 动态多态性 73
3.4 包(package) 76
3.5 封装性 81
3.6 修饰词abstract、static和final 84
3.6.1 修饰词abstract 84
3.6.2 修饰词static 85
3.6.3 修饰词final 89
3.7 接口 90
3.8 内部类 92
3.9 变量作用域范围与参数传递方式 101
3.9.1 变量作用域范围 101
3.9.2 方法调用的值传递方式 105
3.10 面向对象程序设计基本思想 109
3.11 本章小结 112
习题 113
第4章 数组、字符串、向量与哈希表 115
4.1 数组 115
4.1.1 一维数组 116
4.1.2 多维数组 118
4.2 字符串和字符串缓冲区 125
4.2.1 String 125
4.2.2 StringBuffer 137
4.3 向量 143
4.4 哈希表 148
4.4.1 哈希表的基本原理 148
4.4.2 Hashtable、HashMap和WeakHashMap 149
4.5 本章小结 154
习题 154
第5章 泛型、枚举与for语句的简化写法 158
5.1 泛型 158
5.2 枚举 164
5.3 for语句的简化写法 168
5.4 本章小结 172
习题 173
第6章 异常处理、递归和单体程序设计方法 174
6.1 异常处理 174
6.1.1 异常及其种类 174
6.1.2 异常产生 176
6.1.3 异常处理 177
6.1.4 自定义异常类型 182
6.2 递归方法 184
6.3 单体(Singleton)程序设计模式 187
6.3.1 单体程序设计模式的实现方法 187
6.3.2 单体类Runtime 190
6.4 本章小结 193
习题 193
第7章 文件与数据流 196
7.1 输入流与输出流 196
7.1.1 InputStream和FileInputStream 196
7.1.2 OutputStream和FileOutputStream 200
7.1.3 PrintStream 203
7.1.4 数据的输入流和输出流 207
7.1.5 带缓存的输入流和输出流 210
7.1.6 标准输入输出流的重定向 213
7.2 随机访问文件 215
7.3 读写器 219
7.3.1 Reader和Writer 219
7.3.2 FileReader和FileWriter 220
7.3.3 带缓存的读写器 222
7.3.4 PrintWriter 225
7.3.5 从控制台窗口读入数据 227
7.4 对象序列化 231
7.5 文件 237
7.6 本章小结 241
习题 242
第8章 Swing图形用户界面程序设计 243
8.1 组件和容器 243
8.1.1 整体介绍 243
8.1.2 JFrame和JLabel 244
8.1.3 JDialog和JOptionPane 248
8.1.4 JTextField和JPasswordField 253
8.1.5 JButton、JCheckBox和JRadioButton 255
8.1.6 JComboBox、JList、JTextArea和JScrollPane 259
8.1.7 JSlider和JPanel 262
8.2 布局管理器 265
8.2.1 FlowLayout和GridLayout 265
8.2.2 BorderLayout 267
8.2.3 BoxLayout 269
8.2.4 GridBagLayout 271
8.2.5 CardLayout 274
8.2.6 组合布局方式 276
8.2.7 自定义的布局管理器 278
8.3 事件处理模型 283
8.3.1 事件处理模型 284
8.3.2 鼠标事件处理和自定义绘制 291
8.3.3 键盘事件处理 300
8.4 高级图形用户界面 304
8.4.1 菜单 304
8.4.2 表格 313
8.4.3 多文档界面 322
8.5 本章小结 326
习题 327
第9章 小应用程序(Applet) 329
9.1 源程序 329
9.1.1 生命周期 329
9.1.2 图形用户界面 333
9.1.3 获取系统信息 338
9.2 网页标记 342
9.2.1 采用object网页标记 343
9.2.2 采用embed网页标记 344
9.2.3 采用APPLET网页标记 346
9.2.4 归档文件 347
9.2.5 小应用程序参数 352
9.3 应用程序与小应用程序 354
9.4 本章小结 359
习题 359
第10章 编程规范和程序调试 361
10.1 程序编写规范 361
10.1.1 命名规范 361
10.1.2 排版规范 364
10.1.3 语句 366
10.1.4 文件组织 368
10.2 文档注释 370
10.3 程序调试 380
10.4 本章小结 384
习题 384
第11章 多线程程序设计 385
11.1 编写线程程序 385
11.1.1 通过类Thread的子类构造线程 385
11.1.2 通过接口Runnable构造线程 388
11.1.3 后台(daemon)线程 391
11.1.4 线程组 394
11.2 线程的生命周期 396
11.3 多线程的同步处理 399
11.3.1 多线程共享内存引发的问题 399
11.3.2 多线程同步的基本原理 404
11.3.3 在多线程同步中的静态方法和非静态方法 406
11.3.4 在多线程同步中同一个实例对象的多个同步方法 410
11.3.5 同步语句块 412
11.3.6 方法wait/notify/notifyAll 421
11.4 多线程的同步问题 425
11.4.1 死锁问题 426
11.4.2 多线程同步的粒度问题 428
11.5 本章小结 430
习题 431
第12章 网络程序设计 433
12.1 统一资源定位地址(URL) 433
12.1.1 网络地址 433
12.1.2 统一资源定位地址 436
12.1.3 通过统一资源定位地址获取网络资源 438
12.2 基于TCP的网络程序设计 440
12.3 基于UDP的网络程序设计 453
12.4 基于SSL的网络程序设计 459
12.4.1 密钥和证书管理工具keytool 459
12.4.2 基于SSL的服务器端和客户端程序 474
12.4.3 自定义安全提供程序和密钥管理器 482
12.5 本章小结 495
习题 495
第13章 多媒体与图形学程序设计 497
13.1 声音加载与播放 497
13.2 图像输入输出、像素处理和图像显示 501
13.3 图形显示及字体和纹理设置 513
13.4 计算机动画 525
13.4.1 通过计时器控制动画速率 525
13.4.2 动画制作 529
13.4.3 提高动画质量 532
13.5 本章小结 536
习题 536
第14章 数据库程序设计 538
14.1 基本原理 538
14.1.1 数据库基本知识 539
14.1.2 JDBC驱动程序类型 539
14.2 Microsoft Access数据库环境建立 541
14.2.1 Microsoft Access数据库的直接操作 541
14.2.2 Microsoft Access数据库的ODBC数据源 546
14.3 数据库程序设计 549
14.3.1 数据库表操作 549
14.3.2 列操作 555
14.3.3 记录操作 564
14.4 基于SQL Server 2000的JDBC-ODBC桥数据库程序设计 573
14.4.1 SQL Server2000数据库管理系统的安装 573
14.4.2 SQL Server 2000数据库的直接操作 580
14.4.3 SQL Server 2000的ODBC数据源 583
14.4.4 基于SQL Server 2000的JDBC-ODBC桥数据库程序设计 587
14.5 基于第四类JDBC驱动程序的数据库程序设计 590
14.5.1 基于SQL Server 2000的第四类JDBC驱动程序的安装 590
14.5.2 基于SQL Server 2000的JDBC数据库程序设计 593
14.6 数据库程序设计性能优化 595
14.6.1 预编译语句 596
14.6.2 SQL语句批处理机制 598
14.6.3 基于JNDI的数据源管理机制 600
14.7 本章小结 606
习题 606
附录一 图的索引 608
附录二 表的索引 613
附录三 例程索引 614
附录四 类和接口索引 618
参考文献 627