第1章 Java语言概述 1
1.1 Java语言简介 1
1.1.1 Java语言的历史 1
1.1.2 Java语言的特点 4
1.1.3 Java语言的应用领域 5
1.2 Java程序结构 7
1.2.1 Java程序的类型 7
1.2.2 一个简单的Java程序 7
1.2.3 Java运行环境 9
1.2.4 Java开发环境 11
1.3 练习题 13
第2章 Java语言基础 14
2.1 数据类型 14
2.1.1 数据类型的基本概念 14
2.1.2 整数类型 15
2.1.3 实数类型 17
2.1.4 字符类型 18
2.1.5 布尔类型 18
2.2 常量 18
2.2.1 整型常量 18
2.2.2 实型常量 19
2.2.3 字符常量 19
2.3 变量 20
2.3.1 变量的基本概念 20
2.3.2 变量的命名 20
2.3.3 变量的定义 21
2.3.4 变量的初始化 21
2.4 运算符与表达式 21
2.4.1 算术运算符和算术表达式 22
2.4.2 赋值运算符和赋值表达式 23
2.4.3 类型转换 24
2.5 选择结构 26
2.5.1 关系运算符和关系表达式 26
2.5.2 逻辑运算符和逻辑表达式 27
2.5.3 if语句 28
2.5.4 switch语句 31
2.6 循环控制语句 32
2.6.1 for语句 33
2.6.2 while语句 33
2.6.3 do...while语句 34
2.6.4 break和continue语句 35
2.7 数组 36
2.7.1 一维数组的定义和使用 36
2.7.2 二维数组的定义和使用 39
2.8 练习题 40
第3章 Java面向对象编程 42
3.1 面向对象概述 42
3.1.1 软件系统的复杂性 42
3.1.2 结构化方法与面向对象方法 43
3.1.3 对象模型 44
3.2 类和对象 46
3.2.1 对象 46
3.2.2 类 47
3.2.3 类的定义 48
3.2.4 类的使用 53
3.2.5 成员方法 54
3.2.6 引用类型 57
3.2.7 静态类型 60
3.3 访问控制与方法重载 62
3.3.1 访问控制 62
3.3.2 函数重载 65
3.3.3 存储管理 68
3.3.4 this关键词 69
3.4 继承与多态 71
3.4.1 继承关系 72
3.4.2 子类对象的存储 76
3.4.3 构造函数 78
3.4.4 类的继承举例 80
3.4.5 多态 82
3.4.6 函数调用绑定 86
3.4.7 抽象类和抽象函数 89
3.4.8 接口 90
3.5 练习题 92
第4章 异常处理与输入/输出 95
4.1 异常处理 95
4.1.1 为何引入异常处理 95
4.1.2 什么是异常 97
4.1.3 try...catch 98
4.1.4 throw 101
4.2 输入/输出 103
4.2.1 输入/输出概述 103
4.2.2 字节流与字符流 103
4.2.3 输入数据 104
4.3 文件 108
4.3.1 文件的基本概念 108
4.3.2 访问文件属性 110
4.3.3 读文本文件 111
4.3.4 写文本文件 114
4.4 练习题 114
第5章 图形用户界面 117
5.1 概述 117
5.2 Graphics绘图 118
5.2.1 绘图环境 118
5.2.2 颜色 119
5.2.3 字体 119
5.2.4 Graphics类 120
5.3 Swing组件 125
5.3.1 Swing概述 125
5.3.2 容器 126
5.3.3 基本控件 128
5.3.4 布局管理器 130
5.3.5 事件处理 134
5.4 Swing举例 138
5.5 练习题 147
第6章 线程 148
6.1 进程与线程 148
6.1.1 进程 148
6.1.2 线程 152
6.2 Java线程 153
6.2.1 Thread类 153
6.2.2 Runnable接口 155
6.3 线程间的数据共享 156
6.4 线程间的互斥与同步 157
6.4.1 线程间的互斥 157
6.4.2 线程间的同步 161
6.5 线程调度与优先级 164
6.6 练习题 166
第7章 网络编程 168
7.1 网络基础知识 168
7.1.1 网络概述 168
7.1.2 网络模型 169
7.1.3 网络协议的类型 170
7.1.4 IP地址 172
7.2 基于URL的网络编程 174
7.3 基于TCP的Socket编程 177
7.3.1 Socket概述 177
7.3.2 客户/服务器模型 177
7.3.3 Socket编程 179
7.4 基于UDP的Socket编程 185
7.4.1 UDP的相关类 185
7.4.2 UDP报文的发送和接收 186
7.5 练习题 188
第8章 对象集合 189
8.1 Java集合框架 189
8.1.1 对象数组 189
8.1.2 集合 190
8.1.3 Iterator接口 191
8.1.4 Iterable接口 192
8.2 List 193
8.2.1 List接口 193
8.2.2 ArrayList与LinkedList 194
8.2.3 泛型 196
8.2.4 ArrayList与LinkedList的性能比较 198
8.3 Set 200
8.3.1 Set接口 200
8.3.2 HashSet 201
8.3.3 HashTable 203
8.3.4 TreeSet 204
8.4 Map 205
8.4.1 Map接口 205
8.4.2 HashMap 206
8.4.3 TreeMap 207
8.5 练习题 208
第9章 Android编程 210
9.1 移动应用开发 210
9.2 Android系统 211
9.2.1 运行环境 211
9.2.2 Android系统的发展历史 212
9.2.3 Android系统的体系结构 212
9.3 创建开发环境 213
9.4 一个Android程序 216
9.4.1 创建一个空白项目 217
9.4.2 用户界面设计 219
9.4.3 BMI用户界面设计 221
9.4.4 strings.xml 223
9.4.5 BMI程序主体 224
9.5 练习题 227
第10章 面向对象软件开发 228
10.1 团队 228
10.1.1 团队开发 228
10.1.2 团队的组建 229
10.2 软件过程 230
10.2.1 什么是软件过程 230
10.2.2 软件过程模型 230
10.3 软件需求 232
10.3.1 什么是软件需求 232
10.3.2 需求获取 232
10.3.3 用例建模方法 233
10.4 面向对象分析与设计 235
10.4.1 概述 235
10.4.2 UML 236
10.4.3 类图 237
10.4.4 面向对象分析 243
10.4.5 面向对象分析举例 245
10.5 练习题 248
参考文献 249