第1章 引言 1
1.1 Java语言的起源 1
1.1.1 Java发展历程 1
1.1.2 Java版本划分 2
1.2 Java语言的特点 2
1.2.1 简单性 2
1.2.2 面向对象 3
1.2.3 平台无关性 3
1.2.4 分布式 3
1.2.5 安全稳定 4
1.2.6 支持多线程 4
1.2.7 内存垃圾自动回收 5
1.3 Java的开发环境 5
1.3.1 JDK 5
1.3.2 MyEclipse 8
1.3.3 Java的编码规范 14
1.4 Java程序的结构 14
1.5 本章小结 16
习题1 16
第2章 Java基本程序结构 17
2.1 Java符号集 17
2.1.1 标识符及其命名规则 17
2.1.2 关键字 18
2.1.3 注释 18
2.1.4 分隔符 19
2.2 数据类型 19
2.2.1 基本数据类型 20
2.2.2 引用数据类型 21
2.2.3 数据类型的转换 21
2.3 变量和常量 22
2.3.1 变量 22
2.3.2 常量 25
2.4 运算符与表达式 27
2.4.1 算术运算符 27
2.4.2 关系运算符 29
2.4.3 逻辑运算符 31
2.4.4 位运算符 32
2.4.5 赋值运算符 32
2.4.6 其他运算符 33
2.4.7 运算符的优先级和结合 34
2.5 数组和集合类 34
2.5.1 数组的声明 35
2.5.2 数组的初始化 35
2.5.3 数组的引用 37
2.5.4 多维数组 38
2.5.5 集合类 41
2.6 字符串 44
2.6.1 String类 45
2.6.2 StringBuffer类 50
2.6.3 StringBuilder类 52
2.7 流程控制 53
2.7.1 条件控制语句 53
2.7.2 循环控制语句 57
2.7.3 跳转语句 59
2.8 本章小结 61
习题2 61
第3章 对象和类 65
3.1 面向对象的基本概念 65
3.1.1 对象和类 65
3.1.2 数据抽象和封装 66
3.1.3 继承性 67
3.1.4 多态性 68
3.2 类 68
3.2.1 类的创建 68
3.2.2 类变量 69
3.2.3 类方法 71
3.2.4 构造方法 73
3.2.5 main方法 75
3.2.6 设计类的原则 75
3.3 对象 76
3.3.1 对象的创建 76
3.3.2 对象的使用 78
3.3.3 对象的回收 82
3.4 方法重载 83
3.4.1 普通方法的重载 83
3.4.2 构造方法的重载 84
3.4.3 向方法传递对象 85
3.5 this对象 87
3.6 信息隐藏 89
3.6.1 包 89
3.6.2 访问控制 91
3.7 static关键字 94
3.7.1 静态成员的使用 94
3.7.2 静态成员的初始化 95
3.8 嵌套类 97
3.9 本章小结 99
习题3 99
第4章 继承与多态 101
4.1 继承性 101
4.1.1 子类的创建 101
4.1.2 成员变量与方法的继承 103
4.1.3 super关键字的使用 105
4.1.4 多态性 107
4.2 final关键字 109
4.2.1 final数据 109
4.2.2 final方法 112
4.2.3 final类 113
4.3 类对象之间的类型转换 113
4.4 抽象类 114
4.5 接口 116
4.5.1 接口的定义 117
4.5.2 接口的实现和使用 117
4.5.3 接口中的变量 120
4.5.4 接口与抽象类 121
4.6 本章小结 121
习题4 121
第5章 异常处理 125
5.1 Java的异常处理机制 125
5.1.1 异常处理的概念 125
5.1.2 异常类的层次 127
5.2 异常处理的结构 128
5.2.1 try-catch语句块 128
5.2.2 try-catch-finally语句块 131
5.3 引发异常的环境和方法 133
5.3.1 throw语句的使用 133
5.3.2 throws语句的使用 135
5.4 定制异常 138
5.5 本章小结 140
习题5 140
第6章 输入和输出 141
6.1 概述 141
6.1.1 流的概念 141
6.1.2 I/O流类概述 141
6.2 字节数据流 142
6.2.1 字节输出流 142
6.2.2 字节输入流 144
6.3 字符数据流 147
6.4 其他流类 150
6.4.1 缓冲流 150
6.4.2 随机文件读写 151
6.5 本章小结 153
习题6 153
第7章 多线程程序设计 155
7.1 理解线程 155
7.1.1 什么是线程 155
7.1.2 进程与线程 155
7.1.3 线程的状态与生命周期 156
7.1.4 并发编程的优缺点 158
7.2 Java的基本线程 159
7.2.1 Thread的简介 159
7.2.2 创建线程(Thread) 160
7.2.3 创建线程(Runnable) 162
7.3 线程的基本操作 163
7.3.1 暂停线程 163
7.3.2 休眠线程 164
7.3.3 连接线程 166
7.3.4 守护线程 167
7.3.5 线程的优先级 169
7.4 线程的高级操作 171
7.4.1 线程间共享资源 171
7.4.2 死锁 175
7.4.3 停止线程的正确方法 179
7.4.4 打断受阻的线程 180
7.4.5 线程间协作 181
7.4.6 管道 185
7.5 本章小结 186
习题7 187
第8章 网络编程 188
8.1 URL通信 188
8.1.1 URL的概念 188
8.1.2 URL类 189
8.1.3 使用URLConnection类访问网络资源 192
8.2 Socket通信 194
8.2.1 Socket通信基础 194
8.2.2 Socket通信程序的开发 194
8.2.3 Socket通信与URL通信的区别 198
8.3 UDP通信 198
8.3.1 UDP通信基础 199
8.3.2 UDP通信程序的开发 199
8.4 本章小结 203
习题8 203
第9章 GUI编程与Applet小程序 204
9.1 图形用户接口概述 204
9.1.1 AWT简介 204
9.1.2 组件 205
9.1.3 容器 205
9.1.4 布局管理 206
9.1.5 GUI程序的结构 207
9.2 事件处理 208
9.2.1 事件处理模型 208
9.2.2 事件类 209
9.2.3 事件监听器 210
9.2.4 事件适配器 212
9.3 常用组件的使用 214
9.3.1 按钮与标签 214
9.3.2 文本框和文本区 216
9.3.3 选择型组件 219
9.3.4 Java窗口 221
9.4 Applet编程 222
9.4.1 Applet程序的基本结构 222
9.4.2 Applet类 224
9.4.3 Applet生命周期 225
9.4.4 HTML语言的applet标记 229
9.4.5 Applet参数的读取 230
9.4.6 Applet应用编程实例 231
9.5 本章小结 236
习题9 237
第10章 JDBC应用 238
10.1 JDBC概述 238
10.2 创建数据库连接 242
10.2.1 加载驱动程序 242
10.2.2 建立连接 242
10.2.3 关闭连接 244
10.3 数据源操作程序设计 244
10.3.1 查询操作 245
10.3.2 更新操作 251
10.4 访问数据库元信息 255
10.5 JDBC操作其他类型数据库 260
10.6 本章小结 261
习题10 261
第11章 JSP技术基础 262
11.1 JSP技术概述 262
11.1.1 JSP简介 263
11.1.2 JSP的运行环境配置 263
11.1.3 JSP文件基本结构 267
11.2 JSP语法 268
11.2.1 JSP声明语法 268
11.2.2 程序段 272
11.2.3 表达式 274
11.2.4 JSP中的注释 274
11.2.5 JSP指令标签 275
11.3 JSP内置对象 279
11.3.1 request对象 279
11.3.2 response对象 283
11.3.3 out对象 284
11.3.4 session对象 286
11.3.5 application对象 288
11.3.6 其他内置对象 289
11.4 JSP标准动作 291
11.4.1 include动作标签 291
11.4.2 forward动作标签 292
11.4.3 useBean动作标签 294
11.5 本章小结 300
习题11 300
附录A Java编程规则 301
A.1 应用范围 301
A.2 设计类和方法 301
A.2.1 创建具有很强内聚力的类 301
A.2.2 创建松散连接和高度专用的方法 301
A.2.3 编程原则 302
A.3 命名约定 303
A.3.1 包、类及方法命名 303
A.3.2 其他 304
A.4 使用常量 305
A.5 变量 305
A.5.1 定义有焦点的变量 305
A.5.2 只对常用变量名和长变量名进行缩写 305
参考文献 309