第一篇 Java编程基础 1
第1章 概述 1
1.1 面向对象程序设计 1
1.1.1 定义 1
1.1.2 基本概念 1
1.1.3 特点 2
1.1.4 面向对象编程语言 3
1.2 Java语言概述 3
1.2.1 诞生及发展 3
1.2.2 Java语言的特点 4
1.2.3 Java开发平台 7
1.3 Java开发环境 7
1.3.1 下载、安装JDK 8
1.3.2 配置环境变量 9
1.4 Java开发工具 11
1.5 学习创建第一个Java程序 12
1.5.1 制作Java Application应用程序 12
1.5.2 制作Java Applet小程序 16
习题1 17
第2章 编程基础 19
2.1 标识符 19
2.2 数据类型 20
2.2.1 基本数据类型 20
2.2.2 类型转换 21
2.3 变量和赋值 23
2.4 常量 23
2.5 运算符和表达式 23
2.5.1 基本赋值运算 24
2.5.2 算数运算 24
2.5.3 关系运算 26
2.5.4 布尔运算 27
2.5.5 位运算 27
2.5.6 条件运算 28
2.5.7 复合赋值运算符 28
2.6 字符串 28
2.6.1 输入字符串实例 29
2.6.2 字符串类型与数值型的转换 29
2.7 程序设计 30
习题2 30
编程练习 32
第3章 控制语句 33
3.1 if语句 33
3.1.1 if语句的三种形式 33
3.1.2 分段显示实例(if) 35
3.2 switch语句 36
3.2.1 分段显示实例(switch) 36
3.2.2 switch语句详解 37
3.3 for循环 37
3.3.1 for循环语法 37
3.3.2 求和运算实例 38
3.4 while循环 39
3.4.1 while循环语句 39
3.4.2 while循环实现输入控制 40
3.5 do…while循环 40
3.5.1 do…while语句 40
3.5.2 do…while实现退出操作 41
3.6 break与continue 41
3.6.1 break语句 41
3.6.2 continue语句 42
3.7 综合实例:十进制与二进制转换 42
3.7.1 问题分析 42
3.7.2 算法设计 43
3.7.3 主程序 43
习题3 44
编程练习 45
第4章 方法 47
4.1 定义方法 47
4.2 调用方法 47
4.3 方法实例 48
4.4 方法应用 51
4.4.1 单个参数的方法 51
4.4.2 多个参数的方法 52
4.4.3 递归方法 53
4.4.4 多个返回值的方法 54
4.5 方法重载 55
4.6 预定义方法 55
习题4 58
编程练习 59
第5章 数组 60
5.1 创建数组 60
5.2 初始化一维数组 61
5.2.1 静态初始化 61
5.2.2 动态初始化 62
5.2.3 创建数组实例 63
5.3 数组名的使用 63
5.4 数组作为方法的参数和返回值 65
5.4.1 数组作为方法参数 65
5.4.2 数组作为返回类型 66
5.5 增强的for循环 67
5.6 有用的数组方法 68
5.7 多维数组 68
5.7.1 二维数组定义 68
5.7.2 初始化二维数组 69
5.7.3 二维数组实例 70
5.8 文本处理实例 71
5.8.1 问题分析和方法设计 71
5.8.2 主算法设计 73
5.8.3 程序实现 74
习题5 75
编程练习 76
第二篇 Java面向对象 77
第6章 类和对象 77
6.1 类与对象的关系 77
6.2 类的设计与UML建模 77
6.3 类 78
6.3.1 汽车类实例 78
6.3.2 定义类 79
6.4 对象 80
6.4.1 创建对象 80
6.4.2 使用对象 81
6.5 成员变量与局部变量 81
6.6 构造方法 82
6.6.1 为什么需要构造方法 82
6.6.2 构造方法重载 84
6.7 this关键字 85
6.7.1 this表示类的成员 86
6.7.2 this调用构造方法 86
6.7.3 this表示当前对象 88
6.8 static修饰符 88
6.8.1 静态变量 89
6.8.2 静态方法 91
6.8.3 main方法详解 92
6.8.4 静态成员特点 93
6.9 使用String类 93
6.10 对象参数实例 95
6.11 聚集类 97
6.11.1 聚集类实例 98
6.11.2 银行操作主界面 101
6.12 内部类 105
6.12.1 类中定义的内部类 105
6.12.2 内部类被外部引用 107
6.12.3 方法中定义的内部类 107
习题6 108
编程练习 109
第7章 封装 112
7.1 类的抽象与封装 112
7.2 Java中的包 113
7.2.1 package语句 113
7.2.2 import语句 115
7.2.3 Date、Calendar与DateFormat类 116
7.2.4 Math与Random类 118
7.3 类的成员的访问控制 122
7.3.1 包访问权限 122
7.3.2 public:接口访问权限 122
7.3.3 private:类内部访问权限 123
7.3.4 protected:继承访问权限 123
7.4 类的访问权限 123
7.5 链表实例 123
7.5.1 链表结点 124
7.5.2 链表类 124
7.5.3 测试类 128
习题7 129
编程练习 130
第8章 继承 131
8.1 继承的定义与实现 131
8.1.1 继承实例 131
8.1.2 继承的定义 131
8.1.3 继承的实现 132
8.1.4 继承的结果 135
8.2 方法重写 135
8.3 super关键字 138
8.3.1 使用super访问父类成员 139
8.3.2 使用super调用父类构造方法 140
8.3.3 构造子类对象 140
8.3.4 super与this 141
8.4 抽象类 141
8.4.1 Employee抽象类 142
8.4.2 抽象类实例 142
8.4.3 抽象类的子类实例 143
8.5 接口 145
8.5.1 定义接口 145
8.5.2 接口实例 146
8.6 final修饰符 147
8.6.1 final修饰类 147
8.6.2 final修饰方法 148
8.7 Object类 148
8.7.1 toString()方法 148
8.7.2 equals()方法 149
8.8 类的关系 149
8.8.1 依赖 150
8.8.2 关联 150
8.8.3 聚合 151
8.8.4 组合 151
8.9 综合实例:组装计算机 152
习题8 154
编程练习 154
第9章 多态 156
9.1 多态实例 156
9.1.1 句柄引用对象实例 156
9.1.2 父类句柄引用子类对象 157
9.2 动态绑定 158
9.3 对象的多态性 160
9.3.1 向上转型 161
9.3.2 向下转型 161
9.3.3 instanceof运算符 162
9.4 多态实例 162
9.4.1 接口作为参数实例 163
9.4.2 父类作为方法返回类型实例 165
9.4.3 面向接口编程 168
习题9 169
编程练习 169
第三篇 高级面向对象设计 171
第10章 图形用户界面设计 171
10.1 Swing和AWT 171
10.1.1 AWT组件 171
10.1.2 Swing组件 172
10.1.3 容器类组件 173
10.2 创建基本GUI程序 174
10.2.1 使用JFrame类创建框架 174
10.2.2 在框架中添加组件 175
10.2.3 设置界面布局 176
10.2.4 事件处理 182
10.3 事件及监听器接口 184
10.3.1 事件 184
10.3.2 Windows事件处理 185
10.3.3 键盘事件处理 188
10.3.4 鼠标事件处理 191
10.4 菜单 193
10.4.1 菜单的设计与实现 193
10.4.2 实现菜单项事件处理代码 194
习题10 198
编程练习 199
第11章 异常处理 200
11.1 Java异常处理 200
11.2 Exception类 200
11.3 使用异常处理 201
11.3.1 try/catch/finally块 201
11.3.2 catch块的顺序 203
11.3.3 抛出异常 204
11.4 自定义异常 204
11.5 为异常编写文档 207
习题11 208
编程练习 209
第12章 集合类 210
12.1 Iterable接口 211
12.2 Collection接口 211
12.3 List接口 212
12.3.1 LinkedList类 213
12.3.2 ArrayList类 213
12.3.3 Vector类 214
12.3.4 Stack类 214
12.4 Set接口 215
12.4.1 Set接口常用方法 215
12.4.2 Set接口实例 215
12.5 Map接口 217
12.5.1 Map常用方法 217
12.5.2 HashMap管理网络名和密码 217
12.6 泛型 219
12.7 集合类实例:书籍管理 220
习题12 223
编程练习 223
第13章 输入输出流及文件处理 225
13.1 I/O流 226
13.2 字节流 226
13.2.1 InputStream类常用方法 227
13.2.2 OutputStream类常用方法 227
13.2.3 文件数据流 228
13.2.4 实例:输入信息保存到文件 228
13.2.5 读取并显示文件 230
13.2.6 文件复制 231
13.3 字符流 232
13.3.1 InputStreamReader和OutputStreamWriter 232
13.3.2 字符流实例 233
13.4 文件输入输出 234
13.4.1 文件基本操作 234
13.4.2 文件随机读写 236
13.5 对象序列化 237
13.5.1 存储对象 237
13.5.2 Car对象序列化实例 238
13.5.3 存储和读取序列化对象信息 238
习题13 239
编程练习 240
第14章 多线程 241
14.1 线程概述 241
14.1.1 线程的概念 241
14.1.2 如何理解多线程 241
14.2 创建线程 242
14.2.1 通过继承Thread类来创建线程 242
14.2.2 通过实现Runnable接口的类来运行线程 243
14.3 线程的状态 244
14.3.1 线程的不同状态 244
14.3.2 线程的优先级及调度 246
14.3.3 线程状态的转换 247
14.5 制作动画 249
14.5.1 Java多线程动画制作概述 249
14.5.2 动态文字显示 249
14.5.3 模拟赛跑 250
14.6 共享资源与线程同步 254
14.6.1 资源共享 254
14.6.2 线程同步 256
14.6.3 等待与通知 257
14.6.4 死锁 260
习题14 260
编程练习 262
第15章 网络编程 263
15.1 Java网络编程基础 263
15.1.1 IP地址 263
15.1.2 端口号 263
15.2 InetAddress类 264
15.3 使用URL类访问网络资源 265
15.4 Socket套接字编程 268
15.4.1 使用TCP通信 268
15.4.2 使用UDP通信 270
15.5 访问远程数据库 272
15.6 访问Web Service 273
15.6.1 生成客户端类 273
15.6.2 访问股票行情查询Web服务 276
15.7 访问Web Server端应用程序 277
15.7.1 服务器端开发 277
15.7.2 在应用程序中访问 283
习题15 286
编程练习 286
参考文献 287