第1章 Java语言概述 1
1.1 Java语言的发展历史 1
1.1.1 Java语言的诞生和发展 1
1.1.2 Java语言的特点和优势 2
1.1.3 Java语言的核心技术 4
1.2 Java平台 6
1.2.1 Java常用组件包 6
1.2.2 Java开发工具 7
1.3 Java开发运行环境 9
1.3.1 Java 2 SDK的安装与设置 9
1.3.2 运行Java程序 13
1.3.3 Eclipse集成化开发工具 16
1.3.4 Java运行环境 17
1.4 Java语言概述实例——编写Hello World!程序 17
1.5 小结与提高 22
1.6 思考与练习 22
第2章 Java语言基础 23
2.1 标识符和关键字 23
2.1.1 标识符 23
2.1.2 关键字 24
2.2 数据类型和变量 25
2.2.1 常量和变量 25
2.2.2 数据类型 26
2.3 字符串 30
2.3.1 字符串连接 30
2.3.2 子串 31
2.3.3 修改字符串 31
2.3.4 测试串相等 34
2.4 数组 36
2.4.1 数组的定义 36
2.4.2 数组的建立 36
2.4.3 数组的初始化 38
2.4.4 数组的应用 38
2.5 运算符 42
2.5.1 算术运算符 42
2.5.2 关系运算符 42
2.5.3 逻辑运算符 44
2.5.4 位运算符 46
2.5.5 复杂赋值运算符 47
2.5.6 条件运算符 48
2.5.7 instanceof运算符 48
2.5.8 运算符优先级 48
2.6 控制语句 49
2.6.1 块作用域 50
2.6.2 if语句 50
2.6.3 switch语句 51
2.6.4 循环控制 52
2.6.5 流程控制 54
2.7 Java编程规范 57
2.7.1 Java命名约定 57
2.7.2 Java注释约定 57
2.7.3 Java编码其他约定 58
2.8 Java语言基础实例——用switch语句判断学生成绩 58
2.9 小结与提高 59
2.10 思考与练习 60
第3章 对象和类 63
3.1 面向对象的概念 63
3.1.1 OOP的介绍 63
3.1.2 OOP的特点 64
3.2 对象 65
3.2.1 对象的创建 67
3.2.2 对象的使用 68
3.2.3 对象的撤销与清理 69
3.3 类 69
3.3.1 类的定义 70
3.3.2 类的结构 71
3.3.3 类的成员变量 71
3.3.4 类的方法 75
3.4 类的组织 79
3.4.1 包 79
3.4.2 包和类的导入 82
3.4.3 this和super的使用 83
3.5 对象和类实例——体会访问控制修饰符的作用 84
3.6 小结与提高 90
3.7 思考与练习 91
第4章 继承与多态 93
4.1 继承 93
4.2 继承的使用 94
4.2.1 属性和方法的继承 94
4.2.2 动态绑定 95
4.3 继承的实现 96
4.3.1 子类的定义 96
4.3.2 域的继承与隐藏 99
4.3.3 方法的继承与覆盖 102
4.4 如何防止继承 104
4.5 强制类型转换 105
4.5.1 类型强制转换 105
4.5.2 隐式与显式的类型强制转换 106
4.6 多态 107
4.6.1 多态性的概念 107
4.6.2 覆盖实现多态性 107
4.6.3 重载实现多态性 109
4.7 Object类 111
4.7.1 toString()方法和equals()方法 111
4.7.2 Object与其他类型的转换 118
4.8 继承与多态实例——类继承中的实例对象的构造顺序 119
4.9 小结与提高 120
4.10 思考与练习 120
第5章 面向对象的高级特性 122
5.1 接口 122
5.1.1 接口的定义 122
5.1.2 接口的实现 123
5.1.3 接口中的变量 125
5.1.4 Comparable接口 126
5.1.5 回调 129
5.1.6 接口的扩展 131
5.2 内部类 132
5.2.1 内部类的介绍 132
5.2.2 内部类的使用 133
5.3 抽象类 135
5.3.1 抽象类的概念 135
5.3.2 接口和抽象类 137
5.4 面向对象的高级特性实例——通过实现多个接口来实现多继承 140
5.5 小结与提高 144
5.6 思考与练习 144
第6章 异常处理 146
6.1 程序错误与处理 146
6.1.1 程序错误、发现时刻及错误处理原则 146
6.1.2 Java的错误和异常 146
6.2 Java的异常处理 147
6.2.1 异常类说明 147
6.2.2 错误分类 149
6.2.3 异常处理机制 150
6.2.4 异常处理语句 150
6.2.5 声明异常 154
6.2.6 抛出异常 155
6.2.7 自定义异常类 158
6.3 异常处理实例——自定义异常 160
6.4 小结与提高 161
6.5 思考与练习 162
第7章 多线程 164
7.1 操作系统中的进程和线程 164
7.1.1 进程 164
7.1.2 线程 165
7.2 Java的线程对象 166
7.2.1 Java的线程机制 166
7.2.2 线程对象的生命周期 175
7.3 线程的同步与通信 177
7.3.1 线程同步 177
7.3.2 线程通信 178
7.3.3 死锁 181
7.4 多线程实例——Java中线程的调度方式 182
7.5 小结与提高 186
7.6 思考与练习 186
第8章 网络通信 188
8.1 网络通信概述 188
8.2 URL和URLConnection 192
8.3 TCP服务器/客户端Socket 196
8.3.1 服务器端ServerSocket 196
8.3.2 客户端Socket 197
8.3.3 实例 200
8.4 UDP服务器/客户端Datagram 202
8.4.1 DatagramPacket 202
8.4.2 DatagramSocket 203
8.5 网络通信实例——利用URL对象获得任意指定的URL的信息 203
8.6 小结与提高 206
8.7 思考与练习 206
第9章 图形用户界面 208
9.1 Java图形用户界面初步介绍 208
9.1.1 Java图形用户界面概述 209
9.1.2 AWT图形用户界面组件概述 211
9.2 事件处理 214
9.2.1 AWT授权事件模型 214
9.2.2 AWTEvent事件类 214
9.2.3 事件监听器接口和事件适配器类 215
9.3 布局管理 218
9.3.1 布局管理器概述 218
9.3.2 布局管理器类 219
9.4 Swing组件 224
9.4.1 Swing组件关系概述 225
9.4.2 文本域 225
9.4.3 按钮组件 225
9.4.4 组合框 227
9.5 图形设计 227
9.5.1 绘图类(Graphics类) 227
9.5.2 在组件上绘图 229
9.6 创建Applet程序 231
9.6.1 什么是Applet 231
9.6.2 Applet的生命周期 233
9.6.3 Applet与Application 235
9.7 图形用户界面实例——Swing中常用组件的使用 235
9.8 小结与提高 237
9.9 思考与练习 237
第10章 输入/输出流和文件操作 239
10.1 文件和流的概念 239
10.1.1 操作系统中的文件和目录概念 239
10.1.2 程序设计语言中的文件类型 241
10.1.3 流的概念 241
10.1.4 Java的输入/输出流与文件操作概述 242
10.2 字节输入/输出流类 242
10.2.1 字节输入流类InputStream 242
10.2.2 字节输出流类OutputStream 243
10.2.3 Java的标准输入/输出 243
10.2.4 文件字节输入/输出流类 243
10.2.5 数据字节输入/输出流类 245
10.2.6 对象输入/输出流类 246
10.3 字符输入/输出流类 247
10.3.1 字符输入/出流抽象类 247
10.3.2 文件字符输入/输出流类 249
10.3.3 字符缓冲流类 250
10.4 文件操作类 252
10.4.1 文件类 252
10.4.2 文件过滤器接口 254
10.4.3 随机存取文件类 255
10.5 管道流 256
10.6 输入/输出流和文件操作实例——编写统计文件数的程序 256
10.7 小结与提高 259
10.8 思考与练习 259
第11章 数据库应用 261
11.1 关系数据库系统 261
11.1.1 数据库系统 261
11.1.2 数据库管理系统 262
11.1.3 关系模型 263
11.1.4 关系数据库系统 265
11.1.5 Access数据库 265
11.1.6 SQL Server数据库 265
11.2 结构化查询语言SQL 267
11.2.1 SQL概述 267
11.2.2 SQL的基本内容 268
11.3 JDBC 271
11.3.1 JDBC的用途 271
11.3.2 JDBC驱动程序的类型 271
11.3.3 JDBC API介绍 272
11.3.4 JDBC API工具 273
11.3.5 连接数据库 275
11.4 JDBC高级操作 277
11.4.1 PreparedStatement接口 277
11.4.2 使用事务控制 279
11.4.3 存储过程 280
11.5 数据库应用实例——创建与删除数据库中的表 282
11.6 小结与提高 284
11.7 思考与练习 285
第12章 JSP技术 286
12.1 Servlet技术概述 286
12.2 JSP技术概述 288
12.2.1 JSP运行环境简介 288
12.2.2 用JSP开发Web的几种主要方式 288
12.2.3 JSP容器 289
12.2.4 Tomcat 289
12.3 JSP语法 290
12.3.1 JSP语法规则 290
12.3.2 JSP隐含对象 291
12.3.3 JSP编译指示 293
12.3.4 脚本元素 296
12.3.5 JavaBeans 297
12.4 JSP技术实例——HTTP连接与浏览 304
12.5 小结与提高 305
12.6 思考与练习 305
主要参考文献 307