第1章 Java语言概述 1
1.1 Java语言的产生及其特点 1
1.1.1 Java语言发展简史 1
1.1.2 Java虚拟机 3
1.1.3 Java平台是不断扩展的计算平台 3
1.1.4 Java语言的特点 5
1.1.5 Java与C/C++语言的异同 6
1.2 Java运行环境与开发环境 7
1.2.1 Java运行环境 7
1.2.2 Java SDK开发环境 8
1.2.3 JDK开发环境工具简单介绍 13
1.3 Java程序举例 16
1.3.1 简单的Java应用程序 16
1.3.2 简单的Java 小程序 19
1.3.3 Servlet 20
1.4 其他集成开发和运行环境 20
习题与思考 23
第2章 数据类型及其运算 24
2.1 标识符和关键字 24
2.1.1 标识符 24
2.1.3 注释 25
2.1.2 关键字 25
2.2 常量和变量 26
2.2.1 变量 26
2.2.2 常量 27
2.3 基本数据类型 27
2.3.1 布尔类型 28
2.3.2 字符类型 28
2.3.3 整数类型 29
2.3.4 浮点类型 29
2.3.5 各类型数据间的相互转换 30
2.4.1 算数运算符 31
2.4 运算符 31
2.4.2 赋值运算符 33
2.4.3 条件运算符 34
2.4.4 位运算符 34
2.4.5 关系运算符 37
2.4.6 逻辑运算符 37
2.5 表达式 38
2.6 数组 39
2.6.1 一维数组 39
2.6.2 二维数组 43
习题与思考 45
2.7 字符串 45
第3章 程序控制语句 47
3.1 选择语句 47
3.1.1 if语句 47
3.1.2 switch语句 49
3.2 循环语句 51
3.2.1 while语句 51
3.2.2 do-while循环 52
3.2.3 for循环 52
3.3.1 使用break语句 56
3.3 跳转语句 56
3.3.2 使用continue语句 58
3.3.3 使用return语句 60
习题与思考 61
第4章 Java面向对象程序设计基础 62
4.1 面向对象的基本概念 62
4.1.1 面向对象编程的概念 62
4.1.2 客观事物的抽象 63
4.2 类的定义 64
4.2.1 类声明 64
4.2.2 类体 65
4.2.3 实例化对象 70
4.2.4 构造方法说明 71
4.2.5 对象的清除 74
4.2.6 方法重载 74
4.3 类和对象的使用 77
4.3.1 实例变量和类变量 77
4.3.2 实例方法和类方法 78
4.4 包(package) 80
4.4.1 package语句 81
4.4.2 import语句 81
4.4.3 编译和运行包 82
4.5 成员变量及方法的访问权限 84
4.5.1 公共类型(public) 85
4.5.2 保护类型(protected) 86
4.5.3 私有类型(private) 87
4.6 final、this及其他 88
4.6.1 final关键字 88
4.6.2 this引用 89
4.6.3 super关键字 90
4.6.4 null关键字 90
4.6.5 java.lang,Object类介绍 90
4.6.6 递归方法 92
4.6.7 命令行参数的输入 93
4.6.8 JAR文件的使用 93
习题与思考 94
第5章 面向对象高级程序设计 96
5.1 继承 96
5.1.1 创建子类 96
5.1.2 成员变量的隐藏和方法的重写 100
5.1.3 super关键字 101
5.1.4 对象的上转型对象 103
5.2 多态性 104
5.3 抽象类和抽象方法 107
5.4 接口 109
5.4.1 接口声明 109
5.4.2 使用接口的优点 110
5.5 内部类和匿名类 111
5.5.1 内部类的定义 111
5.5.2 内部类特性 112
5.5.3 匿名类 118
习题与思考 118
6.1 String类 119
6.1.1 字符串的构造方法 119
第6章 字符串处理 119
6.1.2 String类的常用方法 120
6.2 StringBuffer类 126
6.2.1 StringBuffer类的构造方法 127
6.2.2 StringBuffer类的常用方法 127
6.3 StringTokenizer类的应用 132
6.3.1 StringTokenizer类的构造方法 132
6.3.2 StringTokenizer类的常用方法 132
6.4 字符串与其他数据类型的转换 134
6.4.1 将其他数据转换为字符串 134
6.4.2 将字符串转化成其他数据 135
习题与思考 137
第7章 Java标准类库 138
7.1 简单类型包装器类 138
7.1.1 Number 138
7.1.2 Double和Float 139
7.1.3 Byte、Short、Integer和Long 142
7.1.4 数字和字符串的转换 143
7.1.5 Character 145
7.1.6 Boolean 147
7.2 System 148
7.2.2 复制数组 149
7.2.1 记录程序执行的时间 149
7.2.3 访问JVM环境属性 150
7.3 Runtime 151
7.3.1 内存管理 152
7.3.2 执行其他的程序 154
7.4 Math 154
7.5 日期时间实用工具类 156
7.5.1 Date(日期) 156
7.5.2 Calendar(日历) 157
7.6 Java集合框架 160
7.6.1 集合接口 161
7.6.2 实现List接口的类 163
7.6.3 实现Set接口的类 168
7.6.4 通过迭代接口访问类集 171
7.6.5 Generics(泛化) 173
7.6.6 映射接口(Map) 175
7.6.7 实现Map接口的类 177
7.6.8 比较器(Comparator) 181
7.6.9 类集算法 182
7.6.10 Arrays 185
习题与思考 187
8.1 什么是异常 188
第8章 Java异常处理 188
8.2 异常处理机制 190
8.2.1 Java的异常处理机制 190
8.2.2 异常类的类层次 191
8.2.3 Throwable类的常用方法 193
8.3 异常的处理 194
8.3.1 捕获异常try-catch-finally 194
8.3.2 声明抛弃异常 195
8.3.3 抛出异常 197
8.4 创建用户异常类 199
习题与思考 200
第9章 输入输出处理 201
9.1 I/O流的概念和划分 201
9.1.1 理解数据流 201
9.1.2 Java流的划分 202
9.2 文件的操作 205
9.2.1 File类 205
9.2.2 目录 209
9.3 字节流处理 211
9.3.1 InputStream/OutputStream 212
9.3.2 标准输入输出流 213
9.3.3 文件字节流 217
9.3.4 过滤流 219
9.3.5 随机存取文件 221
9.3.6 其他字节流 223
9.4 字符流处理 224
9.4.1 Reader/Writer 225
9.4.2 文件字符流 226
9.4.3 字节流向字符流的转化 227
9.4.4 其他字符流 229
9.5.2 串行化的方法 230
9.5.1 串行化的概念 230
9.5 串行化 230
9.5.3 定制串行化 234
习题与思考 235
第10章 线程 236
10.1 线程的概念 236
10.2 线程的创建 237
10.2.1 采用继承创建线程 238
10.2.2 通过实现接口创建线程 239
10.3 线程的生命周期及调度 240
10.3.1 线程生命周期 240
10.3.2 线程调度和优先级 241
10.4 线程互斥 243
10.4.1 问题的提出 243
10.4.2 互斥对象 244
10.5 线程同步 248
10.6 线程通信 251
10.7 线程死锁 253
习题与思考 256
第11章 GUI程序设计 257
11.1 AWT组件简介 257
11.1.2 Panel面板类 259
11.1.1 Frame框架类 259
11.2 布局管理器 260
11.2.1 FlowLayout 260
11.2.2 BorderLayout 261
11.2.3 GridLayout 262
11.2.4 CardLayout 263
11.2.5 GridBagLayout 264
11.2.6 无布局管理器 265
11.2.7 容器的嵌套 265
11.3 AWT事件处理 266
11.3.1 事件处理模型 266
11.3.2 AWT事件 268
11.3.3 事件监听器 269
11.3.4 事件适配器 271
11.3.5 内部类和匿名类在事件处理中的应用 272
11.4 常用AWT组件使用举例 274
11.4.1 基本组件 274
11.4.2 菜单 277
11.5 AWT图形和Java2D图形介绍 278
11.6 Swing简介 278
习题与思考 279
12.1.1 加载Java Applet 280
第12章 Java Applet 280
12.1 Java Applet设计基础 280
12.1.2 Java Applet的安全性限制 281
12.1.3 Java Applet的生命周期 282
12.2 java.applet包 283
12.2.1 Applet类的继承关系 283
12.2.2 Applet类的方法 283
12.2.3 HTML和Java Applet 285
12.2.4 appletviewer 287
12.3 Java Applet中的多媒体应用 288
12.3.1 URL 288
12.2.5 Java Applet的显示 288
12.3.2 加载图像 289
12.3.3 播放声音 290
12.4 Java Applet中的鼠标和键盘事件 292
12.4.1 鼠标事件 292
12.4.2 键盘响应 295
12.5 Java Applet编程实例 297
习题与思考 299
13.1 JDBC的结构 300
13.1.1 JDBC数据库应用模型 300
第13章 JDBC 300
13.1.2 JDBC驱动程序 301
13.2 通过JDBC访问数据库 303
13.2.1 基本流程 303
13.2.2 常用的JDBC API 305
13.2.3 事务 310
13.3 数据库存取优化 311
13.3.1 prepared语句 311
13.3.2 存储过程 312
13.4 JDBC编程实例 314
13.4.1 ODBC配置 314
13.4.2 JDBC编程实例 316
13.4.3 Java数据类型和SQL数据类型间的关系 319
习题与思考 321
第14章 JavaBean组件模型 322
14.1 软件组件模型 322
14.2 JavaBean概述 323
14.3 JavaBean的特性 324
14.4 JavaBean的属性 325
14.4.1 简单属性 325
14.4.2 索引属性 325
14.4.3 绑定属性 326
14.4.4 限制属性 328
14.5 API支持 330
14.6 JavaBean的事件处理 333
14.6.1 授权事件模型 333
14.6.2 为Bean添加自定义事件 334
14.7 开发一个JavaBean并打包 338
习题与思考 343
第15章 网络通信 344
15.1 网络通信简介 344
15.2 URL通信 345
15.2.1 URL简介 345
15.2.2 URL类 345
15.2.4 通过URLConnection实现双向通信 347
15.2.3 通过字节流访问万维网资源 347
15.3.1 服务器程序 349
15.3 Socket通信 349
15.3.2 客户端程序 351
15.3.3 服务多个客户端 353
15.3.4 数据报通信 358
15.4 远程方法调用(RMI) 365
习题与思考 366
16.1 安全基本知识 367
16.1.1 计算机安全基础 367
第16章 Java安全技术 367
16.1.2 密码学 369
16.2 Java的安全模型 371
16.2.1 安全模型的演化 371
16.2.2 Java 2安全模型 372
16.2.3 Java 2的安全管理器 374
16.2.4 Java Applet安全性 375
16.2.5 J2SDK安全工具 378
16.2.6 Java Applet的安全部署 381
习题与思考 390
17.1 Java Web服务器介绍 391
第17章 Web服务器端编程 391
17.2 Servlet介绍 393
17.2.1 Servlet的概念 393
17.2.2 Servlet应用范围和运行环境 394
17.2.3 Servlet简单例子 394
17.2.4 Servlet常用类、接口和生命周期 396
17.2.5 Servlet应用举例 401
17.3 JSP介绍 403
17.3.1 JSP的概念 403
17.3.2 JSP的运行方式 404
17.3.3 JSP指令介绍 405
17.3.4 JSP中的隐藏对象 410
17.3.5 JSP应用实例 412
17.3.6 JSP和Servlet在实际工程中的应用 415
17.4 Struts介绍 416
习题与思考 417
第18章 J2EE规范和EJB 418
18.1 J2EE规范 418
18.1.1 J2EE的基本概念 418
18.1.2 J2EE框架 420
18.1.3 J2EE的核心技术 423
18.2 EJB(企业Java组件模型) 425
18.2.1 EJB容器 426
18.2.2 远程和本地接口 427
18.2.3 实体Bean 429
18.2.4 会话Bean 433
18.2.5 部署EJB 438
习题与思考 440
第19章 J2ME 441
19.1 J2ME概述 441
19.2 J2ME技术架构 442
19.2.1 Configuration 443
19.2.2 Profile 444
19.2.3 Optional Packages 445
19.2.4 J2ME工业标准——JTWI 447
19.2.5 JINI技术 448
19.2.6 Personal Java 450
19.3 MIDP应用程序开发 451
19.3.1 新建并运行MIDP程序 451
19.3.2 综合实例 453
习题与思考 456
附录 上机实验 457
参考文献 462