第1章 Java语言概述 1
1.1 Java的发展历史和特点 1
1.1.1 Java的发展历史 1
1.1.2 Java的特点 1
1.2 Java的运行环境 2
1.2.1 安装Java编译器 2
1.2.2 配置运行环境 3
1.3 第一个Java程序 4
1.3.1 Java源程序 4
1.3.2 Java程序的结构 4
1.3.3 EditPlus编辑器 5
课后习题 5
第2章 Java编程基础 6
2.1 标识符 6
2.1.1 关键字 6
2.1.2 用户自定义标识符 7
2.1.3 标识符的命名规范 7
2.2 Java的数据类型 7
2.2.1 Java的基本数据类型 7
2.2.2 Java的引用数据类型 8
2.3 常量与变量 8
2.3.1 常量 8
2.3.2 变量 9
2.4 运算符和表达式 10
2.4.1 基本运算符 10
2.4.2 三目运算符 11
2.4.3 关系运算符 11
2.4.4 逻辑运算符 12
2.5 程序逻辑控制 12
2.5.1 顺序程序结构 12
2.5.2 分支条件语句 12
2.5.3 循环条件语句 15
2.6 数组的初步使用 18
2.6.1 一维数组的定义与使用 18
2.6.2 二维数组的定义与使用 19
课后习题 21
第3章 类与对象 22
3.1 面向对象程序设计 23
3.1.1 面向对象程序设计
的要素 23
3.1.2 面向对象程序设计
的特性 24
3.1.3 初步认识类和对象 25
3.1.4 面向对象程序设计思路 25
3.2 类的定义和实例化对象 26
3.2.1 类的定义格式 26
3.2.2 对象的定义与使用 28
3.2.3 对象引用的初步分析 30
3.2.4 封装性分析 34
3.3 方法的定义 35
3.3.1 方法定义的格式 35
3.3.2 确定方法所实现的功能 36
3.3.3 设置器setter和
获取器getter 37
3.3.4 参数的传递 38
3.3.5 方法的重载 39
3.4 构造方法 40
3.4.1 构造方法的定义 40
3.4.2 构造方法的使用 40
3.4.3 匿名对象 43
3.5 this关键字 45
3.5.1 this关键字的含义 45
3.5.2 this关键字的使用方法 47
3.6 static关键字 50
3.6.1 static定义方法 50
3.6.2 static定义属性 52
3.6.3 main()方法 53
3.6.4 static的应用——单例设计
(Singleton)模式 54
3.7 字符串 57
3.7.1 字符串String的实例化
对象 57
3.7.2 String字符串常见方法
的使用 59
3.7.3 StringBuffer类及使用 61
3.8 对象数组 62
3.9 应用实例——链表的设计 64
课后习题 69
第4章 继承与多态性 71
4.1 继承的定义与实现 71
4.1.1 继承的引入 72
4.1.2 继承的语法 73
4.1.3 继承关系的对象实例化
过程(super关键字) 75
4.1.4 继承的限制 78
4.2 重写技术 80
4.2.1 方法的重写 80
4.2.2 final关键字 82
4.3 抽象类 84
4.3.1 抽象类的产生 84
4.3.2 抽象类的定义与特点 85
4.3.3 抽象类的使用 86
4.3.4 多态性 88
4.4 接口 91
4.4.1 接口的定义 91
4.4.2 接口的实现 92
4.4.3 接口与多态性 93
4.5 Object类 95
4.5.1 Object类概述 95
4.5.2 equals()方法和toString()
方法的重写 95
4.5.3 instanceof运算符 97
4.6 基本类型类 97
4.6.1 基本类型类的包装类 97
4.6.2 装箱与拆箱 98
4.6.3 数据类型转换 99
4.7 内部类 101
4.7.1 成员内部类 101
4.7.2 匿名内部类 102
4.8 包 103
4.8.1 包的定义 103
4.8.2 包的使用 106
4.8.3 常用系统包 107
4.8.4 创建JAR包 108
4.9 应用实例——宠物商店 108
课后习题 114
第5章 异 常 115
5.1 异常概述 115
5.1.1 异常的产生 115
5.1.2 标准异常类 116
5.2 异常的处理 118
5.2.1 异常的捕获与处理 118
5.2.2 异常的处理语句结构 118
5.2.3 Exception和Runtime
Exception 122
5.2.4 throw和throws 123
5.3 自定义异常 124
5.4 应用实例——计算机故障处理 125
课后习题 127
第6章 泛 型 128
6.1 泛型概述 128
6.1.1 泛型的引出 128
6.1.2 泛型通配符 131
6.2 泛型的使用 133
6.2.1 泛型接口 133
6.2.2 泛型方法 134
6.3 应用实例——在书包中装书或者
计算机 134
课后习题 135
第7章 Java常用类及开发工具 136
7.1 时间日期类 136
7.1.1 System类 136
7.1.2 Date类和Calendar类 137
7.1.3 DateFormat和SimpleDate
Format 139
7.2 数学函数类 141
7.2.1 Math类 141
7.2.2 Random类 142
7.3 正则表达式 143
7.3.1 正则表达式的引出 143
7.3.2 正则表达式的标记 144
7.3.3 正则表达式在String中
的使用 146
7.3.4 Pattern类和Matcher类 149
7.4 Comparable接口和Comparator
接口 150
7.5 Eclipse开发工具 153
7.5.1 Eclipse界面 153
7.5.2 Eclipse的基本使用
方法 154
7.5.3 Eclipse的快捷功能 156
7.6 应用实例——邮件合法性的
验证 156
课后习题 157
第8章 多 线 程 158
8.1 多线程概述 158
8.1.1 进程与线程 158
8.1.2 线程的执行流程 159
8.2 多线程的创建 160
8.2.1 继承Thread类 160
8.2.2 实现Runnable接口 161
8.2.3 两种方法的比较 162
8.3 线程的状态 162
8.4 常用线程方法 163
8.5 多线程的同步与互斥 165
8.5.1 临界资源引发的问题 165
8.5.2 线程的互斥 166
8.5.3 使用Lock解决互斥 169
8.5.4 多线程间的通信问题 171
8.6 应用实例——多生产者与
多消费者问题 173
课后习题 176
第9章 集 合 177
9.1 集合概述 177
9.1.1 集合的引出 177
9.1.2 集合框架设计 178
9.1.3 集合的分类 179
9.2 Collection接口和Iterator
接口 179
9.2.1 Collection接口 179
9.2.2 Iterator接口 180
9.3 List接口及其实现类 182
9.3.1 List接口 182
9.3.2 ArrayList类 183
9.3.3 LinkedList类 185
9.4 Set接口及其实现类 187
9.4.1 Set接口 187
9.4.2 HashSet类 187
9.4.3 TreeSet类 188
9.5 Properties类 190
9.6 应用实例——二叉树的实现 192
课后习题 195
第10章 Java I/O技术 196
10.1 文件操作 196
10.1.1 文件操作类 196
10.1.2 文件列表和文件
类型过滤 199
10.2 字节流 200
10.2.1 流的引入 200
10.2.2 FileInputStream类 201
10.2.3 FileOutpuStream类 203
10.3 字符流 205
10.3.1 字符输入流
FileReader类 205
10.3.2 字符输出流
FileWriter类 207
10.3.3 字符缓冲流的使用 209
10.4 转换流 210
10.4.1 字符的编码与解码 210
10.4.2 InputStreamReader类和
OutputStreamWriter类 211
10.5 数据流和打印流 213
10.5.1 数据流 213
10.5.2 打印流 215
10.6 管道流 217
10.7 应用实例——文件的分割与
合并 219
课后习题 223
第11章 用户图形界面 224
11.1 图形开发界面概述 224
11.1.1 AWT组件 224
11.1.2 Swing组件 226
11.1.3 布局管理 227
11.2 事件处理机制 230
11.2.1 事件监听机制 230
11.2.2 动作事件处理 233
11.2.3 窗体事件处理 234
11.2.4 鼠标事件处理 237
11.2.5 键盘事件处理 238
11.3 对话框 240
11.3.1 自定义对话框 240
11.3.2 系统对话框 242
11.4 应用实例——简单记事本
的开发 243
课后习题 247
第12章 网 络 编 程 249
12.1 网络编程的要素概述 249
12.1.1 网络IP和域名 249
12.1.2 网络协议与端口 249
12.2 基于TCP的网络编程 250
12.2.1 InetAddress类 250
12.2.2 Socket类和
ServerSocket类 251
12.2.3 简单Socket编程 251
12.2.4 多线程Socket编程 255
12.3 基于UDP的网络编程 260
12.3.1 DatagramPacket和
DatagramSocket 260
12.3.2 简单数据报编程 262
12.4 应用实例——简单网络
聊天室开发 263
课后习题 276