第1章 Java语言概述 1
1.1 Java语言的发展简史 1
1.2 Java语言的特点及优势 3
1.3 Java虚拟机 5
1.4 Java运行环境与开发环境 6
1.4.1 JDK 5.0的下载安装与环境变量设置 6
1.4.2 JDK 5.0的帮助文件 12
1.4.3 JDK 5.0的常用命令 13
1.5 简单Java程序设计 19
1.5.1 Java Application程序 19
1.5.2 Java Applet程序 22
1.5.3 Servlet程序 24
1.5.4 JSP程序 26
1.5.5 Java EE程序 26
1.6 Java集成开发环境 26
1.6.1 NetBeans 27
1.6.2 Eclipse 35
1.6.3 JBuilder 44
1.6.4 JCreator 47
1.6.5 BlueJ 47
1.6.6 其他编辑工具 48
1.7 Java的编码规范 49
1.7.1 命名规范 49
1.7.2 注释规范 51
1.7.3 代码规范 52
习题1 52
实验1 Java开发环境与简单Java程序设计 54
第2章 Java语言基础 55
2.1 标识符 55
2.2 基本数据类型 56
2.2.1 数据类型 57
2.2.2 常量和变量 58
2.3 运算符与表达式 60
2.3.1 运算符及其分类 60
2.3.2 运算符的优先级 64
2.3.3 表达式 64
2.3.4 语句 65
2.4 程序流程控制 66
2.4.1 概述 66
2.4.2 分支语句 66
2.4.3 循环语句 69
2.4.4 跳转语句 73
2.5 数组 76
2.5.1 一维数组 76
2.5.2 二维数组 80
2.6 字符串类型 84
2.6.1 字符串常量 84
2.6.2 字符串声明及初始化 84
2.6.3 字符串处理 84
2.6.4 字符串与其他数据之间的转换 95
习题2 96
实验2 Java语言基础 102
第3章 Java语言面向对象基础 103
3.1 面向对象基础 103
3.1.1 面向对象的基本思想 103
3.1.2 面向对象的基本概念 104
3.1.3 面向对象的建模方法 107
3.2 UML基础知识 107
3.2.1 UML简介 107
3.2.2 UML图 108
3.2.3 类间关系 112
3.3 类的定义 114
3.3.1 类首部 115
3.3.2 类体 116
3.3.3 应用实例 121
3.4 对象的创建与清除 126
3.4.1 构造方法 126
3.4.2 对象的创建与引用 127
3.4.3 对象复制 133
3.4.4 对象的清除 135
3.5 类变量和实例变量 135
3.5.1 类变量(static变量) 135
3.5.2 实例变量(非static变量) 136
3.6 类方法和实例方法 137
3.6.1 类方法(static方法) 137
3.6.2 实例方法(非static方法) 139
3.7 包(package) 141
3.7.1 package语句 142
3.7.2 import语句 143
3.7.3 编译与运行 145
3.7.4 JAR包的创建与运行 145
习题3 147
实验3 Java面向对象基础 151
第4章 Java语言面向对象高级程序设计 152
4.1 消息通信(Communication With Messages) 152
4.1.1 消息的类型 152
4.1.2 消息的使用 152
4.2 访问控制(Access Control) 154
4.2.1 类的访问控制 154
4.2.2 类成员的访问控制 156
4.3 继承(Inheritance) 162
4.3.1 创建子类 162
4.3.2 继承的传递性 163
4.3.3 子类对象的初始化 164
4.3.4 子类继承父类的规则 165
4.3.5 上转型与下转型对象 168
4.3.6 继承的使用方法 171
4.3.7 继承与组合区别 171
4.4 多态性(Polymorphism) 171
4.4.1 多态性的概念 171
4.4.2 方法重载(Method Overloading) 172
4.4.3 方法覆盖(Method Override) 175
4.4.4 变量覆盖(Variable Override) 177
4.5 抽象类与抽象方法 179
4.5.1 抽象类(Abstract Class) 179
4.5.2 抽象方法(Abstract Method) 180
4.6 接口(Interface) 182
4.6.1 接口的概念 182
4.6.2 接口的定义 182
4.6.3 接口的实现 185
4.6.4 接口与抽象类的比较 191
4.7 内部类与匿名类 191
4.7.1 内部类(Inner Class) 191
4.7.2 匿名类(Anonymous Class) 207
4.8 this、super和修饰符 212
4.8.1 this引用 212
4.8.2 super关键字 212
4.8.3 Java的修饰符 212
4.9 Java的设计模式 214
4.9.1 模式的概念 214
4.9.2 创建模式 215
4.9.3 结构模式 216
4.9.4 行为模式 216
4.9.5 设计模式在接口中的应用 218
习题4 224
实验4 Java面向对象高级程序设计 231
第5章 Java标准类库 232
5.1 java.lang包 232
5.1.1 Object类 232
5.1.2 基本数据类型的包装类 234
5.1.3 System类 237
5.1.4 Runtime类 238
5.1.5 Math类 240
5.2 java.util包 240
5.2.1 Date类 241
5.2.2 Calendar类 242
5.3 java.text包 243
5.3.1 DateFormat类 243
5.3.2 SimpleDateFormat类 244
5.4 集合框架 245
5.4.1 Set接口与实现该接口的类 245
5.4.2 List接口与实现该接口的类 247
5.4.3 Map接口与实现该接口的类 250
5.4.4 Iterator接口和ListIterator接口 252
5.4.5 Collections类的算法应用 253
5.4.6 泛型(Generics) 254
习题5 258
实验5 Java标准类库应用 259
第6章 Java GUI程序设计 261
6.1 图形用户界面概述 261
6.2 AWT及其组件 262
6.2.1 java.awt包 262
6.2.2 组件 263
6.2.3 容器 264
6.3 布局管理器 265
6.3.1 FlowLayout布局管理器 266
6.3.2 BorderLayout布局管理器 267
6.3.3 GridLayout布局管理器 269
6.3.4 CardLayout布局管理器 270
6.3.5 GridBagLayout布局管理器 271
6.4 事件处理 274
6.4.1 事件处理机制 274
6.4.2 AWT事件类与监听器接口 276
6.4.3 事件处理方式 278
6.5 Swing简介 284
6.5.1 Swing的特性 284
6.5.2 Swing类层次结构 286
6.6 基于Swing的应用程序设计 288
6.6.1 Swing应用程序的一般结构 288
6.6.2 设置L&F 289
6.6.3 布局管理器 292
6.6.4 事件处理 294
6.7 Swing常用组件 296
6.7.1 常用容器组件 296
6.7.2 常用基本组件 301
习题6 326
实验6 GUI编程技术 327
第7章 Java Applet及其应用 328
7.1 Applet基础 328
7.1.1 Applet概述 328
7.1.2 Applet的运行原理 328
7.1.3 Applet的安全机制 330
7.1.4 Applet的生命周期 330
7.2 Applet类 332
7.3 Applet的应用 333
7.3.1 利用Applet显示图像 333
7.3.2 利用Applet播放声音 336
7.4 Applet鼠标与键盘事件处理 339
7.4.1 Applet鼠标事件处理 339
7.4.2 Applet键盘事件处理 341
习题7 343
实验7 Java Applet应用 345
第8章 Java异常处理技术 346
8.1 异常与异常类 346
8.1.1 异常的概念 346
8.1.2 Java异常类 347
8.2 Java异常处理机制 349
8.2.1 try-catch-finally语句 349
8.2.2 throws语句和throw语句 351
8.3 自定义异常类 353
8.3.1 定义异常类 354
8.3.2 自定义异常的抛出与处理 355
8.4 断言机制 356
8.4.1 断言的使用 356
8.4.2 启用和禁用断言 357
8.4.3 适当地使用断言 357
8.5 记录日志 358
习题8 358
实验8 Java异常处理技术 361
第9章 Java多线程技术 362
9.1 Java多线程 363
9.1.1 程序、进程与多线程 363
9.1.2 Java线程的状态与生命周期 364
9.1.3 Java线程的调度与优先级 367
9.2 用Thread的子类创建线程 368
9.3 用实现Runnable接口方式创建线程 369
9.3.1 Runnable接口与目标对象 369
9.3.2 run()方法中的局部变量 373
9.3.3 在线程中启动其他线程 374
9.4 线程的常用方法 376
9.5 GUI线程 381
9.6 线程的同步 385
9.6.1 用同步方法实现线程同步 385
9.6.2 wait()等方法在线程同步中的应用 388
9.7 线程间的通信 393
9.7.1 管道的创建与使用 393
9.7.2 基于管道的线程通信 394
9.8 线程的死锁 396
9.9 线程的挂起、恢复和终止 398
9.10 计时器线程 403
9.11 线程的联合 405
9.12 守护线程 406
习题9 408
实验9多线程编程技术 410
第10章 Java输入输出技术 411
10.1 流式输入/输出基础 411
10.1.1 流的概念 411
10.1.2 字节流和字符流 412
10.2 目录和文件操作 414
10.2.1 File类 414
10.2.2 随机访问文件 418
10.3 字节流类 420
10.3.1 文件输入/输出流 420
10.3.2 BufferedInputStream类和BufferedOutputStream类 423
10.3.3 标准流和扫描器 425
10.3.4 管道输入/输出流 429
10.4 字符流 431
10.4.1 字节流和字符流的转换 431
10.4.2 字符文件读写 433
10.4.3 BufferedReader类和BufferedWriter类 434
10.5 对象串行化 436
10.5.1 对象串行化概述 436
10.5.2 读写对象流 436
习题10 438
实验10 Java输入输出技术 440
第11章 网络编程技术 441
11.1 网络通信基础 442
11.1.1 OSI/RM协议体系结构 442
11.1.2 TCP/IP协议体系结构 443
11.1.3 IP地址与端口号 444
11.1.4 Java中所涉及的网络应用类 445
11.2 基于HTTP的URL通信 445
11.2.1 URL简介 445
11.2.2 URL类 445
11.2.3 使用URL类实现单向通信 448
11.2.4 使用URLConnection类实现双向通信 449
11.2.5 简单网页浏览器的设计 451
11.3 基于TCP的Socket通信 452
11.3.1 Socket类与ServerSocket类 452
11.3.2 简单服务器程序 455
11.3.3 简单客户端程序 458
11.3.4 基于多线程的服务器程序 460
11.3.5 基于多线程的客户端程序 464
11.4 基于UDP的Datagram通信 467
11.4.1 Datagram套接字 467
11.4.2 简单Datagram接收程序 469
11.4.3 简单Datagram发送程序 471
11.5 基于UDP的组播通信 472
11.5.1 MulticastSocket类 472
11.5.2 组播发送程序(服务器) 473
11.5.3 组播接收程序(客户端) 475
11.6 基于RMI的分布式通信 477
11.6.1 基于对象的分布计算模型 478
11.6.2 RMI的体系结构与工作机制 478
11.6.3 RMI的安全机制及异常处理 480
11.6.4 基于RMI的分布应用实例 480
习题11 487
实验11 Java网络编程技术 490
第12章 JDBC与数据库访问技术 491
12.1 关系数据库与SQL 491
12.1.1 关系数据库的基本概念 492
12.1.2 结构化查询语言(SQL) 493
12.2 JDBC的体系结构 494
12.2.1 JDBC的结构 494
12.2.2 JDBC的驱动程序 496
12.2.3 常用JDBC API 497
12.3 使用JDBC访问数据库 502
12.3.1 JDBC的连接技术 503
12.3.2 使用JDBC访问数据库的基本算法 508
12.4 JDBC的应用实例 511
12.4.1 创建数据库并配置ODBC数据源 511
12.4.2 创建数据表 511
12.4.3 插入记录 512
12.4.4 查询记录 514
12.4.5 更新记录 514
12.4.6 删除记录 516
12.5 JDBC的高级应用 517
12.5.1 JDBC的事务操作 517
12.5.2 数据库存取优化 518
12.5.3 数据库批量操作 521
12.5.4 大数据对象存取 522
12.5.5 Java数据类型和SQL数据类型间的关系 529
12.5.6 JDBC 4.0的新特性 530
习题12 531
实验12 JDBC技术 534
第13章 JavaBean组件技术 535
13.1 组件的概念 535
13.1.1 软件组件 535
13.1.2 软件组件模型 535
13.2 JavaBean的概述 536
13.3 JavaBean的结构 536
13.3.1 JavaBean的属性 536
13.3.2 JavaBean的方法 538
13.3.3 JavaBean的事件 538
13.3.4 JavaBean的设计规范 539
13.4 JavaBean的API 539
13.5 JavaBean的开发 540
13.5.1 JavaBean在JSP中的应用实例 540
13.5.2 JavaBean的可视化应用实例 543
习题13 548
实验13 JavaBean组件技术 548
参考文献 549