第1章 认识Java环境、开发工具以及第一个Java程序 1
1.1 Java概述 2
1.1.1 Java程序语言 2
1.1.2 Java平台 3
1.1.3 Java技术的应用 4
1.1.4 学习Java语言的优点 5
1.2 Java开发工具(JDK)介绍及安装 6
1.2.1 下载Java开发工具(JDK)与说明文件 6
1.2.2 安装Java开发工具 9
1.3 认识JDK 14
1.3.1 以Windows系统的“记事本”编写程序代码 15
1.3.2 程序批注 17
1.4 编译和执行Java程序 17
1.5 一些常用的程序指令 20
1.5.1 在执行窗口内显示出文字 20
1.5.2 在屏幕上显示一个“信息”对话框 21
1.5.3 在屏幕上显示一个“输入”对话框 22
1.6 如何查阅JDK说明文件 23
1.7 设置PATH和CLASSPATH环境变量 25
1.8 好用的程序代码编写工具——UltraEdit 28
1.8.1 安装和进入UltraEdit 28
1.8.2 UltraEdit的环境设置 30
1.8.3 以UltraEdit开发Java程序 38
1.9 习题 42
第2章 Java的Application程序架构 43
2.1 package区 45
2.2 import区 47
2.3 主类区 48
2.4 一般类区 51
2.5 习题 52
第3章 Java程序语言基础 53
3.1 基本数据类型 54
3.1.1 定义变量 54
3.1.2 设置与取得变量值 56
3.1.3 让变量值正确被辨识的修饰符 59
3.1.4 定义final变量——常数 60
3.2 数据类型转换 61
3.2.1 自动转型 62
3.2.2 强制转型 63
3.2.3 利用内置类作转型——wrapper class 64
3.3 变量的有效范围 67
3.4 Java的运算符 69
3.4.1 赋值运算符 69
3.4.2 算数运算符 70
3.4.3 关系及布尔运算符 73
3.4.4 运算符执行的优先权 76
3.5 语句与流程控制 78
3.5.1 认识表达式与语句 78
3.5.2 单行与区块指令语句的概念 79
3.5.3 流程控制语句 81
3.6 嵌套程序的“{”与“}”的配对 100
3.7 断言(Assertion) 101
3.7.1 断言的语法与使用方式 102
3.7.2 断言的编译与执行 108
3.7.3 断言的使用与禁用时机 109
3.8 习题 115
第4章 Java的对象导向设计基础、字符串与数组 117
4.1 Java面向对象的设计基础 118
4.1.1 声明一个类 118
4.1.2 建立对象 118
4.1.3 使用对象 120
4.1.4 对象的消灭——Garbage Collection机制 124
4.1.5 对象的生命周期和有效范围 124
4.1.6 使用Java内置类 126
4.2 Java的字符串 127
4.2.1 建立String对象 128
4.2.2 String对象的相关应用 128
4.2.3 使用特定的字符——‘\n’等 132
4.3 Java的数组 133
4.3.1 数组的定义和使用 135
4.3.2 数组的length字段及clone()方法的使用方式 140
4.4 多维数组 142
4.5 习题 146
第5章 对象导向技术概念 147
5.1 什么是类(Class) 148
5.2 什么是对象(Object) 148
5.3 什么是封装(Capsulate) 149
5.4 什么是信息(Message) 150
5.5 什么是继承(Inheritance) 150
5.6 习题 150
第6章 声明类及定义构造其成员 151
6.1 类的封装与修饰符——public、final、abstract 152
6.2 如何定义类的成员 153
6.2.1 定义成员变量 154
6.2.2 定义成员函数 155
6.2.3 成员的修饰符——final、static、abstract 163
6.2.4 成员的封装等级——private、protected、public、无 165
6.3 定义类的构造函数 168
6.3.1 构造函数的定义语法 169
6.3.2 默认的构造函数 170
6.3.3 构造函数的重载 171
6.4 如何声明接口 173
6.5 嵌套类的声明及应用 175
6.5.1 一般嵌套类 175
6.5.2 匿名类 177
6.6 习题 180
第7章 Java的继承——class&extends及interface&implements 183
7.1 extends类 184
7.1.1 extends的基本语法与范例 184
7.1.2 如何设计子类的构造函数 187
7.1.3 覆盖(Override)从父类继承来的方法 190
7.1.4 使用final禁止方法被覆盖 193
7.1.5 使用this和super关键字 195
7.2 implements接口 197
7.2.1 implements的基本语法与范例 197
7.2.2 实现从父接口继承来的方法 198
7.3 对象的多态现象与类型转换 199
7.3.1 对象的多态 199
7.3.2 对象的类型转换 202
7.4 习题 204
第8章 Java的异常处理 205
8.1 异常发生的情形 206
8.2 Java异常的类 207
8.2.1 Java内置的异常类 207
8.2.2 自定义异常类 208
8.3 引发异常的方式 208
8.3.1 由程序系统自动引发 208
8.3.2 使用throw指令引发 209
8.4 处理异常状况 210
8.4.1 捕捉并处理异常——使用try...catch...finally 210
8.4.2 指明函数可能丢出的异常——使用throws语法 214
8.5 如何自定义异常类 217
8.6 习题 218
第9章 Single Threaded Java GUI界面设计——AWT&Swing 219
9.1 Java的组件类 220
9.2 Java窗口应用程序的程序代码架构 221
9.3 编写简单的窗口应用程序 223
9.3.1 使用AWT的Frame组件类 223
9.3.2 使用Swing的JFrame组件类 224
9.4 利用Layout Manager编排窗口版面 226
9.4.1 使用BorderLayout编排版面 227
9.4.2 使用GridLayout编排版面 229
9.5 习题 231
第10章 Java事件监听机制 233
10.1 基本概念介绍 234
10.2 建立GUI事件 235
10.2.1 实现Listener界面的做法——implements XXXListener 235
10.2.2 继承Adapter类的做法——extends XXXAdapter 240
10.3 运用匿名类 242
10.4 Java GUI窗口应用程序的范例 244
10.4.1 乐透号码产生器 244
10.4.2 电子计算器 247
10.5 习题 258
第11章 Java的I/O处理 259
11.1 Java的I/O处理方式 260
11.1.1 输入与输出的基本模式 260
11.1.2 Java提供的流类 261
11.1.3 各种I/O的数据存储类型 263
11.2 File类介绍与使用 264
11.3 以char为数据单位的流类 274
11.3.1 使用Reader系列的流——范例:从纯文本文件读数据 274
11.3.2 使用Writer系列的流——范例:复制纯文本文件 276
11.4 以byte为数据单位的流类 279
11.4.1 使用InputStream系列的流——范例:从文件读数据 279
11.4.2 使用OutputStream系列的流——范例:复制文件 280
11.5 有Buffer缓冲的I/O类 283
11.5.1 有Buffer缓冲的byte流 284
11.5.2 有Buffer缓冲的char流 285
11.5.3 使用Buffer作缓冲的范例——范例:快速复制文件 286
11.6 习题 289
第12章 Java多线程设计 291
12.1 线程概述 292
12.2 Java程序的主线程——main() 294
12.3 建立多线程(利用run函数)及了解线程的生命周期 295
12.3.1 继承Thread类的方式 296
12.3.2 实现Runnable接口的方式 299
12.4 多线程的应用 300
12.4.1 多线程的Application电子钟范例 300
12.4.2 多线程的Applet电子钟范例 303
12.5 习题 306
第13章 Java网络程序设计——IP、TCP、UDP 307
13.1 网络概述 308
13.1.1 局域网与因特网 308
13.1.2 简介各种因特网协议 308
13.2 代表IP地址的InetAddress对象 313
13.3 使用UDP协议的Java网络程序 315
13.3.1 DatagramSocket与DatagramPacket类介绍 316
13.3.2 UDP程序范例——网络聊天室 318
13.4 使用TCP协议的Java网络程序 321
13.4.1 Socket与ServerSocket类介绍 322
13.4.2 TCP程序范例——网络点对点文件传输与远程执行程序 324
13.5 URL介绍与使用 332
13.5.1 URL介绍 333
13.5.2 URL与URLConnection类介绍 334
13.5.3 URL程序范例——读取远程网页(HTML)资源 335
13.5.4 URLConnection程序范例——取得并读取远程网页(HTML)资源 337
13.6 习题 340
第14章 Java Sound——声音的播放与录制 341
14.1 Java Sound简介 342
14.1.1 Java Sound API 342
14.1.2 样本音效(Sampled Audio) 343
14.1.3 MIDI音乐 344
14.2 播放与录制Audio音效 345
14.2.1 如何播放Audio音效 345
14.2.2 如何录制Audio音效 353
14.3 播放与产生MIDI音乐 357
14.3.1 如何播放MIDI音乐 358
14.3.2 如何产生MIDI音乐 361
14.4 如何用Applet播放声音 363
14.5 习题 366
第15章 Java Collection 367
15.1 Collection简介 368
15.2 Collections的架构 368
15.2.1 Collection接口 369
15.2.2 运用Iterator存取collection对象的元素 370
15.2.3 Collection实现类 371
15.2.4 Collection算法:介绍Collections类 379
15.3 运用Collection的范例 380
15.4 Arrays类 384
15.5 习题 386
第16章 Java数据库程序设计 387
16.1 ODBC设置与SQL指令介绍 388
16.1.1 ODBC介绍与设置 388
16.1.2 常用的SQL指令 391
16.2 JDBC Driver介绍 394
16.3 实现JDBC-ODBC联机方式的应用程序 395
16.3.1 JDBC-ODBC联机方式的程序架构 395
16.3.2 设计第一个数据库程序——撷取数据库的记录(records) 397
16.3.3 新增一条记录 403
16.3.4 完整范例:图书数据库管理——具有新增、修改、删除、查询功能 415
16.4 习题 433
第17章 Applet程序 435
17.1 Applet程序设计基础 436
17.1.1 Applet程序代码架构 436
17.1.2 编写一个Applet程序 438
17.1.3 在HTML网页嵌入Applet程序 441
17.1.4 以Appletviewer执行Applet程序 443
17.2 Applet的生命周期(Life Cycle) 444
17.3 利用HTML的〈Applet〉标记传递参数 447
17.4 Applet程序的互动 451
17.5 习题 463
第18章 Jar文件的建立 465
18.1 Java的文件包工具——jar.exe 466
18.2 建立包含类文件的Jar文件 467
18.3 建立一个可执行的Jar文件 467
18.3.1 利用Manifest文件指定程序的进入点 467
18.3.2 将可执行的Java程序打包成Jar文件 468
18.3.3 执行一个打包成Jar文件的Java程序 468
18.4 在网页嵌入打包在Jar文件内的Applet程序 469
第19章 J2SE 1.5版本的新特性与加强功能 471
19.1 如何编译/执行J2SE 1.5版本程序 472
19.2 Java的通用型(Generic Types) 473
19.2.1 通用型类及接口的声明与使用 475
19.2.2 通用型方法的定义与使用 476
19.3 自动置入/自动取出(Autoboxing/Unboxing) 477
19.4 增强功能的“for循环”格式 478
19.5 Java的枚举类型 480
19.5.1 Java枚举类型的声明与定义用法 481
19.5.2 所有enum枚举类型的父类Enum class 484
19.6 Static Import 486
19.7 不定数量的参数(Varargs) 488
19.8 Java格式化输出(Formatted Output)与输入(Formatted Input) 491
19.8.1 Java格式化输出 492
19.8.2 Java格式化输入 494