第1篇 Java语言入门 3
第1章 Java语言简介 3
1.1 Java语言的产生与发展历程 3
1.1.1 Java语言的产生 3
1.1.2 Java语言的发展历程 3
1.2 Java的特点 5
1.2.1 简单性 5
1.2.2 面向对象 5
1.2.3 分布式 5
1.2.4 强健性 5
1.2.5 安全性 6
1.2.6 结构中立 6
1.2.7 可移植性 6
1.2.8 解释方式执行 6
1.2.9 多线程 7
1.2.10 动态可扩充性 7
1.3 Java平台的版本 7
1.3.1 Java SE(Java平台标准版) 7
1.3.2 Java EE(Java平台企业版) 7
1.3.3 Java ME(Java平台微型版) 8
1.4 Java语言的应用现状 8
1.5 Java语言的未来 9
练习题 10
第2章 Java开发环境 11
2.1 JDK简介 11
2.2 JDK安装 11
2.3 环境变量的说明与配置 13
2.3.1 环境变量说明 13
2.3.2 环境变量配置 13
2.3.3 环境变量配置的检验 15
2.4 Java程序的编程工具 16
2.4.1 记事本 16
2.4.2 Eclipse 16
2.4.3 JBuilder 17
2.4.4 Visual J++ 17
2.4.5 JDeveloper 18
2.4.6 JCreator 18
练习题 19
第3章 Java编程初体验 20
3.1 Application方式程序体验 20
3.1.1 编写程序并保存 20
3.1.2 编译并运行程序 22
3.2 Applet方式程序体验 23
3.2.1 编写程序并保存 23
3.2.2 编译并运行程序 23
3.3 两种方式程序的对比 24
练习题 25
第4章 Java程序开发的基本过程 26
4.1 Java程序结构 26
4.1.1 package语句 26
4.1.2 import语句 26
4.1.3 public class语句 26
4.1.4 class语句 27
4.1.5 interface语句 27
4.2 Java程序开发的一般步骤 27
4.2.1 设计并编写程序 28
4.2.2 保存程序 28
4.2.3 编译程序 28
4.2.4 修改程序 29
4.2.5 运行程序 30
4.3 Java程序的编译运行机制 30
4.3.1 Java程序的编译机制 30
4.3.2 Java程序的运行机制 31
4.4 Java中的简单语句 31
4.4.1 赋值语句 31
4.4.2 输出语句 32
4.4.3 注释 32
4.5 Java程序开发示例 32
练习题 33
第2篇 Java语言元素 37
第5章 基本数据类型 37
5.1 数据类型的含义及其作用 37
5.2 基本数据类型 38
5.2.1 整数类型 38
5.2.2 浮点类型 39
5.2.3 字符类型 39
5.2.4 布尔类型 40
5.3 变量和常量 40
5.3.1 变量 40
5.3.2 常量 43
5.4 类型转换 43
5.4.1 自动类型转换 43
5.4.2 强制类型转换 45
5.5 基本数据类型的类包装 46
5.6 基本数据类型应用实例 47
5.6.1 需求描述 47
5.6.2 编写程序 47
5.6.3 编译运行 47
5.6.4 解释说明 48
练习题 48
第6章 标识符 49
6.1 标识符的含义及其作用 49
6.2 命名规则 49
6.3 命名习惯 51
6.4 标识符应用实例 51
6.4.1 需求描述 51
6.4.2 编写程序 51
6.4.3 编译运行 52
6.4.4 解释说明 52
练习题 53
第7章 运算符 54
7.1 运算符的含义及其作用 54
7.2 算术运算符 54
7.2.1 一元算术运算符 54
7.2.2 二元算术运算符 57
7.2.3 算术运算符的优先级 59
7.2.4 其他的数学运算 61
7.3 关系运算符 62
7.4 逻辑运算符 63
7.5 位运算符 65
7.5.1 位逻辑运算符 66
7.5.2 移位运算符 70
7.5.3 位运算符的优先级 73
7.6 赋值运算符 73
7.7 条件运算符 74
7.8 运算符的优先级 74
7.9 运算符应用实例 75
7.9.1 需求描述 75
7.9.2 编写程序 75
7.9.3 编译运行 77
7.9.4 解释说明 77
练习题 78
第3篇 Java语言基础 81
第8章 流程控制 81
8.1 流程控制的含义及其作用 81
8.2 顺序结构 81
8.3 分支结构 81
8.3.1 双分支结构 81
8.3.2 多分支结构 85
8.4 循环结构 89
8.4.1 for循环 90
8.4.2 while循环 90
8.4.3 do-while循环 91
8.5 流程跳转语句 92
8.5.1 break语句 92
8.5.2 continue语句 93
8.5.3 标号语句 94
8.6 流程控制程序实例 94
8.6.1 需求描述 94
8.6.2 编写程序 94
8.6.3 编译运行 95
8.6.4 解释说明 96
算法一:穷举算法 96
算法二:递推算法 97
算法三:递归算法 98
练习题 100
项目第1种写法开始(打印菜单) 100
第9章 数组 103
9.1 数组的含义及其作用 103
9.2 数组的定义 103
9.2.1 一维数组的定义 103
9.2.2 二维数组的定义 104
9.3 数组的使用 105
9.3.1 一维数组的应用 105
9.3.2 二维数组的应用 106
9.4 数组应用实例 107
9.4.1 需求描述 107
9.4.2 编写程序 107
9.4.3 编译运行 107
9.4.4 解释说明 108
算法四:图形打印 108
算法五:数组排序算法 113
算法六:回溯算法 124
练习题 127
项目第1种写法完成 127
第10章 字符串 133
10.1 字符串概述 133
10.2 字符串对象 133
10.2.1 定长字符串对象 133
10.2.2 可变字符串对象 134
10.3 字符串的常用方法 134
10.4 字符串应用实例 137
10.4.1 字符串反序 137
10.4.2 分离字符串中的字符 138
10.4.3 身份证验证 139
10.4.4 电子邮箱验证 142
10.4.5 统计英文句子中单词的个数 143
10.4.6 程序自动生成关键字段 145
算法七:进制转换 146
算法八:高精度计算 148
练习题 150
项目第2种写法 150
第4篇 Java语言编程思想 159
第11章 算法评价 159
11.1 算法的含义 159
11.2 算法评价的指标 160
11.2.1 正确性 160
11.2.2 结构性 160
11.2.3 可读性 160
11.2.4 时间复杂度 160
11.2.5 空间复杂度 161
11.3 算法评价实例 161
11.4 常用算法总结 162
练习题 163
第12章 基础数据结构及算法实例 164
12.1 数据结构的含义及其作用 164
12.2 数组 165
12.2.1 概念 165
12.2.2 性质 165
12.2.3 类型 165
12.2.4 算法 165
12.2.5 实例 167
12.3 链表 173
12.3.1 概念 173
12.3.2 性质 173
12.3.3 类型 173
12.3.4 算法 174
12.3.5 实例 177
12.4 队列 183
12.4.1 概念 183
12.4.2 性质 183
12.4.3 类型 183
12.4.4 算法 183
12.4.5 实例 184
12.5 堆栈 187
12.5.1 概念 187
12.5.2 性质 187
12.5.3 算法 187
12.5.4 实例 188
12.6 树 191
12.6.1 概念 191
12.6.2 性质 191
12.6.3 类型 192
12.6.4 算法 192
12.6.5 实例一 195
12.6.6 实例二 199
12.7 图 205
12.7.1 概念 205
12.7.2 性质 206
12.7.3 类型 206
12.7.4 算法 206
12.7.5 实例 209
练习题 214
项目第3种写法 215
第13章 Java面向对象的基本概念及性质 222
13.1 面向对象的概念及核心思想 222
13.2 面向对象的基本概念 223
13.2.1 类 223
13.2.2 对象 224
13.2.3 实例化 224
13.3 面向对象的特性 224
13.3.1 封装 224
13.3.2 继承 225
13.3.3 多态 226
练习题 229
项目第4种写法 230
第14章 Java面向对象程序的组织与编写 236
14.1 包的概念及实现 236
14.1.1 包的概念 236
14.1.2 包的声明 237
14.1.3 包的引用 237
14.2 类的概念及实现 237
14.2.1 类的声明 238
14.2.2 属性 240
14.2.3 方法 244
14.2.4 代码块 245
14.2.5 内部类 247
14.3 接口的概念及实现 249
14.3.1 接口的概念 249
14.3.2 接口的声明 249
14.3.3 接口中的符号常量 249
14.3.4 接口中的抽象方法 249
14.3.5 接口的应用 249
14.4 程序实例 251
14.4.1 需求描述 251
14.4.2 分析设计 251
14.4.3 编写程序 251
14.4.4 编译运行 253
14.4.5 解释说明 254
练习题 254
项目第5种写法 254
第15章 Java面向对象的知识重组 261
15.1 修饰符对比分析 261
15.1.1 public 262
15.1.2 protected 263
15.1.3 private 263
15.1.4 static 264
15.1.5 abstract 265
15.1.6 final 266
15.2 类的类型对比分析 267
15.3 各种方法的对比分析 267
15.3.1 main方法 267
15.3.2 构造方法 268
15.3.3 类方法 268
15.3.4 实例方法 268
15.3.5 抽象方法 268
15.3.6 最终方法 268
15.3.7 对象打印方法 268
15.4 类和接口的关系 269
15.5 this和super的对比分析 269
15.6 对象数组 270
15.7 造型(cast) 271
练习题 272
第5篇 Java语言编程技术 277
第16章 异常处理 277
16.1 什么是异常处理 277
16.2 为什么要处理异常 277
16.3 程序异常处理 278
16.3.1 程序异常类 278
16.3.2 程序异常处理方法 279
16.3.3 程序异常处理实例 279
16.4 数据异常处理 280
16.4.1 数据异常类 280
16.4.2 数据异常处理方法 280
16.4.3 数据异常处理实例 281
练习题 281
第17章 多线程 282
17.1 什么是多线程 282
17.2 为什么要使用多线程 282
17.3 多线程的实现 282
17.3.1 完成不同任务的多线程 282
17.3.2 完成同一任务的多线程 283
17.4 多线程程序实例 285
17.4.1 需求描述 285
17.4.2 分析设计 285
17.4.3 编写程序 286
17.4.4 编译运行 288
17.4.5 解释说明 288
练习题 288
第18章 输入输出流 289
18.1 什么是输入输出流 289
18.2 为什么要使用输入输出流 289
18.3 文件及文件夹属性操作 290
18.3.1 File类的主要方法 290
18.3.2 File类的应用 291
18.4 随机访问文件流 295
18.4.1 RandomAccessFile类的主要方法 295
18.4.2 RandomAccessFile类的应用 296
18.5 字节流 297
18.5.1 字节输入流 297
18.5.2 字节输出流 297
18.5.3 字节流的应用 298
18.6 字符流 300
18.6.1 字符输入流 300
18.6.2 字符输出流 300
18.6.3 字符流的应用 301
18.7 输入输出流程序实例 301
18.7.1 需求描述 301
18.7.2 编写程序 302
18.7.3 编译运行 304
18.7.4 解释说明 304
练习题 304
项目第6种写法 304
第19章 对象串行化 310
19.1 什么是对象串行化 310
19.2 为什么要串行化对象 310
19.3 如何串行化对象 310
19.4 对象串行化程序实例 310
19.4.1 需求描述 310
19.4.2 编写程序 311
19.4.3 编译运行 312
19.4.4 解释说明 312
练习题 312
第20章 图形用户界面 313
20.1 图形用户界面概述 313
20.2 用户界面的实现 313
20.2.1 用户界面实现原理和步骤 313
20.2.2 用户界面的相关类 314
20.2.3 用户界面实现实例 315
20.3 功能事件的实现 317
20.3.1 功能事件实现原理和步骤 317
20.3.2 功能事件的相关类 317
20.3.3 功能事件程序实例 319
20.4 图形用户界面程序实例 321
20.4.1 需求描述 321
20.4.2 程序设计 321
20.4.3 编写程序 321
20.4.4 编译运行 330
20.4.5 解释说明 330
练习题 330
项目第7种写法 331
第21章 Applet程序 354
21.1 什么是Applet程序 354
21.2 Applet程序的创建 354
21.3 Applet程序的运行 355
21.4 Applet程序的生命周期 356
21.5 Applet程序的安全机制 357
21.6 Applet程序的编写实例 358
21.6.1 处理图形的Applet程序 358
21.6.2 处理声音的Applet程序 362
21.6.3 处理动画的Applet程序 368
练习题 371
第22章 集合和映射 372
22.1 集合 372
22.1.1 集合的概念 372
22.1.2 集合的相关类 372
22.1.3 集合元素的访问 377
22.1.4 集合与基础数据结构的关系 378
22.1.5 集合综合实例 378
22.2 映射 381
22.2.1 映射的概念 381
22.2.2 映射的相关类 381
22.2.3 映射元素的访问 383
22.2.4 映射综合实例 384
练习题 386
项目第8种写法 387
附录A 项目的8种写法对比分析 390
附录B Java网络资源 391
参考文献 393