第1章 Java概述 1
1.1 Java的发展史 2
1.1.1 Java的来历 2
1.1.2 从C语言开始 2
1.1.3 Java语言的转折点 3
1.2 Java的结构 3
1.2.1 Java的工作机制 3
1.2.2 Applet和Application 6
1.3 Java语言的特点 10
1.4 Java 2的新特性 13
1.5 Java在Internet中的应用 15
1.6 Java的现状与发展趋势 16
1.6.1 Java带来的影响 16
1.6.2 Java应用——渗入各个领域的技术 17
1.6.3 Java的发展趋势 18
第2章 Java开发环境 20
2.2 下载和安装支持Java的浏览器 21
2.1 下载和安装JDK 21
2.3 JDK环境工具及使用 22
2.3.1 JDK 22
2.3.2 appletviewer——Applet浏览器 22
2.3.3 Java——Application解释器 23
2.3.4 javac——Java源程序编译器 24
2.3.5 javah——头文件生成器 24
2.3.6 javap——反汇编器 25
2.3.7 jdb——Java调试器 25
2.3.8 javadoc——API文件产生器 26
2.4 Java开发工具介绍 27
2.4.1 编辑器编写代码 27
2.4.2 IDE开发环境 28
第3章 Java语言基础 30
3.1 数据类型、常量和变量 31
3.1.1 数据类型 31
3.1.2 Java符号集 32
3.1.3 常量和变量 33
3.1.4 变量的作用范围 34
3.1.5 注释 35
3.2.1 数组 36
3.2 数组与字符串 36
3.2.2 字符串 37
3.3 表达式 38
3.3.1 表达式的概念 38
3.3.2 运算符的优先级 38
3.3.3 赋值运算 39
3.3.4 算术运算 39
3.3.6 逻辑运算符 41
3.3.5 关系运算 41
3.3.7 位运算 43
3.3.8 其他运算 44
3.3.9 类型转换 45
3.4 流程控制语句 47
3.4.1 分支结构 47
3.4.2 循环结构 50
3.5 一个Java实例 52
第4章 面向对象程序设计方法 54
4.1 面向对象方法的提出 55
4.2 面向对象程序设计的基本概念 56
4.2.1 类和对象 57
4.2.2 对象的属性及关系 58
4.3 面向对象程序设计的特点 59
4.3.1 抽象 59
4.3.2 封装 59
4.4 面向对象程序设计的优点 60
4.3.4 多态 60
4.3.3 继承 60
4.5 面向对象编程的步骤 61
4.5.1 面向对象编程 61
4.5.2 OOA和OOD 62
4.5.3 面向对象编程的步骤 63
第5章 Java的类、接口和包 65
5.1 类和对象 66
5.1.1 类 66
5.1.2 类的实例 69
5.2.1 extends修饰符 71
5.2 类的继承 71
5.2.2 方法的继承和覆盖 72
5.2.3 抽象方法和类 73
5.2.4 this、super和final 73
5.3 接口 75
5.3.1 接口的概念 75
5.3.2 接口的定义 75
5.3.3 接口的实现 76
5.4.1 包的声明 77
5.4 包 77
5.4.2 包的使用 78
第6章 Java基础类库 81
6.1 Java类库的结构 82
6.1.1 基础类库 82
6.1.2 应用类库 82
6.2 语言类库 83
6.2.1 Object类 85
6.2.2 数据类型的对象包装类 87
6.2.3 数学函数类 92
6.2.4 字符串类 94
6.2.5 System类 99
6.3 Java数组 101
6.3.1 声明数组 101
6.3.2 实例化数组 101
第7章 I/O类库及文件处理 104
7.1 I/O类库概述 105
7.2.1 File类 107
7.2 文件的管理和随机访问 107
7.2.2 RandomAccessFile类 109
7.3 Java的输入输出类 112
7.3.1 InputStream类型 112
7.3.2 OutputStream类型 113
7.3.3 从文件I/O流中读数据 113
7.3.4 数据输入/输出流 116
7.4 其他输入输出操作 118
7.4.1 文件复制 118
7.4.2 管道 119
7.5 文件I/O实例 120
第8章 Utility类库 123
8.1 Utility类库的构成 124
8.1.1 接口层次 124
8.1.2 类层次 124
8.2 日期时间类 126
8.3 向量类 127
8.3.1 向量和数组的异同 127
8.3.3 建立向量实例 128
8.3.2 向量类的构造函数、成员变量和方法 128
8.3.4 向量维护 129
8.3.5 对象查找 129
8.4 哈希表类 130
8.4.1 哈希表类的构造函数、成员变量和方法 130
8.4.2 创建、维护哈希表 131
8.4.3 查找关键字 131
8.5 堆栈类 132
8.5.1 堆栈类的构造函数、成员变量和方法 132
8.5.2 使用堆栈类 132
第9章 Java异常处理 134
9.1 异常的产生 135
9.1.1 异常产生的原理 135
9.1.2 Java异常处理基础 135
9.2 异常类 135
9.3 异常处理的基本结构 137
9.3.1 基本模型 137
9.3.2 try与catch 137
9.3.4 try语句的嵌套 138
9.3.3 多个catch子句 138
9.3.5 throw语句 139
9.3.6 throws语句 140
9.3.7 finally语句 141
9.4 创建自己的异常类 142
第10章 Applet编程 144
10.1 Applet程序的基本结构 145
10.2 Applet类的方法和生命周期 145
10.2.1 Applet类的构造方法 145
10.2.2 Applet的主要方法及生命周期 146
10.3 在HTML文件中嵌入Applet程序 149
10.4 Applet实例——读取文件 150
10.5 Applet编程技巧 153
10.5.1 图像文件的显示 153
10.5.2 声音文件的播放 155
10.5.3 鼠标事件的处理 157
10.5.4 键盘的输入 163
10.6 Applet之间的通信 164
10.7 Applet的安全机制和局限性 167
10.7.1 Java的安全机制 168
10.7.2 安全使用的原则 169
10.7.3 Applet的局限性 170
第11章 使用AWT进行GUI编程 171
11.1 抽象窗口工具箱(AWT)概述 172
11.2 AWT类库及其使用 173
11.2.1 AWT组件 173
11.2.2 AWT容器 186
11.3.1 图形的绘制 192
11.3 AWT基础 192
11.3.2 文本与字体 197
11.3.3 动画技术 200
11.4 事件及其处理 204
11.4.1 Java事件处理机制 204
11.4.2 Java事件 204
11.4.3 事件处理器(Event Handler) 205
11.4.4 事件监听器 205
11.5.1 顺序布局(FlowLayout) 207
11.5 GUI布局管理器 207
11.5.2 边框布局(BorderLayout) 208
11.5.3 网格布局(GridLayout) 209
11.5.4 网袋布局(GridBagLayout) 210
第12章 使用Swing进行GUI编程 213
12.1 Swing类库简介 214
12.1.1 Swing概述 214
12.1.2 Swing包介绍 214
12.3 使用Swing创建GUI 215
12.3.1 Swing组件的分类 215
12.2 从AWT到Swing的转换 215
12.3.2 中间容器 216
12.3.3 各种组件 221
12.3.4 文本组件 228
12.3.5 菜单 230
12.3.6 Swing组件实例 233
12.3.7 Swing的布局 237
12.4.1 Swing的事件处理 239
12.4 高级Swing功能 239
12.4.2 高级Swing组件 243
12.4.3 高级布局 244
12.4.4 Swing实现数据表格功能 247
12.5 Java Plug-in(Java插件) 250
12.5.1 基本原理及存在的问题 251
12.5.2 解决方案 251
第13章 Java多线程程序设计 254
13.1.1 线程的概念 255
13.1.2 Java线程的模型 255
13.1 多线程 255
13.1.3 线程与进程 256
13.1.4 线程的生命周期 256
13.1.5 线程的调度与优先级 257
13.1.6 线程的同步与死锁 257
13.1.7 线程组 258
13.2 线程的创建 258
13.2.1 创建Thread类的子类 259
13.2.2 实现Runnable接口 263
13.2.3 线程使用总结 264
13.3 线程同步 266
13.3.1 synchonized 266
13.3.2 wait()、notify() 267
13.4 线程间通信 267
13.5 利用线程创建动画 272
第14章 Java与网络程序设计 275
14.1 Internet基本概念 276
14.1.1 网络基本概念及发展史 276
14.1.2 网络的分类 277
14.1.3 TCP/IP介绍 277
14.1.4 因特网的应用 278
14.2 Java网络编程概述 279
14.3 客户机/服务器应用结构 280
14.3.1 客户机/服务器模式 280
14.3.2 三级系统结构 282
14.4 面向连接程序 283
14.4.1 流式套接字的通信机制 283
14.4.2 Socket类与ServerSocket类 284
14.4.3 流式Socket通信的客户端和服务器端编程 284
14.5 数据报应用程序 287
14.5.1 DatagramSocket类和DatagramPacket类 288
14.5.2 数据包发送和接收的实例 288
14.6 URL类的应用 294
14.6.1 URL类的定义 294
14.6.2 URL类的应用 295
14.7 口令验证程序 297
14.7.1 Authenticator类的定义 297
14.7.2 实现口令验证程序 298
14.8 URLConnection类的应用 300
14.9.1 InetAddress类 301
14.9 其他网络类介绍 301
14.9.2 AppletContext类 303
14.10 用Java构建自己的服务器 303
14.10.1 HTTP协议的作用原理 303
14.10.2 Java实现Web服务器功能的程序设计 304
14.10.3 运行Java服务器 307
第15章 Java数据库互联(JDBC) 309
15.1.1 数据库 310
15.1 关系数据库及SQL语言 310
15.1.2 数据库的种类 311
15.1.3 ODBC 311
15.1.4 SQL语言简介 312
15.2 JDBC概述 314
15.2.1 ODBC的结构模型 315
15.2.2 JDBC的诞生 315
15.2.3 JDBC技术概述 316
15.2.4 JDBC的目标 319
15.3.1 连接数据库所用的JDBC接口 321
15.3 JDBC的主要接口 321
15.3.2 JDBC接口 322
15.4 JDBC的使用方法和安全性 324
15.4.1 ODBC设置 324
15.4.2 JDBC的使用 326
15.4.3 JDBC的安全性考虑 327
15.5 简单的访问数据库实例 329
第16章 JavaBeans简介 333
16.1.2 JavaBeans与Java的相互联系 334
16.1 JavaBeans入门 334
16.1.1 JavaBeans的特点 334
16.1.3 Bean的基本特征 335
16.1.4 使用BeanBox 336
16.2 软件组件基础 339
16.3 JavaBeans API概述 340
16.3.1 JavaBeans的属性 340
16.3.2 JavaBeans的事件处理 345
16.3.3 用户化 349
16.3.4 JavaBeans的持久化和存储格式 350
16.3.5 “Hello World”实例 351
16.4 使用JavaBeans实例 353
第17章 J2EE技术体系结构概述 358
17.1 分布式多层应用程序的发展 359
17.1.1 分布式多层应用体系结构 359
17.1.2 分布式多层应用程序 361
17.1.3 J2EE技术 361
17.2 J2EE平台简介 366
17.2.1 J2EE技术概述 366
17.2.2 Java Servlet技术 367
17.2.3 JSP技术 368
17.2.4 企业JavaBeans(EJB) 373
17.3 应用程序配置 381
17.4 J2EE的实例 382
17.4.1 编写代码 383
17.4.2 部署应用程序 384
17.4.3 运行应用程序 388
附录A Internet上的Java资源 389
附录B Java编码规范 391