第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的帮助文件 11
1.4.3 JDK 5.0的常用命令 12
1.5简单Java程序设计 17
1.5.1 Java Application程序 17
1.5.2 Java Applet程序 20
1.5.3 Servlet程序 22
1.5.4 JSP程序 23
1.5.5 Java EE程序 24
1.6 Java集成开发环境 24
1.6.1 NetBeans 24
1.6.2 Eclipse 31
1.6.3 JBuilder 36
1.6.4 JCreator 39
1.6.5 BlueJ 39
1.6.6其他编辑工具 39
1.7 Java的编码规范 40
1.7.1命名规范 41
1.7.2注释规范 42
1.7.3代码规范 42
习题一 43
实验一 Java开发环境与简单Java程序设计 45
第2章 Java语言基础 46
2.1标识符 46
2.2基本数据类型 47
2.2.1数据类型 48
2.2.2常量和变量 49
2.3运算符与表达式 50
2.3.1运算符及其分类 50
2.3.2运算符的优先级 54
2.3.3表达式 55
2.3.4语句 55
2.4程序流程控制 56
2.4.1概述 56
2.4.2分支语句 56
2.4.3循环语句 58
2.4.4跳转语句 62
2.5数组 65
2.5.1一维数组 65
2.5.2二维数组 68
2.6字符串类型 71
2.6.1字符串常量 71
2.6.2字符串声明及初始化 71
2.6.3字符串处理 72
2.6.4字符串与其他数据之间的转换 81
习题二 82
实验二 Java语言基础 88
第3章 Java语言面向对象基础 90
3.1面向对象基础 90
3.1.1面向对象的基本思想 90
3.1.2面向对象的基本概念 91
3.1.3面向对象的建模方法 94
3.2 UML基础知识 94
3.2.1 UML简介 94
3.2.2 UML图 94
3.2.3类间关系 98
3.3类的定义 100
3.3.1类首部 100
3.3.2类体 101
3.3.3应用实例 105
3.4对象的创建与清除 110
3.4.1构造方法 110
3.4.2对象的创建与引用 111
3.4.3对象复制 116
3.4.4对象的清除 117
3.5类变量和实例变量 118
3.5.1类变量(static变量) 118
3.5.2实例变量(非static变量) 119
3.6类方法和实例方法 120
3.6.1类方法(static方法) 120
3.6.2实例方法(非static方法) 121
3.7包(package) 122
3.7.1 package语句 124
3.7.2 import语句 125
3.7.3编译与运行 126
3.7.4 JAR包的创建与运行 126
习题三 129
实验三 Java面向对象基础 132
第4章 Java语言面向对象高级程序设计 134
4.1消息通信(Communication With Messages) 134
4.1.1消息的类型 134
4.1.2消息的使用 134
4.2访问控制 136
4.2.1类的访问控制 136
4.2.2类成员的访问控制 138
4.3继承 142
4.3.1创建子类 142
4.3.2继承的传递性 143
4.3.3子类对象的初始化 144
4.3.4子类继承父类的规则 145
4.3.5上转型与下转型对象 147
4.3.6继承的使用方法 149
4.3.7继承与组合区别 150
4.4多态性 150
4.4.1多态性的概念 150
4.4.2方法重载 151
4.4.3方法覆盖 153
4.4.4变量覆盖 155
4.5抽象类与抽象方法 156
4.5.1抽象类 156
4.5.2抽象方法 157
4.6接口 159
4.6.1接口的概念 159
4.6.2接口的定义 159
4.6.3接口的实现 162
4.6.4接口与抽象类的比较 166
4.7内部类与匿名类 167
4.7.1内部类 167
4.7.2匿名类 180
4.8 this、Super和修饰符 184
4.8.1 this引用 184
4.8.2 super关键字 184
4.8.3 Java的修饰符 184
4.9 Java的设计模式 186
4.9.1模式的概念 186
4.9.2创建模式 187
4.9.3结构模式 188
4.9.4行为模式 188
4.9.5设计模式在接口中的应用 190
习题四 195
实验四 Java面向对象高级程序设计 202
第5章 Java标准类库 204
5.1 java.lang包 204
5.1.1 Object类 204
5.1.2基本数据类型的包装类 206
5.1.3 System类 209
5.1.4 Runtime类 210
5.1.5 Math类 210
5.2 java.util包 211
5.2.1 Date类 211
5.2.2 Calendar类 212
5.3 java.text包 213
5.3.1 DateFormat类 213
5.3.2 SimpleDateFormat类 214
5.4集合框架 215
5.4.1 Set接口与实现该接口的类 215
5.4.2 List接口与实现该接口的类 217
5.4.3 Map接口与实现该接口的类 219
5.4.4 Iterator接口和ListIterator接口 221
5.4.5 Collections类的算法应用 221
5.4.6泛型(Generics) 222
习题五 225
实验五 Java标准类库应用 227
第6章 Java GUI程序设计 229
6.1图形用户界面概述 229
6.2 AWT及其组件 230
6.2.1 java.awt包 230
6.2.2组件 231
6.2.3容器 232
6.3布局管理器 233
6.3.1 F1owLayout布局管理器 233
6.3.2 BorderLayout布局管理器 234
6.3.3 GridLayout布局管理器 235
6.3.4 CardLayout布局管理器 236
6.3.5 GridBagLayout布局管理器 238
6.4事件处理 240
6.4.1事件处理机制 240
6.4.2 AWT事件类与监听器接口 241
6.4.3事件处理方式 243
6.5 Swing简介 248
6.5.1 Swing的特性 248
6.5.2 Swing类层次结构 249
6.6基于Swing的应用程序设计 251
6.6.1 Swing应用程序的一般结构 251
6.6.2设置L&F 253
6.6.3布局管理器 255
6.6.4事件处理 256
6.7 Swing常用组件 258
6.7.1常用容器组件 258
6.7.2常用基本组件 263
习题六 283
实验六 GUI编程技术 284
第7章 Java Applet及其应用 285
7.1 Applet基础 285
7.1.1 Applet概述 285
7.1.2 Applet的运行原理 285
7.1.3 Applet的安全机制 286
7.1.4 Applet的生命周期 287
7.2 Applet类 288
7.3 Applet的应用 289
7.3.1利用Applet显示图像 289
7.3.2利用Applet播放声音 292
7.4 Applet鼠标与键盘事件处理 294
7.4.1 Applet鼠标事件处理 294
7.4.2 Applet键盘事件处理 296
习题七 298
实验七 Java Applet应用 299
第8章 Java异常处理技术 301
8.1异常与异常类 301
8.1.1异常的概念 301
8.1.2 Java异常类 302
8.2 Java异常处理机制 303
8.2.1 try-catch-finally语句 304
8.2.2 throws语句和throw语句 306
8.3自定义异常类 308
8.3.1定义异常类 308
8.3.2自定义异常的抛出与处理 309
8.4断言机制 310
8.4.1断言的使用 310
8.4.2启用和禁用断言 311
8.4.3适当地使用断言 311
8.5记录日志 312
习题八 312
实验八 Java异常处理技术 315
第9章 Java多线程技术 316
9.1 Java多线程 317
9.1.1程序、进程与多线程 317
9.1.2 Java线程的状态与生命周期 318
9.1.3 Java线程的调度与优先级 321
9.2用Thread的子类创建线程 322
9.3用实现Runnable接口方式创建线程 323
9.3.1 Runnable接口与目标对象 323
9.3.2 run()方法中的局部变量 326
9.3.3在线程中启动其他线程 327
9.4线程的常用方法 328
9.5 GUI线程 332
9.6线程的同步 336
9.6.1用同步方法实现线程同步 336
9.6.2 wait()等方法在线程同步中的应用 339
9.7线程间的通信 343
9.7.1管道的创建与使用 343
9.7.2基于管道的线程通信 343
9.8线程的死锁 345
9.9线程的挂起、恢复和终止 346
9.10计时器线程 350
9.11线程的联合 352
9.12守护线程 353
习题九 355
实验九 多线程编程技术 356
第10章 Java输入输出技术 358
10.1流式输入/输出基础 358
10.1.1流的概念 358
10.1.2字节流和字符流 359
10.2目录和文件操作 361
10.2.1 File类 361
10.2.2随机访问文件 364
10.3字节流类 366
10.3.1文件输入/输出流 366
10.3.2 BufferedInputStream类和BufferedOutputStream类 369
10.3.3标准流和扫描器 370
10.3.4管道输入/输出流 374
10.4字符流 376
10.4.1字节流和字符流的转换 376
10.4.2字符文件读写 378
10.4.3 BufferedReader类和BufferedWriter类 379
10.5对象串行化 380
10.5.1对象串行化概述 380
10.5.2读写对象流 380
习题十 382
实验十 Java输入输出技术 384
第11章 网络编程技术 385
11.1网络通信基础 386
11.1.1 OSI/RM协议体系结构 386
11.1.2 TCP/IP协议体系结构 387
11.1.3 IP地址与端口号 388
11.1.4 Java中所涉及的网络应用类 388
11.2基于HTTP的URL通信 389
11.2.1 URL简介 389
11.2.2 URL类 389
11.2.3使用URL类实现单向通信 391
11.2.4使用URLConnection类实现双向通信 392
11.2.5简单网页浏览器的设计 393
11.3基于TCP的Socket通信 395
11.3.1 Socket类与ServerSocket类 395
11.3.2简单服务器程序 397
11.3.3简单客户端程序 400
11.3.4基于多线程的服务器程序 402
11.3.5基于多线程的客户端程序 405
11.4基于UDP的Datagram通信 407
11.4.1 Datagram套接字 408
11.4.2简单Datagram接收程序 410
11.4.3简单Datagram发送程序 411
11.5基于UDP的组播通信 412
11.5.1 MulticastSocket类 412
11.5.2组播发送程序(服务器) 412
11.5.3组播接收程序(客户端) 414
11.6基于RMI的分布式通信 416
11.6.1基于对象的分布计算模型 416
11.6.2 RMI的体系结构与工作机制 417
11.6.3 RMI的安全机制及异常处理 418
11.6.4基于RMI的分布应用实例 418
习题十一 424
实验十一 Java网络编程技术 427
第12章 JDBC与数据库访问技术 428
12.1关系数据库与SQL 428
12.1.1关系数据库的基本概念 429
12.1.2结构化查询语言(SQL) 430
12.2 JDBC的体系结构 431
12.2.1 JDBC的结构 431
12.2.2 JDBC的驱动程序 432
12.2.3常用JDBC API 434
12.3使用JDBC访问数据库 438
12.3.1 JDBC的连接技术 439
12.3.2使用JDBC访问数据库的基本算法 443
12.4 JDBC的应用实例 446
12.4.1创建数据库并配置ODBC数据源 446
12.4.2创建数据表 447
12.4.3插入记录 447
12.4.4查询记录 448
12.4.5更新记录 449
12.4.6删除记录 450
12.5 JDBC的高级应用 451
12.5.1 JDBC的事务操作 451
12.5.2数据库存取优化 452
12.5.3数据库批量操作 454
12.5.4大数据对象存取 455
12.5.5 Java数据类型和SQL数据类型间的关系 461
12.5.6 JDBC 4.0的新特性 462
习题十二 462
实验十二 JDBC技术 465
第13章 JavaBean组件技术 466
13.1组件的概念 466
13.1.1软件组件 466
13.1.2软件组件模型 466
13.2 JavaBean的概述 467
13.3 JavaBean的结构 467
13.3.1 JavaBean的属性 467
13.3.2 JavaBean的方法 469
13.3.3 JavaBean的事件 469
13.3.4 JavaBean的设计规范 470
13.4 JavaBean的API 470
13.5 JavaBean的开发 471
13.5.1 JavaBean在JSP中的应用实例 471
13.5.2 JavaBean的可视化应用实例 474
习题十三 477
实验十三 JavaBean组件技术 478
参考文献 479