第1章 进入Java世界 1
1.1初识Java 1
1.1.1 Java语言的诞生与发展 1
1.1.2 Java语言的特点 2
1.1.3 Java应用开发体系 4
1.2面向对象与程序设计语言 5
1.3学习Java技术可以做什么 6
1.4 Java核心技术体系 7
1.4.1 Java核心技术基础部分 7
1.4.2 Java核心技术应用部分 8
1.5 Java的开发环境 11
1.5.1什么是JDK 11
1.5.2下载JDK 12
1.5.3完成安装JDK 13
1.5.4系统环境配置 15
1.5.5测试JDK配置是否成功 17
1.5.6开发工具Eclipse简介 17
1.6简单的Java程序 24
本章总结 29
习题 30
第2章Java程序设计基础 31
2.1 Java的基本语法 31
2.1.1 Java的标识符与关键字 31
2.1.2 Java中的注释 34
2.1.3 Java中的常量和变量 37
2.1.4 Java的数据类型 38
2.2 Java的运算符与表达式 48
2.2.1算术运算符和算术表达式 48
2.2.2赋值运算符和赋值表达式 52
2.2.3关系运算符和关系表达式 53
2.2.4逻辑运算符和逻辑表达式 55
2.2.5位运算符 56
2.2.6条件运算符和条件表达式 59
2.2.7表达式中运算符的优先次序 60
2.3 Java流程控制 61
2.3.1顺序流程 61
2.3.2分支流程 61
2.3.3循环控制流程 70
2.4项目案例 78
2.4.1学习目标 78
2.4.2案例描述 78
2.4.3案例要点 78
2.4.4案例实施 78
2.4.5特别提示 82
本章总结 82
习题 82
第3章Java中数组的应用 85
3.1什么是数组 85
3.2一维数组 85
3.3一维数组的应用 88
3.4二维数组与多维数组 92
3.5二维数组的应用 95
3.6项目案例 98
3.6.1学习目标 98
3.6.2案例描述 99
3.6.3案例要点 99
3.6.4案例实施 99
3.6.5特别提示 102
3.6.6拓展与提高 102
本章总结 102
习题 102
第4章 面向对象程序设计基础——类和对象 104
4.1面向对象的基本概念 104
4.1.1面向对象程序设计思想 104
4.1.2面向对象程序设计方法特点 105
4.2对象与类 105
4.2.1日常生活中看对象与类的关系 105
4.2.2成员 106
4.3面向对象的4个基本特征 107
4.3.1继承性 107
4.3.2抽象性 107
4.3.3封装性 107
4.3.4多态性 108
4.4 Java实现面向对象程序设计 108
4.4.1类的定义与对象的创建 108
4.4.2命名的规则 109
4.5类的成员——变量 110
4.5.1变量属性的修饰符 110
4.5.2变量的初始化 112
4.5.3对成员变量的访问 113
4.6类的成员——方法 115
4.6.1方法定义 115
4.6.2方法的调用及参数传递 116
4.6.3 Java新特性——可变参数(Varargs) 117
4.6.4构造方法 118
4.6.5方法的重载 120
4.7对象资源的回收 122
4.7.1垃圾对象 122
4.7.2 finalize()方法 123
4.8项目案例 124
4.8.1学习目标 124
4.8.2案例描述 124
4.8.3案例要点 124
4.8.4案例实施 125
4.8.5特别提示 130
4.8.6拓展与提高 130
本章总结 131
习题 132
第5章 面向对象程序设计高级特性 134
5.1继承和多态 134
5.1.1继承的概念 134
5.1.2继承的实现 135
5.1.3成员变量隐藏 137
5.1.4方法覆盖 138
5.1.5继承中的构造方法调用 139
5.1.6多态性 142
5.2抽象方法与抽象类 144
5.2.1抽象方法 144
5.2.2抽象类 144
5.2.3扩展抽象类 145
5.3接口 146
5.3.1接口的定义 146
5.3.2接口的实现 146
5.3.3引用类型的转换 147
5.4包 148
5.4.1包及其使用 149
5.4.2访问控制 150
5.5内部类 151
5.5.1认识内部类 151
5.5.2成员式内部类——对象成员内部类 152
5.5.3成员式内部类——静态内部类 154
5.5.4局部内部类 156
5.5.5匿名内部类 157
5.6项目案例 158
5.6.1学习目标 158
5.6.2案例描述 159
5.6.3案例要点 159
5.6.4案例实施 159
5.6.5特别提示 163
5.6.6拓展与提升 163
本章总结 163
习题 164
第6章Java实用类与接口 168
6.1 Object类 168
6.2字符串处理 171
6.2.1 String类 171
6.2.2 StringBuilder 178
6.2.3 StringTokenizer(字符串标记) 184
6.3基本类型的封装类 186
6.4 System与Runtime类 187
6.4.1 System类 187
6.4.2 Runtime类 188
6.5集合框架 189
6.5.1 Collection接口 190
6.5.2 Set接口 191
6.5.3 List接口 193
6.5.4 Iterator接口 195
6.5.5 Map接口 197
6.6泛型 199
6.7时间及日期处理 203
6.7.1 Date类 203
6.7.2 Calendar类 205
6.7.3 DateFormat类 207
6.7.4 SimpleDateFormat类 208
6.8算术实用类 210
6.8.1 Math类 210
6.8.2 Random类 211
6.9枚举 213
6.10Annotation 217
6.11 Lamda表达式 218
6.12项目案例 220
6.12.1学习目标 220
6.12.2案例描述 220
6.12.3案例要点 220
6.12.4案例实施 220
6.12.5特别提示 226
6.12.6拓展与提高 226
本章总结 226
习题 227
第7章Java异常处理 229
7.1异常处理概述 229
7.1.1程序中错误 230
7.1.2异常定义 230
7.2异常分类 231
7.3异常处理 233
7.3.1如何处理异常 233
7.3.2处理异常的基本语句 233
7.4自定义异常 239
7.5项目案例 240
7.5.1学习目标 240
7.5.2案例描述 240
7.5.3案例要点 240
7.5.4案例实施 240
7.5.5特别提示 241
7.5.6拓展与提高 241
本章总结 243
习题 243
第8章Java GUI(图形用户界面)设计 246
8.1 GUI程序概述 246
8.1.1 AWT简介 246
8.1.2 Swing简介 247
8.2容器与布局 248
8.2.1容器 248
8.2.2布局管理 249
8.3常用组件 258
8.3.1 AWT组件 258
8.3.2 Swing组件 264
8.4事件处理 272
8.4.1事件处理的概念 272
8.4.2监听器和适配器 273
8.4.3事件处理的编程方法 283
8.5项目案例 283
8.5.1学习目标 283
8.5.2案例描述 283
8.5.3案例要点 283
8.5.4案例实施 283
8.5.5特别提示 286
8.5.6拓展与提高 286
本章总结 286
习题 287
第9章Java IO(输入输出)流 288
9.1输入输出流的概述 288
9.1.1流的概念 288
9.1.2字节流 289
9.1.3字符流 290
9.2 java.io包层次结构 291
9.3常用输入输出类 295
9.3.1常用输入类 295
9.3.2常用输出类 297
9.3.3转换流 302
9.4文件和目录的操作 303
9.5对象流和对象序列化 309
9.5.1序列化概述 309
9.5.2序列化实现机制 309
9.6项目案例 311
9.6.1 学习目标 311
9.6.2案例描述 312
9.6.3案例要点 312
9.6.4案例实施 312
9.6.5特别提示 315
9.6.6拓展与提高 315
本章总结 316
习题 316
第10章 多线程编程 317
10.1线程概念 317
10.2线程的创建及启动 318
10.3线程状态及转化 323
10.4线程优先级及调度策略 328
10.5线程同步与互斥 329
10.5.1基本概念 329
10.5.2线程同步 331
10.6项目案例 335
10.6.1学习目标 335
10.6.2案例描述 336
10.6.3案例要点 336
10.6.4案例实施 336
10.6.5特别提示 339
10.6.6拓展与提高 339
本章总结 340
习题 340
第11章Java网络编程 341
11.1网络编程概述 341
11.2理解TCP/IP及UDP/IP协议 343
11.3使用Socket开发TCP/IP程序 343
11.4使用Socket开发UDP/IP程序 350
11.5项目案例 353
11.5.1学习目标 353
11.5.2案例描述 353
11.5.3案例要点 353
11.5.4案例实施 354
11.5.5特别提示 362
11.5.6拓展与提高 362
本章总结 362
习题 362
第12章 数据库程序设计 363
12.1关系数据库简介 363
12.2 JDBC简介 364
12.3准备数据库环境 364
12.4 JDBC开发流程 366
12.5项目案例 370
12.5.1学习目标 370
12.5.2案例描述 370
12.5.3案例要点 370
12.5.4案例实施 370
12.5.5特别提示 372
12.5.6拓展与提高 372
本章总结 372
习题 372
第13章 项目开发实战 373
13.1问题描述 373
13.2需求分析 373
13.3概要设计 374
13.3.1数据库设计 374
13.3.2接口设计 375
13.4代码实现 375
13.4.1 PersonVO类的实现 376
13.4.2 DBConnection类的实现 377
13.4.3 IPersonDAO接口的实现 378
13.4.4 PersonDAOlmpl类的实现 379
13.4.5 PersonDAOProxy类的实现 383
13.4.6 DAOFactory类的实现 385
13.4.7 MainMenu类的实现 386
13.4.8 InputHandler类的实现 387
13.4.9 PersonAction类的实现 388
13.4.10 StartApp类的实现 391
本章总结 392
习题 392
附录Java编程规范 393
参考文献 405