第1章 面向对象开发方法 1
1.1 面向对象软件开发方法介绍 1
1.1.1 结构化软件开发方法介绍 1
1.1.2 面向对象软件开发方法简介 2
1.2 面向对象的基本概念 3
1.3 UML语言简介 7
思考题 9
第2章 Java基础 10
2.1 Java语言概述 10
2.1.1 Java语言对软件开发技术的影响 10
2.1.2 Java语言的应用前景 10
2.1.3 Java语言特点 11
2.1.4 Java Applet 13
2.1.5 类库 13
2.2 安装并配置Java平台 15
2.2.1 Java平台概述 15
2.2.2 Java平台的安装 16
2.3 Java Application程序范例 22
2.3.1 编辑源程序 22
2.3.2 编译源程序 23
2.3.3 字节码的解释与运行 23
2.4 集成开发环境 24
思考题 27
第3章 Java语言基础 28
3.1 常量与变量 28
3.1.1 常量 28
3.1.2 变量 29
3.2 Java程序的构成 29
3.2.1 分隔符 30
3.2.2 注释 31
3.2.3 关键词 31
3.2.4 标识符 32
3.3 运算符 32
3.3.1 算术运算 32
3.3.2 关系运算 34
3.3.3 逻辑运算 34
3.3.4 位运算 35
3.3.5 类型转换 36
3.3.6 其他运算符 37
3.3.7 运算符的优先级 39
3.4 表达式、语句、程序块 40
3.4.1 表达式 40
3.4.2 语句 41
3.4.3 程序块 41
3.5 基本数据类型 42
3.5.1 整数类型 42
3.5.2 浮点类型 43
3.5.3 字符类型 43
3.5.4 布尔类型 43
3.6 流程控制 44
3.6.1 选择结构 44
3.6.2 循环结构 47
3.6.3 跳转语句 49
思考题 51
第4章 类与对象 53
4.1 类 53
4.1.1 类声明和定义 53
4.1.2 方法定义和构造函数 57
4.1.3 形参和实参 59
4.1.4 类应用 61
4.2 对象 63
4.2.1 创建对象 63
4.2.2 使用对象 66
4.3 嵌套类 67
4.3.1 嵌套类定义 67
4.3.2 嵌套类意义 67
4.3.3 静态嵌套类 68
4.3.4 内部类 68
4.3.5 内部类实例 68
思考题 69
第5章 接口与继承 70
5.1 接口 70
5.1.1 Java接口概述 70
5.1.2 Java接口定义 71
5.1.3 Java接口类型 73
5.1.4 Java接口覆盖 73
5.2 继承 74
5.2.1 Java继承概述 74
5.2.2 父类私有成员访问 76
5.2.3 对象转换 76
5.2.4 覆盖和隐藏 77
5.2.5 多态 79
5.2.6 Object超类 80
5.3 类和方法 82
5.3.1 final类和方法 82
5.3.2 抽象类和方法 82
思考题 84
第6章 数字与字符串 85
6.1 数字 85
6.1.1 数字类 85
6.1.2 Math类的常量和方法 87
6.2 字符及字符串 89
6.2.1 字符 89
6.2.2 字符串 90
6.2.3 String对象 90
6.2.4 字符串的访问 92
6.2.5 字符串的修改 93
6.2.6 字符串与数字的转换 95
6.2.7 字符串的比较 97
6.2.8 StringBuffer类 101
6.2.9 StringBuilder类 103
思考题 103
第7章 泛型与包 104
7.1 泛型 104
7.1.1 泛型概述 104
7.1.2 规则 105
7.1.3 泛型应用 105
7.1.4 通配符 111
7.2 包 113
7.2.1 包概述 114
7.2.2 包命名 116
7.2.3 包成员引入 116
7.2.4 包的层次结构 117
7.2.5 不同包中相同成员 117
7.2.6 静态import 117
7.2.7 系统默认包java.lang 118
思考题 123
第8章 异常 124
8.1 异常基础知识 124
8.1.1 异常概述 124
8.1.2 异常处理 128
8.1.3 异常分类 128
8.2 捕获和处理异常 130
8.2.1 try模块 131
8.2.2 catch模块 132
8.2.3 finally模块 132
8.2.4 try-catch-finally程序块的执行流程以及执行结果 133
8.3 声明抛出异常 134
8.3.1 throws抛出异常 134
8.3.2 throw和throws的区别 136
思考题 137
第9章 输入输出和文件 139
9.1 字符集编码 139
9.1.1 常用字符集 139
9.1.2 Java对字符的处理 140
9.2 输入/输出流 142
9.2.1 流的概念 142
9.2.2 Java的标准输入/输出 142
9.2.3 java.io包中的流 143
9.2.4 字节流 143
9.2.5 字符流 146
9.2.6 字节流和字符流转换 148
9.2.7 BufferedReader和BufferedWriter 151
9.2.8 面向行的I/O 152
9.2.9 数据流 153
9.2.10 对象流及序列化 155
9.2.11 Java输入输出的使用原则 158
9.3 文件 159
9.3.1 文件路径 159
9.3.2 文件操作 159
9.3.3 文件读写 162
思考题 165
第10章 并发 167
10.1 处理器和线程 167
10.1.1 处理器 167
10.1.2 线程 167
10.2 多线程 168
10.2.1 线程的创建 168
10.2.2 Sleep暂停执行 170
10.2.3 中断Interrupts 171
10.2.4 线程状态转换 172
10.3 同步 173
10.3.1 线程的干扰 173
10.3.2 内存一致性错误 175
10.3.3 同步方法 175
10.3.4 内部锁与同步块 176
10.3.5 wait()、notify()和notifyAll() 177
10.3.6 原子操作 178
10.3.7 死锁 178
10.3.8 活锁 179
10.4 线程调度 179
10.4.1 休眠 179
10.4.2 优先级 180
10.4.3 让步 181
10.4.4 合并 182
10.4.5 守护线程 183
思考题 184
第11章 平台环境 186
11.1 配置工具 186
11.1.1 属性集 186
11.1.2 命令行参数 189
11.2 系统配置 190
11.2.1 命令行I/O对象 190
11.2.2 系统属性 191
思考题 192
第12章 Java集合 193
12.1 集合框架 193
12.2 接口与实现 194
12.2.1 Collection接口 194
12.2.2 List接口 196
12.2.3 Queue接口 199
12.2.4 Set接口 199
12.2.5 Map接口 201
12.2.6 Iterator接口 203
12.2.7 Comparable接口和Comparator接口 204
12.3 算法 206
12.3.1 排序 206
12.3.2 混排 207
12.3.3 数据操作 208
12.3.4 搜索 210
12.3.5 取极值 210
思考题 211
第13章 Swing组件 212
13.1 Swing概要 212
13.1.1 JFC简介 212
13.1.2 Swing历史 213
13.1.3 Swing特点 213
13.1.4 Swing包 214
13.2 Swing程序结构 214
13.3 Swing组件和容器 215
13.3.1 高级容器 216
13.3.2 JComponent类 218
13.3.3 文本组件 219
13.3.4 按钮组件 221
13.3.5 面板(JPanel) 222
13.3.6 滚动窗口(JScrollPane) 224
13.3.7 列表(JList) 225
13.3.8 组合框(JcomboBox) 226
13.3.9 菜单(JMenu) 227
13.3.10 对话框(JDialog) 230
13.3.11 表格(JTable) 231
13.3.12 提醒工具(tool tips) 231
13.3.13 边框(Borders) 232
13.3.14 布局管理 234
思考题 237
第14章 网络编程基础 238
14.1 InetAddress 238
14.1.1 InetAddress简介 238
14.1.2 创建InetAddress对象的方法 239
14.1.3 InetAddress对象常用方法 240
14.2 URL 242
14.2.1 URL介绍 242
14.2.2 URL组成 242
14.2.3 创建URL对象 242
14.2.4 获取URL对象的属性 243
14.2.5 从URL读取网页 245
14.3 URLConnection 246
14.3.1 URLConnection定义 246
14.3.2 URLConnection对象的连接 246
14.3.3 从URLConnection对象读取数据 247
14.4 TCP/UDP协议 247
14.4.1 TCP协议 248
14.4.2 UDP协议 248
14.5 Socket套接字 248
14.5.1 Socket概述 248
14.5.2 Socket通信机制 249
14.5.3 Socket类和ServerSocket类 249
14.5.4 简单的Client/Server程序设计 250
思考题 253
附录 英文缩略词 255
参考文献 256