第1篇Java语言基础 2
第1章 Java语言概述 2
1.1 面向对象程序设计的特性 3
1.2 Java开发和运行环境 4
1.3 Java语言的特点 5
1.4 Java程序及调试步骤 7
1.5 在Eclipse环境下调试Java程序 11
习题 12
第2章 数据类型与表达式 13
2.1 Java符号 14
2.1.1 标识符 14
2.1.2 关键字 14
2.1.3 分隔符 15
2.1.4 注释 15
2.2 数据类型与变量 16
2.2.1 数据类型 16
2.2.2 字面量 17
2.2.3 变量 19
2.3 表达式与运算符 22
2.3.1 算术运算符 23
2.3.2 关系运算符 25
2.3.3 逻辑运算符 25
2.3.4 位运算符 26
2.3.5 赋值组合运算符 27
2.3.6 其他运算符 28
2.3.7 运算符优先级 29
2.4 常用数学方法 30
2.5 数据的输入/输出 31
2.5.1 使用标准输入/输出流 31
2.5.2 用Swing对话框实现输入/输出 34
2.5.3 使用java.util.Scanner类 34
2.5.4 使用java.io.Console类 35
2.6 综合样例 36
习题 37
第3章 流程控制语句 40
3.1 条件选择语句 41
3.1.1 if语句 41
3.1.2 多分支语句switch 43
3.2 循环语句 45
3.2.1 while语句 45
3.2.2 do...while语句 47
3.2.3 for语句 48
3.2.4 循环嵌套 51
3.3 跳转语句 53
3.3.1 break语句 53
3.3.2 continue语句 55
3.4 综合样例 56
习题 58
第4章 数组和方法 62
4.1 数组 63
4.1.1 一维数组 63
4.1.2 多维数组 66
4.2 方法 70
4.2.1 方法声明 70
4.2.2 方法调用 70
4.2.3 参数传递 73
4.2.4 递归 75
4.2.5 Java方法的可变长参数 76
4.3 Java命令行参数 77
4.4 数组工具类Arrays 77
4.5 综合样例 80
习题 84
第2篇Java面向对象核心概念及应用 88
第5章 类与对象 88
5.1 类的定义 89
5.2 对象的创建与引用 90
5.2.1 创建对象和访问对象成员 90
5.2.2 对象的初始化和构造方法 92
5.3 理解this 93
5.4 static修饰的作用 96
5.4.1 类变量 96
5.4.2 静态方法 98
5.5 变量作用域 100
5.6 使用包组织类 102
5.6.1 Java API简介 102
5.6.2 建立包 103
5.6.3 包的引用 103
习题 105
第6章 继承与多态 110
6.1 继承 111
6.1.1 Java继承的实现 111
6.1.2 构造方法在类继承中的作用 111
6.2 多态 113
6.2.1 方法的重载 113
6.2.2 方法的覆盖 116
6.3 对象引用转换与访问继承成员 117
6.3.1 对象引用转换 117
6.3.2 访问继承的成员 118
6.4 几个特殊类 120
6.4.1 Object类 120
6.4.2 Class类 121
6.5 访问控制修饰符 123
6.6 final修饰符的使用 126
习题 130
第7章 常用数据类型处理类 136
7.1 字符串的处理 137
7.1.1 String类 137
7.1.2 StringBuffer类 144
7.2 基本数据类型包装类 147
7.3 BigInteger类 148
7.4 日期和时间 150
7.4.1 Date类和SimpleDate-Format类 150
7.4.2 Calendar类 152
7.4.3 Java 8新增的日期和时间类 153
7.5 Java枚举类型 154
7.5.1 枚举类型的定义 154
7.5.2 Enum类的常用方法 156
7.5.3 枚举类实现接口 157
习题 158
第8章 抽象类、接口及内嵌类 162
8.1 抽象类和抽象方法 163
8.1.1 抽象类的定义 163
8.1.2 抽象类的应用 163
8.2 接口 165
8.2.1 接口的定义 165
8.2.2 接口的实现 166
8.3 内嵌类 168
8.3.1 成员类 169
8.3.2 静态内嵌类 170
8.3.3 方法中的内嵌类与匿名内嵌类 171
8.4 Lambda表达式 174
8.4.1 何谓Lambda(λ)表达式 174
8.4.2 Java 8的常用函数式接口 175
8.4.3 方法引用 177
习题 178
第3篇Java语言高级特性 182
第9章 异常处理 182
9.1 异常的概述 183
9.1.1 什么是异常 183
9.1.2 异常的类层次 185
9.1.3 系统定义的异常 185
9.2 异常的处理结构 186
9.3 自定义异常 188
9.3.1 自定义异常类设计 188
9.3.2 自定义异常的抛出 188
9.4 方法的异常声明 189
习题 191
第10章 Java绘图 195
10.1 Java的图形绘制 196
10.1.1 Java图形坐标与部件的绘图 196
10.1.2 各类图形的绘制方法 196
10.1.3 显示文字 198
10.1.4 颜色控制 200
10.2 Java 2D图形绘制 203
10.3 绘制图像 209
习题 213
第11章 图形用户界面编程基础 215
11.1 图形用户界面核心概念 216
11.1.1 引例 216
11.1.2 图形界面的外观设计 217
11.1.3 事件处理 217
11.2 容器与布局管理 224
11.2.1 FlowLayout(流式布局) 224
11.2.2 BorderLayout(边缘或方位布局) 225
11.2.3 GridLayout(网格布局) 228
11.2.4 CardLayout(卡片式布局) 230
11.2.5 GridBagLayout(网格块布局) 234
11.2.6 BoxLayout(盒式布局) 236
11.3 常用GUI部件 239
11.3.1 GUI部件概述 239
11.3.2 文本框与文本域 240
11.4 鼠标和键盘事件 243
11.4.1 鼠标事件 243
11.4.2 弹出式菜单 247
11.4.3 键盘事件 249
习题 252
第12章 文件操作与输入/输出流 254
12.1 输入/输出基本概念 255
12.2 文件与目录操作 256
12.3 面向字节的输入/输出流 258
12.3.1 面向字节的输入流 258
12.3.2 面向字节的输出流 260
12.4 对象串行化 263
12.5 面向字符的输入/输出流 266
12.5.1 面向字符的输入流 266
12.5.2 面向字符的输出流 268
12.6 转换流 271
12.7 文件的随机访问 272
习题 274
第13章 多线程 276
13.1 Java线程的概念 277
13.1.1 多进程与多线程 277
13.1.2 线程的状态 277
13.1.3 线程调度与优先级 278
13.2 Java多线程编程方法 278
13.2.1 Thread类简介 278
13.2.2 继承Thread类实现多线程 279
13.2.3 实现Runnable接口编写多线程 280
13.3 线程资源的同步处理 286
13.3.1 临界资源问题 286
13.3.2 wait()和notify()方法 287
13.3.3 过桥问题 288
13.3.4 生产者与消费者问题 289
习题 292
第14章 泛型、Collection API与Stream 294
14.1 Java泛型 295
14.1.1 Java泛型简介 295
14.1.2 Comparable〈T〉接口与Comparator〈T〉接口 296
14.2 Collection API简介 298
14.2.1 Collection接口 298
14.2.2 Set接口 300
14.2.3 List接口 301
14.2.4 堆栈和队列 304
14.3 Collections类 305
14.4 Map接口及实现层次 313
14.5 Stream 315
14.5.1 Stream的创建 315
14.5.2 Stream的操作 317
习题 324
第15章 Swing图形界面编程 328
15.1 Swing包简介 329
15.2 Swing对话框的使用 330
15.2.1 JOptionPane对话框 330
15.2.2 颜色选择对话框 333
15.2.3 文件选择对话框 333
15.3 Swing典型容器及部件绘制 334
15.3.1 JFrame类 334
15.3.2 JPanel类及Swing部件绘制 336
15.4 Swing选择部件的使用 338
15.4.1 下拉组合框(JComboBox) 338
15.4.2 单选按钮(JRadioButton)与复选按钮(JCheckBox) 340
15.4.3 列表JList 341
15.5 Swing界面部署利器 342
15.5.1 Swing下拉菜单 342
15.5.2 Swing选项卡(JTabbedPane) 344
15.5.3 Swing工具栏 349
15.6 Swing滑动杆 349
15.7 表格(JTable)的使用 351
15.7.1 表格的构建 351
15.7.2 表格元素的访问处理 352
15.7.3 表格的事件处理 355
习题 356
第16章 Java网络编程 358
16.1 网络编程基础 359
16.1.1 网络协议 359
16.1.2 InetAddress类 359
16.2 Socket通信 360
16.2.1 Java的Socket编程原理 360
16.2.2 简单多用户聊天程序的实现 362
16.3 无连接的数据报 366
16.3.1 DatagramPacket类 366
16.3.2 DatagramSocket类 367
16.3.3 发送和接收过程 367
16.4 数据报多播 369
16.5 URL访问 372
16.5.1 URL类 372
16.5.2 URLConnection类 374
16.6 网络对弈五子棋案例 375
16.6.1 服务器方分析设计 375
16.6.2 客户方分析设计 381
习题 392
第17章 JDBC技术和数据库应用 394
17.1 JDBC 395
17.1.1 关系数据库概述 395
17.1.2 JDBC API 395
17.2 JDBC基本应用 397
17.2.1 数据库查询 397
17.2.2 数据库的更新 401
17.2.3 用PreparedStatement类实现SQL操作 402
17.3 简单考试系统样例 407
习题 415
附录一 正则表达式简介 416
附录二 本书实例目录 418
参考文献 424