本书力求做到:概念清晰但不烦琐;例题精选而具有代表性;从实用角度与面向对象编程思维出发来提升读者的Java应用编程能力。
本书内容全面,重点突出,通俗易懂、循序渐进、深入浅出,全书共分17章,主要内容包括Java概述、语言基础、选择控制、循环控制、方法、数组、对象和类、继承和多态、抽象类和接口、Java异常处理、常用类和接口、图形用户界面、文件输入输出、多线程编程、数据库编程、网络程序设计、JSP应用技术等。
本书每章都给出了较多的例题与应用实例,各章后有适量的习题以便于读者学习与巩固所学知识。
本书可作为高等院校理工科各专业Java语言程序设计类课程的教材,也可供参加自学考试人员、应用系统开发设计人员及其他对程序设计感兴趣的读者参阅。
内容全面:内容涵盖基础、核心与应用等内容梯度合理:按照入门、进阶、精通的模式编著,适合不同层次读者学习案例丰富:每个知识点都列举实例进行讲解,避免枯燥乏味的理论解释实用创新:本书通俗易懂、循序渐进、学以致用、求变创新*标准:按照Java 8标准为背景,以反映Java语言的全新技术发展对象编程:以类 对象为核心提高编程能力,注重面向对象编程思维的培养编程环境:例题程序采用NetBeans、Eclipse或MyEclipse为编程环境
基础篇
第1章 Java概述 /3
1.1 程序设计语言简介 /3
1.2
Java语言发展简史 /5
1.3
Java语言的特点及版本 /6
1.4 初识简单的Java程序 /10
1.5
Java程序语法概述 /17
1.5.1
Java程序的结构特点 /17
1.5.2
Java程序的书写规则 /17
1.5.3
Java语言字符集与词汇 /18
1.6
JVM、JRE、JDK、API和IDE /21
1.7
Java开发环境 /22
1.7.1
如何运行Java程序 /22
1.7.2
下载JDK /23
1.7.3
JDK的具体安装过程 /24
1.7.4
配置系统环境变量 /26
1.7.5
测试JDK是否安装成功 /27
1.7.6
编译命令和执行命令的用法 /28
1.7.7
集成开发环境 /29
1.8 上机实践要求 /31
1.9 本章小结 /32
1.10
习题 /32
第2章 语言基础 /35
2.1
Java数据类型 /35
2.1.1
基本数据类型 /35
2.1.2
引用类型 /40
2.1.3
数据类型转化 /40
2.2 常量和变量 /42
2.2.1
常量 /42
2.2.2
变量 /43
2.2.3
变量作用域 /46
2.3 运算符和表达式 /47
2.3.1
赋值运算符与赋值表达式 /48
2.3.2
算术运算符与算术表达式 /48
2.3.3
关系运算符 /49
2.3.4
逻辑运算符 /50
2.3.5
位运算符 /50
2.3.6
移位运算符 /51
2.3.7
条件运算符 /52
2.3.8
复合赋值运算符 /53
2.3.9
instanceof运算符 /54
2.3.10
Java运算符优先级 /54
2.3.11
表达式计算举例 /55
2.4 对话框输入输出 /56
2.4.1
String类型 /56
2.4.2
将字符串转换为数值 /57
2.4.3
使用对话框输入输出 /57
2.5 本章小结 /58
2.6 习题 /58
第3章 选择 /61
3.1 布尔(逻辑)表达式 /61
3.1.1
关系表达式 /62
3.1.2
逻辑表达式 /63
3.2
if语句 /65
3.2.1
不带else的if语句 /65
3.2.2
带有else的if语句 /65
3.2.3
if...else if...else语句 /66
3.2.4
if语句的嵌套 /67
3.3
switch 语句 /69
3.4 条件表达式 /70
3.5 格式化控制台输出 /71
3.6 本章小结 /72
3.7 习题 /72
第4章 循环 /75
4.1 循环语句 /76
4.1.1
while循环语句 /76
4.1.2
do...while循环语句 /77
4.1.3
for循环语句 /78
4.1.4
增强for循环语句 /79
4.2 循环的比较及其嵌套 /80
4.3 跳转语句 /81
4.3.1
break关键字 /81
4.3.2
continue关键字 /82
4.4 应用实例 /83
4.5 本章小结 /91
4.6 习题 /92
第5章 方法 /96
5.1 方法定义 /97
5.2 方法调用 /98
5.2.1
有返回值方法 /99
5.2.2
无返回值方法 /99
5.2.3
嵌套调用 /100
5.2.4
递归调用 /101
5.3 方法参数传递 /102
5.3.1
基本数据类型参数传递 /102
5.3.2
引用数据类型参数传递 /103
5.4 方法重载 /104
5.5 变量作用域 /105
5.6 命令行参数 /105
5.7 构造方法 /106
5.7.1
构造方法的定义与作用 /106
5.7.2
构造方法的重载 /108
5.8 可变参数 /109
5.9 垃圾回收机制 /110
5.9.1
finalize()方法 /110
5.9.2
System.gc的作用 /111
5.10
模块化程序设计 /112
5.11
应用实例 /113
5.12
本章小结 /121
5.13
习题 /121
第6章 数组 /125
6.1 一维数组 /126
6.1.1
一维数组声明 /126
6.1.2
一维数组初始化 /126
6.1.3
一维数组的引用 /127
6.1.4
一维数组的处理 /128
6.2 二维及多维数组 /129
6.2.1
二维数组声明 /129
6.2.2
二维数组初始化 /129
6.2.3
二维数组的引用与处理 /130
6.2.4
多维数组 /131
6.3 数组为方法参数 /132
6.3.1
数组作为方法参数 /132
6.3.2
数组为方法返回值 /134
6.4
Arrays类 /134
6.5 应用实例 /134
6.6 本章小结 /141
6.7 习题 /142
核心篇
第7章 对象和类 /147
7.1 面向对象程序设计概述 /147
7.1.1
面向过程的程序设计 /147
7.1.2
面向对象的程序设计 /148
7.1.3
面向对象方法的特征 /148
7.2 类与对象 /151
7.2.1
类的声明 /151
7.2.2
类的实例对象及使用 /153
7.3
this引用句柄 /155
7.4
Java 修饰符 /157
7.4.1
访问控制修饰符 /157
7.4.2
非访问控制修饰符 /160
7.5
Java源文件 /166
7.5.1
源文件声明规则 /166
7.5.2
import语句 /167
7.5.3
一个简单的例子 /167
7.6 本章小结 /168
7.7 习题 /169
第8章 继承和多态 /173
8.1 继承和多态性的概念 /173
8.1.1
继承的概述 /173
8.1.2
多态性的概述 /174
8.2 继承机制 /175
8.2.1
继承的定义 /175
8.2.2
继承的传递性 /178
8.2.3
类中属性的继承与隐藏 /179
8.2.4
方法的继承 /180
8.2.5
方法的覆盖 /181
8.2.6
方法的重载 /183
8.2.7
super引用句柄 /185
8.2.8
implements继承接口 /187
8.2.9
HAS-A 关系 /188
8.3 多态性 /189
8.3.1
多态性的体现 /189
8.3.2
静态多态性 /190
8.3.3
动态多态性 /190
8.3.4
this和super指代使用和转化 /191
8.3.5
虚方法及其举例 /192
8.4 本章小结 /195
8.5 习题 /195
第9章 抽象类和接口 /202
9.1 抽象类 /202
9.1.1
抽象类的定义 /203
9.1.2
抽象类的使用 /204
9.1.3
抽象方法 /207
9.1.4
Java封装 /208
9.2 接口 /209
9.2.1
Java中的接口 /209
9.2.2
接口的继承 /212
9.2.3
接口的多重继承 /213
9.2.4
标记接口 /213
9.3
Java包 /214
9.3.1
Java中的包 /214
9.3.2
创建包 /217
9.3.3
import关键字 /218
9.3.4
package的目录结构 /219
9.3.5
设置CLASSPATH /220
9.4 内部类 /221
9.5 匿名类 /222
9.6 本章小结 /223
9.7 习题 /223
第10章 异常处理 /228
10.1
异常的概念 /228
10.2
异常处理 /230
10.3
自定义异常 /232
10.4
本章小结 /233
10.5
习题 /234
应用篇
第11章 常用类和接口 /239
11.1
字符串处理类 /239
11.1.1
String类 /239
11.1.2
StringBuffer类 /244
11.2
时间日期类 /245
11.2.1
Date类 /246
11.2.2
Calendar类 /246
11.2.3
DateFormat类 /247
11.2.4
SimpleDateFormat类 /247
11.3
Math类 /247
11.4
随机数类Random /248
11.5
Java 数据结构 /249
11.5.1
枚举 /249
11.5.2
向量 /250
11.5.3
栈 /251
11.5.4
哈希表 /252
11.6
集合框架 /252
11.6.1
Collection接口及操作 /255
11.6.2
Set接口及其实现类 /255
11.6.3
对象排序 /257
11.6.4
List接口及其实现类 /257
11.6.5
Map接口及其实现类 /259
11.6.6
集合的输出 /260
11.6.7
集合的工具类Collections /262
11.7
泛型 /263
11.7.1
泛型类 /263
11.7.2
泛型方法 /264
11.8
本章小结 /266
11.9
习题 /266
第12章 图形用户界面 /267
12.1
引言 /267
12.2
AWT与swing /267
12.3
Java GUI API分类 /268
12.3.1
容器类 /268
12.3.2
组件类 /269
12.3.3
辅助类 /270
12.4
容器类与容器布局管理 /270
12.4.1
顶层容器 /270
12.4.2
中间容器 /272
12.4.3
布局管理器 /273
12.5
辅助类 /277
12.5.1
Color类 /278
12.5.2
Font类 /278
12.6
事件处理 /279
12.6.1
事件处理模型 /280
12.6.2
事件及监听者 /283
12.6.3
窗口事件 /289
12.6.4
监听器接口适配器 /290
12.6.5
键盘事件 /291
12.6.6
鼠标事件 /292
12.6.7
Timer类的动画 /293
12.7
常用swing组件 /294
12.8
菜单设计 /295
12.8.1
下拉式菜单 /296
12.8.2
弹出式菜单 /298
12.9
本章小结 /298
12.10
习题 /298
第13章 文件输入输出 /300
13.1
引言 /300
13.1.1
Java流类的层次结构 /301
13.1.2
流类的基本用法 /302
13.2
文件类File /302
13.2.1
文件和目录的概念 /302
13.2.2
文件File类 /303
13.3
文本文件输入输出 /305
13.3.1
使用PrintWriter写数据 /306
13.3.2
使用Scanner读数据 /307
13.4
二进制文件输入输出 /309
13.4.1
二进制I/O类 /310
13.4.2
FileInputStream和FileOutputStream
/310
13.4.3
FilterInputStream和FilterOutputStream /311
13.4.4
DataInputStream和DataOutputStream /311
13.4.5
BufferedInputStream和
BufferedOutputStream /312
13.4.6
ObjectInputStream和
ObjectOutputStream /312
13.5
随机文件访问 /317
13.6
本章小结 /318
13.7
习题 /318
第14章 多线程编程 /320
14.1
多线程概述 /320
14.1.1
线程的基本概念 /320
14.1.2
线程的运行机制 /320
14.2
线程的创建和启动 /321
14.2.1
线程的创建 /321
14.2.2
线程的启动 /323
14.3
线程状态和转换 /324
14.4
线程控制 /325
14.4.1
线程睡眠 /325
14.4.2
线程让步 /325
14.4.3
线程间协作 /326
14.4.4
后台线程 /326
14.4.5
线程优先级 /327
14.5
线程同步处理 /327
14.5.1
多线程引发的问题 /327
14.5.2
同步代码块 /328
14.5.3
同步方法 /328
14.5.4
线程间通信 /329
14.5.5
死锁 /330
14.6
Thread 方法 /330
14.7
本章小结 /332
14.8
习题 /332
第15章 数据库编程 /333
15.1
关系数据库与SQL语言 /333
15.1.1
关系数据库的基本概念 /333
15.1.2
数据定义语言 /333
15.1.3
数据操纵语言 /334
15.1.4
数据查询语言 /335
15.2
Java数据库编程简介 /335
15.3
通过JDBC访问数据库 /335
15.3.1
JDBC访问数据库基本流程 /335
15.3.2
加载数据库驱动程序 /336
15.3.3
创建与数据源的连接 /337
15.3.4
操作数据库 /338
15.3.5
处理操作结果 /340
15.3.6
关闭操作 /341
15.4
JDBC编程实例 /342
15.4.1
创建数据库连接 /342
15.4.2
创建数据表 /343
15.4.3
向表中添加数据 /343
15.4.4
修改数据 /344
15.4.5
删除数据 /345
15.4.6
查询数据信息 /346
15.5
JDBC事务 /346
15.6
本章小结 /349
15.7
习题 /349
第16章 网络程序设计 /350
16.1
网络通信基础 /350
16.1.1
网络通信的基本概念 /350
16.1.2
TCP协议和UDP协议 /351
16.1.3
网络程序设计技术 /352
16.2
URL程序设计 /352
16.2.1
URL和URL类 /352
16.2.2
URLConnection类 /353
16.2.3
InetAddress类 /354
16.3
TCP程序设计 /355
16.3.1
Socket 编程 /355
16.3.2
Socket类 /356
16.3.3
ServerSocket类 /358
16.4
UDP程序设计 /360
16.4.1
数据报通信基本概念 /361
16.4.2
DatagramPacket类 /361
16.4.3
DatagramSocket类 /362
16.4.4
MulticastSocket类 /362
16.5
本章小结 /363
16.6
习题 /363
第17章 JSP应用技术 /365
17.1
Java Web应用开发技术概述 /365
17.1.1
Java Web应用常见开发技术 /365
17.1.2
Java Web开发环境及开发工具 /367
17.1.3
Java Web应用程序的开发与部署 /368
17.2
静态网页开发技术 /369
17.2.1
HTML网页设计 /369
17.2.2
CSS样式表 /371
17.2.3
JavaScript脚本语言 /375
17.2.4
基于HTML JavaScript CSS的开发
案例 /377
17.3
JSP技术 /378
17.3.1
JSP技术概述 /378
17.3.2 JSP语法 /380
17.3.3
JSP内置对象概述 /385
17.3.4
request对象 /386
17.3.5
response 对象 /390
17.3.6
session对象 /392
17.3.7
application对象 /393
17.3.8
out对象 /394
17.3.9
JSP应用程序设计综合示例 /395
17.4
JavaBean技术 /398
17.4.1
JavaBean技术 /399
17.4.2
在JSP中使用JavaBean /400
17.4.3
多个JSP页面共享JavaBean /406
17.4.4
数据库访问JavaBean的设计 /407
17.5
Servlet技术 /411
17.5.1
Servlet技术 /411
17.5.2
Servlet常用对象及其方法 /412
17.5.3
基于JSP Servlet的用户登录验证
/414
17.5.4
在Servlet中使用JavaBean /415
17.5.5
JSP与Servlet的数据共享 /415
17.5.6 JSP与Servlet的关联关系 /418
17.5.7
基于JSP Servlet JavaBean实现复数运算 /418
17.6
本章小结 /421
17.7
习题 /421
附录A ASCII编码表 /422
附录B Java关键字 /423
附录C Java运算符及其优先级 /425
参考文献 /426