目 录
第 1篇 Java语言基础
第 1章 Java语言概述 ....................................................................................................2
1.1面向对象程序设计的特性 ............................................................................................ 2
1.2 Java开发和运行环境 .................................................................................................... 3
1.3 Java程序及调试步骤 .................................................................................................... 4
1.3.1 在 DOS环境下调试 Java程序 ................................................................................................ 4
1.3.2 在 Eclipse环境下调试 Java程序............................................................................................. 8
1.4 Java语言的特点 ............................................................................................................ 9
第 2章数据类型与表达式 ............................................................................................11
2.1 Java符号...................................................................................................................... 11
2.1.1 标识符 ..................................................................................................................................... 11
2.1.2 关键字 ..................................................................................................................................... 12
2.1.3 分隔符 ..................................................................................................................................... 12
2.1.4 注释......................................................................................................................................... 13
2.2数据类型与常量和变量 .............................................................................................. 13
2.2.1 数据类型 ................................................................................................................................. 13
2.2.2 常量......................................................................................................................................... 14
2.2.3 变量......................................................................................................................................... 16
2.3表达式与运算符 .......................................................................................................... 19
2.3.1 算术运算符 ............................................................................................................................. 20
2.3.2 关系运算符 ............................................................................................................................. 21
2.3.3 逻辑运算符 ............................................................................................................................. 22
2.3.4 位运算符 ................................................................................................................................. 23
2.3.5 赋值组合运算符 ..................................................................................................................... 24
2.3.6 其他运算符 ............................................................................................................................. 24
2.3.7 运算符优先级 ......................................................................................................................... 25
2.4常用数学方法 .............................................................................................................. 26
2.5数据的输入 /输出......................................................................................................... 27
2.5.1 使用标准输入 /输出流 ............................................................................................................ 27
2.5.2 用 Swing对话框实现输入/输出 ............................................................................................ 30
2.5.3 使用 java.util.Scanner类 ........................................................................................................ 31
·VI·Java语言程序设计(第 4版)
第 3章流程控制语句 ...................................................................................................33
3.1算法与流程图 .............................................................................................................. 33
3.1.1 算法表示 ................................................................................................................................. 33
3.1.2 传统流程图和 N-S结构流程图 ............................................................................................. 34
3.2条件选择语句 .............................................................................................................. 34
3.2.1 if语句...................................................................................................................................... 34
3.2.2 多分支语句 switch .................................................................................................................. 37
3.3循环语句 ...................................................................................................................... 39
3.3.1 while语句 ............................................................................................................................... 39
3.3.2 do…while语句 ....................................................................................................................... 41
3.3.3 for语句 ................................................................................................................................... 42
3.3.4 循环嵌套 ................................................................................................................................. 43
3.4跳转语句 ...................................................................................................................... 44
3.4.1 break语句 ............................................................................................................................... 44
3.4.2 continue语句 .......................................................................................................................... 45
第 4章数组与方法 .......................................................................................................47
4.1数组.............................................................................................................................. 47
4.1.1 一维数组 ................................................................................................................................. 47
4.1.2 多维数组 ................................................................................................................................. 50
4.2方法...................................................................................................................... 51
4.2.1 方法声明 ................................................................................................................................. 51
4.2.2 方法调用 ................................................................................................................................. 52
4.2.3 参数传递 ................................................................................................................................. 53
4.2.4 递归......................................................................................................................................... 55
4.2.5 方法的可变长参数 ................................................................................................................. 55
4.3 Java的命令行参数 ...................................................................................................... 56
4.4数组工具类 Arrays ...................................................................................................... 57
第 2篇 Java面向对象的核心概念与应用
第 5章类与对象 ..........................................................................................................62
5.1类的定义 ...................................................................................................................... 62
5.2对象的创建与引用 ...................................................................................................... 63
5.2.1 创建对象及访问对象成员 ..................................................................................................... 63
5.2.2 对象的初始化和构造方法 ..................................................................................................... 65
5.3理解 this ....................................................................................................................... 66
5.4类变量和静态方法 ...................................................................................................... 67
目录 ·VII·
5.4.1 类变量 ..................................................................................................................................... 67
5.4.2 静态方法 ................................................................................................................................. 69
5.5变量的作用域 .............................................................................................................. 70
5.6使用包组织类 .............................................................................................................. 72
5.6.1 Java API简介.......................................................................................................................... 72
5.6.2 建立包 ..................................................................................................................................... 73
5.6.3 包的引用 ................................................................................................................................. 73
第 6章继承与多态 .......................................................................................................75
6.1继承.............................................................................................................................. 75
6.1.1 Java继承的实现 ..................................................................................................................... 75
6.1.2 构造方法在类继承中的作用 ................................................................................................. 76
6.2多态性.......................................................................................................................... 77
6.2.1 方法的重载 ............................................................................................................................. 78
6.2.2 方法的覆盖 ............................................................................................................................. 80
6.3几个特殊类 .................................................................................................................. 81
6.3.1 Object类 ................................................................................................................................. 81
6.3.2 Class类 ................................................................................................................................... 82
6.4对象引用转换和访问继承成员 .................................................................................. 84
6.4.1 对象引用转换 ......................................................................................................................... 84
6.4.2 访问继承成员 ......................................................................................................................... 85
6.5访问控制符 .................................................................................................................. 86
6.6 final修饰符的使用 ...................................................................................................... 88
第 7章常用数据类型处理类 .........................................................................................90
7.1字符串的处理 .............................................................................................................. 90
7.1.1 String类 .................................................................................................................................. 90
7.1.2 StringBuffer类........................................................................................................................ 96
7.2基本数据类型包装类 .................................................................................................. 97
7.3 BigInteger类................................................................................................................ 98
7.4日期和时间类 ............................................................................................................ 100
7.4.1 Date类和 SimpleDateFormat类........................................................................................... 100
7.4.2 Calendar类............................................................................................................................ 101
7.4.3 Java 8新增的日期和时间类 ................................................................................................ 102
第 8章抽象类、接口与内嵌类 ................................................................................... 104
8.1抽象类和抽象方法 .................................................................................................... 104
8.1.1 抽象类的定义 ....................................................................................................................... 104
8.1.2 抽象类的应用 ....................................................................................................................... 104
·VIII· Java语言程序设计(第 4版)
8.2接口............................................................................................................................ 107
8.2.1 接口的定义 ........................................................................................................................... 107
8.2.2 接口的实现 ........................................................................................................................... 108
8.3内嵌类........................................................................................................................ 109
8.3.1 成员类 ................................................................................................................................... 109
8.3.2 静态内嵌类 ........................................................................................................................... 111
8.3.3 方法中的内嵌类与匿名内嵌类 ............................................................................................ 112
第 3篇 Java语言的高级特性与应用
第 9章异常处理 ........................................................................................................ 116
9.1异常的概念 ................................................................................................................ 116
9.1.1 什么是异常 ........................................................................................................................... 116
9.1.2 异常的类层次 ....................................................................................................................... 117
9.1.3 系统定义的异常 ................................................................................................................... 118
9.2异常的处理结构 ........................................................................................................ 119
9.3自定义异常 ................................................................................................................ 121
9.3.1 自定义异常类设计 ............................................................................................................... 121
9.3.2 抛出异常 ............................................................................................................................... 121
9.3.3 方法的异常声明 ................................................................................................................... 122
第 10章 Java绘图 ..................................................................................................... 124
10.1 Java的图形绘制 ...................................................................................................... 124
10.1.1 Java图形坐标与图形绘图 ................................................................................................. 124
10.1.2 各类图形的绘制方法 ......................................................................................................... 125
10.1.3 颜色控制 ............................................................................................................................. 126
10.1.4 显示文字 ............................................................................................................................. 128
10.2 Java 2D图形绘制.................................................................................................... 130
10.3 绘制图像 .................................................................................................................. 135
第 11章图形用户界面编程基础 ................................................................................. 138
11.1 图形用户界面核心概念 .......................................................................................... 138
11.1.1 引例..................................................................................................................................... 138
11.1.2 图形界面的外观设计 ......................................................................................................... 139
11.1.3 事件处理 ............................................................................................................................. 139
11.2 容器与布局管理 ...................................................................................................... 144
11.2.1 FlowLayout(流式布局).................................................................................................. 144
11.2.2 BorderLayout(边缘或方位布局) ................................................................................... 145
目录 ·IX·
11.2.3 GridLayout(网格布局)................................................................................................... 146
11.2.4 CardLayout(卡片式布局) .............................................................................................. 147
11.2.5 GridBagLayout(网格块布局) ........................................................................................ 147
11.3 常用 GUI部件......................................................................................................... 148
11.3.1 GUI部件概述 ..................................................................................................................... 148
11.3.2 文本框与文本域 ................................................................................................................. 149
11.4 鼠标和键盘事件 ...................................................................................................... 151
11.4.1 鼠标事件 ............................................................................................................................. 151
11.4.2 键盘事件 ............................................................................................................................. 153
第 12章输入/输出与文件处理.................................................................................... 156
12.1 输入/输出基本概念................................................................................................. 156
12.2 文件与目录操作 ...................................................................................................... 157
12.3 面向字节的输入 /输出流......................................................................................... 159
12.3.1 面向字节的输入流 ............................................................................................................. 159
12.3.2 面向字节的输出流 ............................................................................................................. 161
12.4 对象输入 /输出流..................................................................................................... 163
12.5 面向字符的输入 /输出流......................................................................................... 165
12.5.1 面向字符的输入流 ............................................................................................................. 165
12.5.2 面向字符的输出流 ............................................................................................................. 166
12.6 转换流...................................................................................................................... 168
12.7 文件的随机访问 ...................................................................................................... 170
12.8 使用 NIO进行输入输出......................................................................................... 171
12.8.1 Paths类和 Files类.............................................................................................................. 171
12.8.2 使用通道和缓冲区 ............................................................................................................. 173
第 13章 Java泛型与收集 API.................................................................................... 176
13.1 Java泛型.................................................................................................................. 176
13.1.1 Java泛型简介 ..................................................................................................................... 176
13.1.2 关于 Comparable<T>与 Comparator<T>接口 ................................................................... 177
13.2 收集 API简介 ......................................................................................................... 179
13.2.1 Collection接口.................................................................................................................... 180
13.2.2 Set接口 ............................................................................................................................... 180
13.2.3 List接口.............................................................................................................................. 181
13.2.4 Queue接口.......................................................................................................................... 183
13.3 Collections类........................................................................................................... 184
13.4 Map接口及实现层次 .............................................................................................. 187
第 14章 Lambda表达式、Stream与枚举类型 .......................................................... 190
·X· Java语言程序设计(第 4版)
14.1 Lambda表达式........................................................................................................ 190
14.1.1 何为 Lambda表达式 .......................................................................................................... 190
14.1.2 Java 8的常用函数式接口 .................................................................................................. 192
14.1.3 方法引用 ............................................................................................................................. 193
14.2 Stream ...................................................................................................................... 194
14.2.1 Stream的创建..................................................................................................................... 194
14.2.2 Stream操作......................................................................................................................... 196
14.3 Java枚举类型 .......................................................................................................... 202
14.3.1 枚举类型的定义 ................................................................................................................. 202
14.3.2 Enum类的常用方法........................................................................................................... 203
第 15章多线程 .......................................................................................................... 205
15.1 Java线程的概念 ...................................................................................................... 205
15.1.1 多进程与多线程 ................................................................................................................. 205
15.1.2 线程的状态 ......................................................................................................................... 205
15.1.3 线程调度与优先级 ............................................................................................................. 206
15.2 Java多线程编程方法 .............................................................................................. 206
15.2.1 Thread类简介..................................................................................................................... 206
15.2.2 继承 Thread类实现多线程 ................................................................................................ 207
15.2.3 实现 Runnable接口编写多线程 ........................................................................................ 208
15.3 线程资源的同步处理 .............................................................................................. 210
15.3.1 临界资源问题 ..................................................................................................................... 210
15.3.2 wait()和 notify()方法........................................................................................................... 211
第 16章 Swing图形界面编程 ..................................................................................... 213
16.1 Swing包简介........................................................................................................... 213
16.2 Swing对话框的使用............................................................................................... 214
16.2.1 JOptionPane类对话框........................................................................................................ 214
16.2.2 颜色对话框 ......................................................................................................................... 217
16.2.3 文件选择对话框 ................................................................................................................. 217
16.3 Swing典型容器及部件........................................................................................... 218
16.3.1 JFrame类 ............................................................................................................................ 218
16.3.2 Swing部件的图形绘制 ...................................................................................................... 219
16.4 Swing的各类选择部件........................................................................................... 221
16.5 Swing下拉菜单与工具栏....................................................................................... 224
16.5.1 Swing下拉菜单 .................................................................................................................. 224
16.5.2 Swing工具栏...................................................................................................................... 226
16.6 表格的使用 .............................................................................................................. 227
目录 ·XI·
16.6.1 表格的构造 ......................................................................................................................... 227
16.6.2 表格元素的访问处理 ......................................................................................................... 228
16.6.3 表格的事件处理 ................................................................................................................. 229
第 17章 JDBC技术与数据库应用.............................................................................. 231
17.1 关系数据库概述 ...................................................................................................... 231
17.2 JDBC API ................................................................................................................. 231
17.3 JDBC基本应用 ....................................................................................................... 233
17.3.1 数据库查询 ........................................................................................................... 233
17.3.2 数据库的更新 ..................................................................................................................... 236
17.3.3 用 PreparedStatement类实现 SQL操作 ............................................................................ 236
17.4 数据库应用案例 ...................................................................................................... 238
17.4.1 个人通信录管理应用设计 ................................................................................................. 238
17.4.2 简单教学测试应用设计 ..................................................................................................... 239
第 18章 Java的网络编程 .......................................................................................... 246
18.1 网络编程基础 .......................................................................................................... 246
18.1.1 网络协议 ............................................................................................................................. 246
18.1.2 InetAddress类..................................................................................................................... 246
18.2 Socket通信 .............................................................................................................. 247
18.2.1 Java的 Socket编程原理 .................................................................................................... 247
18.2.2 简单多用户聊天程序的实现 ............................................................................................. 248
18.3 无连接的数据报 ...................................................................................................... 251
18.4 URL.......................................................................................................................... 252
18.4.1 URL类 ................................................................................................................................ 253
18.4.2 URLConnection类.............................................................................................................. 253
参考文献....................................................................................................................... 255
附录 A 正则表达式简介 .............................................................................................. 256