第1章 Java语言概述 1
1.1 程序设计语言 1
1.1.1 机器语言 1
1.1.2 汇编语言 2
1.1.3 高级语言 2
1.2 面向对象的软件开发概述 2
1.2.1 对象、类和消息 2
1.2.2 封装性、继承性和多态性 3
1.3 Java语言概述 5
1.3.1 Java产生的历史 5
1.3.2 Java的现状与发展前景 6
1.3.3 Java语言的特点 6
1.3.4 应用程序类型和相关技术名词 9
1.4 Java的工作原理 11
1.4.1 Java虚拟机 11
1.4.2 内存自动回收机制 11
1.4.3 代码安全性检查机制 11
1.5 Java的运行环境JDK 12
1.5.1 Java平台 12
1.5.2 建立Java开发环境 12
1.5.3 开发工具简介 14
1.5.4 Java程序实例 14
1.6 Java语言与C/C++语言的不同 17
本章小结 17
习题 18
第2章 Java语言基础 19
2.1 标识符、保留字和注释 19
2.1.1 标识符 19
2.1.2 保留字 19
2.1.3 注释 20
2.2 数据类型 23
2.2.1 整数类型 24
2.2.2 浮点数据类型 24
2.2.3 字符型数据 25
2.2.4 字符串型String 25
2.2.5 布尔型数据 26
2.3 运算符与表达式 26
2.3.1 运算符 26
2.3.2 表达式 31
2.3.3 运算符的优先级和结合性 31
2.4 Java的常用输入输出 32
2.4.1 Java的标准输入输出 32
2.4.2 Java图形界面的输入输出 34
本章小结 35
习题 35
第3章 基本控制结构 36
3.1 顺序结构 36
3.2 选择结构 37
3.2.1 单分支选择结构 37
3.2.2 双分支选择结构 38
3.2.3 多分支选择结构 40
3.3 循环结构 44
3.3.1 while语句 44
3.3.2 do...while语句 45
3.3.3 for语句 46
3.3.4 循环跳转语句 49
本章小结 51
习题 51
第4章 数组、方法与字符串 54
4.1 数组 54
4.1.1 一维数组 54
4.1.2 多维数组 56
4.1.3 数组的基本操作 58
4.1.4 数组应用举例 59
4.1.5 数组参数 62
4.2 方法 64
4.2.1 方法声明 64
4.2.2 方法调用 65
4.2.3 参数传递 66
4.2.4 递归 67
4.3 字符串 69
4.3.1 字符数组与字符串 69
4.3.2 字符串 69
4.3.3 字符串操作 70
4.3.4 字符串数组 74
4.3.5 String,StringBuffer,StringBuilder区别 75
本章小结 75
习题 75
第5章 类和对象 78
5.1 面向对象的基本概念 78
5.1.1 对象和类 78
5.1.2 面向对象的基本特征 79
5.1.3 面向对象的Java程序 80
5.2 类 82
5.2.1 类的创建 83
5.2.2 成员变量 84
5.2.3 成员方法 85
5.2.4 构造方法 88
5.2.5 设计类的原则 90
5.3 对象 90
5.3.1 对象的创建 90
5.3.2 对象的使用 91
5.3.3 对象的回收 93
5.4 访问特性控制 93
5.5 类的静态成员 94
5.5.1 静态成员变量 94
5.5.2 静态成员方法 96
本章小结 97
习题 97
第6章 类的继承和多态 103
6.1 继承 103
6.1.1 父类和子类 103
6.1.2 继承的实现 104
6.1.3 super和this引用 109
6.2 多态性 112
6.2.1 方法重载 113
6.2.2 方法覆盖和隐藏 115
6.2.3 数据成员的隐藏 117
6.3 关键字final 118
6.3.1 final变量 118
6.3.2 final方法 119
6.3.3 final类 119
6.4 对象复制 120
6.5 内部类和匿名类 122
6.5.1 内部类 122
6.5.2 匿名类 124
本章小结 126
习题 126
第7章 接口、抽象类和包 129
7.1 接口 129
7.1.1 接口格式定义 130
7.1.2 接口的实现 131
7.1.3 接口类型及特点 133
7.2 抽象类 134
7.2.1 抽象方法 134
7.2.2 抽象类实现 134
7.2.3 抽象类和接口的比较 138
7.3 包 139
7.3.1 包的作用 140
7.3.2 包命名 141
7.3.3 包的使用 142
本章小结 145
习题 146
第8章 异常处理 148
8.1 Java异常概述 148
8.2 Java编程中的错误 149
8.3 异常与异常类 150
8.3.1 异常类结构与组成 150
8.3.2 系统定义的运行异常 151
8.3.3 用户自定义的异常 152
8.4 异常的抛出 153
8.4.1 系统自动抛出异常 153
8.4.2 语句抛出的异常 154
8.5 异常的处理 158
8.5.1 try...catch...finally块 158
8.5.2 多异常的处理 161
8.6 关于使用异常的几点建议 163
本章小结 163
习题 164
第9章 集合类 166
9.1 集合的概念 166
9.1.1 Java中的集合概述 166
9.1.2 Collection接口 167
9.2 Iterator接口及应用 169
9.3 Set接口及各个实现类 171
9.4 List接口及各个实现类 174
9.4.1 List接口的特点 174
9.4.2 ListIterator接口 175
9.4.3 LinkedList类和ArrayList类 175
9.4.4 LinkedList类 176
9.5 Map接口 178
9.5.1 Map的基本特性 178
9.5.2 Map.Entty接口 179
9.6 Collections类 180
9.7 综合案例 181
本章小结 188
习题 188
第10章 多线程 189
10.1 Java中的线程 189
10.1.1 线程的基本概念 189
10.1.2 Java的Thread类和Runnable接口 190
10.2 Java多线程并发程序 192
10.2.1 使用Thread类的子类 192
10.2.2 实现Runnable接口 196
10.3 线程的状态与调度 199
10.3.1 线程的生命周期 199
10.3.2 线程的优先级和调度 201
10.3.3 线程状态的改变 202
10.4 线程池 204
10.5 线程的同步 206
10.5.1 多线程的不同步 206
10.5.2 临界区和线程的同步 208
10.5.3 wait()方法和notify()方法 210
10.5.4 生产者-消费者问题 210
10.5.5 死锁 213
10.6 线程组 213
10.6.1 创建线程组 213
10.6.2 缺省线程组 213
10.6.3 线程组操作方法 214
本章小结 214
习题 215
第11章 图形用户界面设计 220
11.1 awt组件概述 220
11.1.1 容器 220
11.1.2 组件 220
11.2 布局管理 220
11.2.1 BorderLayout类 221
11.2.2 FlowLayout类 222
11.2.3 GridLayout类 223
11.3 事件处理 224
11.3.1 ActionEvent事件 224
11.3.2 ItemEvent事件 225
11.3.3 TextEvent事件 226
11.3.4 KeyEvent事件 227
11.3.5 MouseEvent事件 229
11.3.6 WindowEvent事件 234
11.4 绘图 235
11.4.1 路径类 240
11.4.2 点与线段类 242
11.4.3 矩形和圆角矩形 244
11.4.4 圆和椭圆 247
11.4.5 圆弧和扇形 248
本章小结 251
习题 251
第12章 Swing组件 253
12.1 Swing组件概述 253
12.2 窗口 254
12.3 标签 255
12.4 按钮 256
12.5 单选按钮和复选框 256
12.6 文本编辑组件 259
12.7 列表框和组合框 261
12.8 菜单 264
本章小结 270
习题 271
第13章 Applet程序 272
13.1 Applet简介 272
13.1.1 Applet类 273
13.1.2 Applet程序的运行过程 277
13.1.3 Applet程序的建立和运行 280
13.2 Applet程序举例 281
本章小结 285
习题 285
第14章 输入输出流 287
14.1 文件处理 287
14.1.1 文件的概念 287
14.1.2 File类 288
14.1.3 RandomAccessFile类 293
14.2 节点流 297
14.2.1 流概念的理解 297
14.2.2 InputStream和OutputStream 298
14.2.3 FileInputStream和FileOutPutStream 299
14.2.4 Reader和Writer 300
14.2.5 PipedInputStream与PipedOutputStream 301
14.2.6 ByteArrayInputStream与ByteArrayOutputStream 303
14.3 过滤流 305
14.3.1 理解包装类的概念与作用 305
14.3.2 BufferedInputStream和BufferedOutputStream 306
14.3.3 DataInputStream和DataOutputStream 306
14.3.4 PrintStream 308
14.3.5 BufferedReader和BufferedWriter 308
14.3.6 InputStreamReader和OutputStreamWriter字 310
14.3.7 字节流与字符流的转换 311
14.3.8 IO包中的类层次关系图 313
14.4 串行化和反串行化 314
本章小结 316
习题 317
第15章 数据库编程 320
15.1 数据库连接 320
15.1.1 JDBC简介 320
15.1.2 用JDBC-ODBC连接数据库 322
15.1.3 用JDBC专用驱动程序连接数据库 323
15.2 JDBC编程 328
15.2.1 JDBC专用类介绍 328
15.2.2 数据库编程实例 330
本章小结 334
习题 334
第16章 网络程序设计 336
16.1 概述 336
16.2 URL对象和InetAddress对象 337
16.3 TCP协议的服务器/客户端编程 341
16.3.1 什么是套接字 342
16.3.2 Socket类 342
16.3.3 ServerSocket类 346
16.4 远程方法调用RM 349
16.4.1 RMI简介 349
16.4.2 RMI远程接口 350
16.4.3 RMI服务器 351
16.4.4 RMI客户类 353
16.4.5 RMI的分布执行 357
16.5 数据报文 359
16.5.1 数据报通信 359
16.5.2 广播通信应用 364
16.6 Java Servlet简介 367
16.6.1 Servlet的特点 367
16.6.2 构建Servlet 367
16.6.3 Servlet应用 370
本章小结 371
习题 371
参考文献 375