第1篇 Java程序设计基础第1章 Java语言简介 3
1.1 Java的历史 3
1.2 Java的特点 4
1.3 简单的Java程序介绍 6
1.4 Java程序的上机步骤 7
习题1 8
第2章 Java编程基础 9
2.1 标识符与关键字 9
2.2 变量与基本数据类型 10
2.2.1 变量定义与赋值 10
2.2.2 逻辑型数据 11
2.2.3 字符型数据 11
2.2.4 整型数据 12
2.2.5 浮点型数据 13
2.3 运算符和表达式 13
2.3.1 算术运算符和算术表达式 13
2.3.2 赋值运算符和赋值表达式 14
2.3.3 增量和减量运算符 15
2.3.4 关系运算符和关系表达式 16
2.3.5 逻辑运算符和逻辑表达式 16
2.3.6 位运算符 18
2.3.7 条件运算符和条件表达式 20
2.3.8 表达式中的类型转换 21
2.3.9 运算符的优先级与结合性总结 22
2.4 控制台输入/输出 23
2.4.1 数据输出 23
2.4.2 数据输入 31
2.5 程序控制语句 33
2.5.1 Java语句概述 33
2.5.2 if条件语句 34
2.5.3 switch分支语句 35
2.5.4 while循环语句 37
2.5.5 do-while循环语句 38
2.5.6 for循环语句 39
2.5.7 for-each循环语句 40
2.5.8 循环嵌套 41
2.5.9 break语句 41
2.5.10 continue语句 43
习题2 44
第2篇 面向对象分析与设计第3章 面向对象技术概述 49
3.1 面向对象的基本概念 49
3.1.1 对象的本质特征 49
3.1.2 面向对象技术的起源 50
3.1.3 面向对象的概念定义 52
3.2 统一建模语言(UML) 52
3.2.1 UML的演化 53
3.2.2 UML的构成 53
3.2.3 UML的视图 55
3.3 统一过程(RUP) 55
3.3.1 统一过程(RUP)的特点 55
3.3.2 统一过程(RUP)的发展阶段 57
3.3.3 统一过程(RUP)的核心工作流 57
3.3.4 统一过程(RUP)常用的迭代策略 59
3.4 UML 2.0的新特点 60
3.5 IBM Rational建模工具软件 61
习题3 61
第4章 用例图 62
4.1 用例图概述 62
4.2 用例图中的标记符元素 62
4.2.1 主体 63
4.2.2 参与者 63
4.2.3 用例 64
4.2.4 用例之间的关系 65
4.3 建立用例模型 67
4.3.1 问题描述 67
4.3.2 确定参与者 67
4.3.3 确定用例 68
4.3.4 用例描述 69
4.3.5 检查用例模型 73
习题4 74
第5章 序列图和通信图 75
5.1 交互图概述 75
5.2 序列图基本元素 75
5.2.1 生命线 76
5.2.2 消息 76
5.2.3 控制焦点 78
5.3 组合片段 78
5.3.1 alt和opt操作符 79
5.3.2 loop和break操作符 80
5.3.3 par操作符 81
5.4 交互引用 81
5.5 门 83
5.6 注释和约束 84
5.7 状态常量 84
5.8 建立序列图的步骤 84
5.9 通信图基本元素 86
5.10 建立通信图的步骤 88
习题5 89
第6章 类图和对象图 90
6.1 类图概述 90
6.2 类符号 90
6.2.1 类的属性 91
6.2.2 类的操作 92
6.2.3 静态限定 93
6.2.4 抽象限定 94
6.3 接口符号 94
6.4 类之间的关系 95
6.4.1 关联关系 95
6.4.2 泛化关系 98
6.4.3 依赖关系 99
6.4.4 实现关系 100
6.5 建立类图 100
6.5.1 确定类的方法 100
6.5.2 建立类图的步骤 103
6.6 对象图 105
习题6 105
第7章 活动图和交互概况图 106
7.1 活动图概述 106
7.2 活动图基本元素 106
7.2.1 动作节点 107
7.2.2 控制节点 108
7.2.3 对象节点 110
7.2.4 活动分区 111
7.3 交互概况图 112
习题7 113
第8章 状态机图 114
8.1 状态机图概述 114
8.2 状态机图基本元素 114
8.2.1 状态 114
8.2.2 转换 115
8.2.3 事件 116
8.3 复合状态 117
8.4 子机状态 118
8.5 历史状态 119
习题8 120
第9章 复合结构图和组件图 121
9.1 概述 121
9.2 复合结构图基本元素 121
9.2.1 部件 122
9.2.2 连接器 122
9.2.3 端口 122
9.3 协作 123
9.4 组件图基本元素 124
9.4.1 组件 125
9.4.2 接口 125
9.4.3 工件 127
习题9 127
第10章 包图 128
10.1 包图概述 128
10.2 包 128
10.3 包之间的关系 129
10.3.1 依赖关系 129
10.3.2 泛化关系 130
习题10 130
第11章 时序图 131
11.1 时序图概述 131
11.2 时序图基本元素 131
习题11 132
第12章 部署图 133
12.1 部署图概述 133
12.2 部署图基本元素 133
12.2.1 节点 134
12.2.2 工件 134
12.2.3 关系 135
习题12 136
第3篇 Java面向对象程序设计第13章 类和对象 139
13.1 声明Java类 139
13.2 声明与访问对象 141
13.3 信息隐藏与封装 144
13.4 构造器 145
13.5 this关键字 147
13.6 垃圾回收与finalize方法 149
13.7 参数传递 149
13.8 static关键字 155
13.8.1 静态变量 155
13.8.2 静态方法 157
13.8.3 静态初始化块 158
13.9 包 158
13.9.1 Java源文件布局 159
13.9.2 定义包 160
13.9.3 导入包 160
13.9.4 类路径 161
13.9.5 包作用域 163
习题13 163
第14章 数组 164
14.1 声明数组 164
14.2 创建数组 165
14.3 初始化数组 167
14.4 多维数组 167
14.5 不规则数组 169
14.6 复制数组 170
14.7 变长参数 172
习题14 172
第15章 字符串 174
15.1 创建字符串 174
15.2 代码点 175
15.3 字符串加法 177
15.4 字符串截取 178
15.5 字符串比较 180
15.6 字符串搜索 184
15.7 StringBuffer类 187
15.7.1 构造器 187
15.7.2 长度和容量 187
15.7.3 插入操作 188
15.7.4 删除操作 189
15.7.5 修改操作 190
15.8 StringBuilder类 191
15.9 命令行参数 191
习题15 192
第16章 继承与多态 193
16.1 继承 193
16.2 super关键字 194
16.3 多态 196
16.4 重写 198
16.5 重载 199
16.6 抽象类 201
16.7 final关键字 202
16.8 Object类 202
16.9 自动装箱 205
习题16 206
第17章 接口、内部类与枚举 207
17.1 接口 207
17.1.1 接口定义 207
17.1.2 接口实现 208
17.2 内部类 210
17.2.1 普通内部类 210
17.2.2 局部内部类 211
17.2.3 匿名内部类 212
17.2.4 静态内部类 213
17.3 枚举 214
习题17 217
第18章 异常处理 218
18.1 异常及其种类 218
18.2 捕获异常 219
18.2.1 try/catch语句 219
18.2.2 捕获多个异常 220
18.2.3 嵌套的try语句 222
18.2.4 finally子句 222
18.3 抛出异常 224
18.4 声明异常 225
18.5 自定义异常 226
18.6 链式异常 227
习题18 228
第19章 I/O流与文件 229
19.1 流的概念 229
19.2 字节流与字符流 229
19.2.1 InputStream 229
19.2.2 OutputStream 230
19.2.3 Reader和Writer 231
19.3 过滤流 234
19.4 随机访问文件 237
19.5 对象序列化 238
19.6 文件管理 240
习题19 241
第20章 图形用户界面设计 242
20.1 容器 242
20.1.1 框架 242
20.1.2 面板 244
20.2 绘制图形 246
20.2.1 图形对象 246
20.2.2 设置颜色 248
20.2.3 设置字体 250
20.2.4 加载图像 251
20.3 布局管理器 252
20.3.1 FlowLayout 253
20.3.2 BorderLayout 254
20.3.3 GridLayout 256
20.3.4 GridBagLayout 257
20.3.5 CardLayout 260
20.4 事件处理机制 261
20.4.1 事件处理模型 261
20.4.2 事件分类 264
20.4.3 事件适配器 267
20.5 GUI组件 268
20.5.1 文本组件 268
20.5.2 选择组件 273
20.5.3 菜单 284
20.5.4 工具栏 289
20.5.5 对话框 292
习题20 297
第21章 Java applet 298
21.1 applet基础 298
21.2 applet的生命周期 298
21.3 编写applet 299
21.4 applet标记 300
21.5 常用applet方法 304
习题21 306
第22章 多线程 307
22.1 线程的概念 307
22.2 线程的建立 308
22.2.1 继承Thread类 308
22.2.2 实现Runnable接口 309
22.3 线程的同步 311
22.3.1 同步语句块 312
22.3.2 同步方法 314
22.4 线程的交互 314
22.5 线程的优先级 318
22.6 线程的生命周期 318
习题22 319
第23章 网络编程 320
23.1 统一资源定位符(URL) 320
23.2 TCP Socket通信 323
23.3 UDP Socket通信 326
习题23 328
第24章 泛型 329
24.1 泛型类 329
24.2 泛型方法 331
24.3 泛型接口 332
24.4 类型参数的界限 333
24.5 通配符类型参数 334
24.6 泛型的约束 335
习题24 335
第4篇 Java与UML协同应用开发第25章 手机拍照程序开发 339
25.1 需求分析 339
25.2 用例图 339
25.3 状态机图 340
25.4 类图 341
25.5 序列图 344
25.6 正向工程 345
25.7 Java代码实现 347
习题25 356
参考文献 357