Java是一种被广泛使用的网络编程语言。它采用面向对象技术,不依赖于机器结构,具有可移植性、健壮性、安全性。除了语言的基本语法外,Java还提供了丰富的类库,程序设计人员利用该类库可以很方便地开发自己的系统。
全书共15章,分为两篇。第一篇包括第1~8章,主要讲解语言的词法、语法,以及编程技能技巧;第二篇包括第9~15章,主要讲解Java常用类的用法。每一章的内容都由浅入深、由易到难。本书大部分的例题,都采用面向对象的方法设计程序,且进行了详细的分析和说明,以引导读者理解、掌握Java程序设计。
本书适合作为高等院校相关专业Java程序设计课程的教材,也可供软件开发人员和自学人员参考。
1.强调面向对象的程序设计方法,细讲知识点,精简了图形用户界面(GUI)和图形图像部分的内容,去掉了Java Applet的内容。
2.重语义语法,更重视对定义的理解和应用,大量的案例及案例思路分析,有助于培养学生编程。
3.理论知识的重点和难点、典型案例的程序编写和调试,均配有教学视频,扫描文中二维码,即可在线学习。
满志强,副教授,在计算机教育领域执教多年,拥有丰富的教学和科研经验,主讲课程包括程序设计(C、 C++、Java等)、计算机图形学、计算机辅助设计与制造等课程,以其简洁、明快的讲课风格,多元化的教学方式,颇受学习者欢迎。
第1章 Java概述 2
1.1 Java简介 2
1.1.1 Java的产生与发展 2
1.1.2 Java的特点 3
1.2 JDK安装与配置 4
1.2.1 认识JDK 4
1.2.2 下载与安装Java开发工具包 5
1.2.3 配置环境变量 5
1.3 Java程序的两种结构 5
1.3.1 开发Java应用程序的方法 6
1.3.2 开发Java小应用程序的方法 7
1.4 程序注释 8
1.5 Eclipse简介与使用 8
1.5.1 Eclipse简介 8
1.5.2 Eclipse基本操作 9
1.5.3 Eclipse调试程序的方法 9
1.6 小结 10
1.7 习题 10
第2章 基本数据类型、运算符与
表达式 12
2.1 标识符与关键字 12
2.1.1 Unicode字符集 12
2.1.2 标识符 13
2.1.3 关键字 13
2.2 基本类型数据 14
2.2.1 变量与常量 14
2.2.2 Java基本数据类型 14
2.2.3 基本类型数据的输入/输出 16
2.3 运算符和表达式 18
2.3.1 算术运算符 18
2.3.2 关系运算符 18
2.3.3 逻辑运算符 19
2.3.4 位运算符 19
2.3.5 赋值运算符 20
2.3.6 条件运算符 20
2.3.7 其他运算符 20
2.3.8 表达式 21
2.4 小结 22
2.5 习题 22
第3章 控制语句 24
3.1 控制语句概述 24
3.2 顺序结构 24
3.3 选择结构 25
3.3.1 if语句 26
3.3.2 switch语句 32
3.4 循环结构 37
3.4.1 while循环 37
3.4.2 do-while循环 38
3.4.3 for循环 39
3.4.4 循环的嵌套 42
3.5 选择结构与循环结构的嵌套 43
3.6 break语句与continue语句 44
3.6.1 break语句 44
3.6.2 continue语句 46
3.7 小结 47
3.8 习题 48
第4章 数组 50
4.1 一维数组 50
4.1.1 一维数组的声明 50
4.1.2 为一维数组分配空间 51
4.1.3 数组的内存模型 51
4.1.4 访问一维数组元素 51
4.1.5 一维数组初始化 52
4.1.6 使用增强型循环访问数组元素 54
4.2 多维数组 54
4.2.1 二维数组的声明 55
4.2.2 为二维数组分配空间 55
4.2.3 访问二维数组元素 55
4.2.4 二维数组初始化 55
4.3 命令行参数 57
4.3.1 命令行参数的概念 57
4.3.2 命令行参数的获取与使用 57
4.4 小结 58
4.5 习题 58
第5章 类和对象 60
5.1 面向对象的基本概念 60
5.1.1 对象的概念 60
5.1.2 类的概念 61
5.1.3 继承 61
5.1.4 多态 62
5.2 类 63
5.2.1 类的定义 63
5.2.2 域的定义 63
5.2.3 方法的定义与使用 64
5.3 对象 69
5.3.1 Java中对象的概念 69
5.3.2 对象的创建与表示 69
5.3.3 对象的内存模型 70
5.3.4 对象的使用 70
5.3.5 this关键字 71
5.4 访问权限 73
5.4.1 访问权限的概念 73
5.4.2 私有域和私有方法 73
5.4.3 公有域和公有方法 73
5.4.4 保护的域和保护的方法 74
5.4.5 默认访问权限的域和方法 74
5.4.6 public类 76
5.5 构造方法 76
5.5.1 构造方法的作用 76
5.5.2 实例初始化器 76
5.5.3 构造方法的定义与使用 76
5.6 参数的传递 79
5.6.1 基本类型数据作方法的参数 79
5.6.2 引用类型作方法的参数 80
5.7 对象组合 82
5.7.1 对象组合的概念 82
5.7.2 组合类的定义与使用 83
5.8 package和import 85
5.8.1 package语句 85
5.8.2 import语句 88
5.9 对象数组 89
5.9.1 对象数组的概念 89
5.9.2 对象数组的定义与使用 89
5.10 static与static修饰成员 91
5.10.1 static修饰域 92
5.10.2 static修饰方法 93
5.10.3 静态初始化器 95
5.11 其他类型的类 96
5.11.1 内部类 97
5.11.2 匿名类 99
5.11.3 局部类 100
5.12 小结 100
5.13 习题 100
第6章 继承与多态 102
6.1 子类及其对象 102
6.1.1 子类定义 102
6.1.2 子类成员的可访问性 103
6.1.3 instanceof运算符 105
6.2 域的隐藏和方法的重写 106
6.2.1 域的隐藏 106
6.2.2 方法的重写 107
6.2.3 super关键字 109
6.3 对象的赋值兼容规则 113
6.4 final关键字 113
6.4.1 final修饰类 113
6.4.2 final修饰方法 113
6.4.3 常量 114
6.5 多态 114
6.5.1 多态概念 114
6.5.2 多态的实现 114
6.6 abstract关键字 117
6.6.1 abstract修饰类 117
6.6.2 abstract修饰方法 118
6.7 小结 120
6.8 习题 120
第7章 接口和枚举 121
7.1 接口 121
7.1.1 接口的概念与定义 121
7.1.2 接口与abstract类 122
7.2 实现接口 123
7.2.1 用类实现接口 123
7.2.2 定义接口中的方法 123
7.3 接口与多态 125
7.3.1 接口多态的概念 125
7.3.2 通过接口实现多态 125
7.4 接口的设计与使用 128
7.5 枚举 131
7.5.1 简单的枚举类 131
7.5.2 复杂的枚举类 132
7.6 小结 134
7.7 习题 134
第8章 异常处理 135
8.1 异常 135
8.1.1 异常的概念 135
8.1.2 异常的类型 135
8.1.3 程序中的常见异常 136
8.2 异常处理 137
8.2.1 Java异常处理机制 137
8.2.2 try-catch-finally处理异常 138
8.2.3 throw抛出异常 140
8.2.4 自定义异常类 141
8.2.5 方法声明抛出异常 142
8.2.6 finally和return 144
8.3 用断言调试程序 144
8.4 小结 145
8.5 习题 145
第二篇 Java常用基础类
第9章 常用实用类 148
9.1 字符串处理与字符串类 148
9.1.1 字符串处理问题 148
9.1.2 字符串类 150
9.1.3 Scanner类与字符串 154
9.2 正则表达式与字符串处理 155
9.2.1 正则表达式 155
9.2.2 Pattern类和Matcher类 157
9.3 数学计算与数学类 157
9.4 日期和日历类 160
9.4.1 日期类Date 161
9.4.2 日历类Calendar 161
9.5 包装类 162
9.6 小结 163
9.7 习题 164
第10章 泛型、集合、反射和注解 165
10.1 泛型 165
10.1.1 泛型在集合中的主要应用 165
10.1.2 声明泛型类 165
10.1.3 声明泛型接口 169
10.1.4 声明泛型方法 171
10.1.5 泛型参数的限定 172
10.2 集合 173
10.2.1 List接口 174
10.2.2 Stack类 174
10.2.3 ArrayList类 175
10.2.4 Vector类 176
10.2.5 Queue接口 177
10.2.6 LinkedList类 178
10.2.7 HashSet类 179
10.3 反射和注解 181
10.3.1 反射 181
10.3.2 注解 185
10.4 小结 190
10.5 习题 190
第11章 Java多线程机制 192
11.1 线程基本概念 192
11.1.1 操作系统与进程 192
11.1.2 进程与线程 193
11.2 线程的创建 193
11.2.1 扩展Thread类 193
11.2.2 实现接口Runnable 194
11.3 线程状态及转换 195
11.3.1 线程的状态 195
11.3.2 线程状态转换 195
11.4 线程调度 196
11.4.1 线程优先级 196
11.4.2 线程调度 196
11.5 线程常用方法 197
11.5.1 常用方法 197
11.5.2 线程让步 199
11.5.3 线程联合 200
11.5.4 守护线程 201
11.6 线程同步与锁机制 203
11.6.1 线程同步概述 203
11.6.2 线程同步举例 204
11.6.3 线程安全 207
11.6.4 线程死锁 208
11.7 线程的交互 210
11.8 小结 211
11.9 习题 212
第12章 输入输出流 219
12.1 流的概念 219
12.1.1 流 219
12.1.2 流的分类 220
12.2 File类 221
12.2.1 文件对象与文件属性 221
12.2.2 目录 223
12.2.3 文件的操作 224
12.2.4 Scanner类与文件 225
12.3 字节流和字符流 226
12.3.1 字节流 226
12.3.2 字符流 229
12.4 数据流 231
12.4.1 数据输入流 232
12.4.2 数据输出流 232
12.5 缓冲流 233
12.5.1 缓冲输入流 234
12.5.2 缓冲输出流 234
12.6 随机流 236
12.6.1 随机流的概念 236
12.6.2 RandomAccessFile流类 236
12.6.3 字符串乱码的处理 238
12.7 对象流 238
12.7.1 对象流概念 238
12.7.2 对象的序列化 239
12.7.3 对象输入流与对象输出流 239
12.8 小结 241
12.9 习题 241
第13章 图形用户界面 242
13.1 图形用户界面概述 242
13.1.1 抽象窗口工具集AWT 242
13.1.2 Swing组件 243
13.1.3 组件与事件 244
13.2 窗口 244
13.2.1 JFrame类及常用方法 244
13.2.2 窗口菜单 245
13.3 常用组件与布局 247
13.3.1 常用组件 247
13.3.2 常用容器 250
13.3.3 常用布局 252
13.4 事件处理 261
13.4.1 事件处理模型 261
13.4.2 ActionEvent事件 262
13.4.3 MouseEvent事件 264
13.4.4 KeyEvent事件 267
13.4.5 ItemEvent事件 268
13.4.6 FocusEvent事件 271
13.4.7 DocumentEvent事件 271
13.4.8 窗口事件 272
13.5 对话框 273
13.5.1 消息对话框 273
13.5.2 输入对话框 274
13.5.3 确认对话框 274
13.5.4 颜色对话框 274
13.5.5 自定义对话框 275
13.6 小结 275
13.7 习题 275
第14章 网络编程 276
14.1 网络基础 276
14.1.1 网络基本概念 276
14.1.2 TCP和UDP协议 277
14.2 基于URL的网络编程 278
14.2.1 URL基础 278
14.2.2 网络资源访问 279
14.3 InetAddress类 279
14.3.1 地址的表示 280
14.3.2 获取地址 280
14.4 套接字 281
14.4.1 套接字概述 281
14.4.2 客户端套接字 282
14.4.3 服务器端套接字 283
14.4.4 多线程网络编程 285
14.5 UDP数据报 290
14.5.1 发送数据包 290
14.5.2 接收数据包 290
14.6 广播数据报 293
14.6.1 广播端 293
14.6.2 接收端 294
14.7 小结 295
14.8 习题 295
第15章 数据库编程 296
15.1 数据库编程基础 296
15.1.1 JDBC数据库应用模型 296
15.1.2 JDBC驱动程序 297
15.1.3 用JDBC-ODBC桥驱动连接数据库 297
15.1.4 JDBC常用API 300
15.2 数据库基本操作 307
15.2.1 数据插入操作 307
15.2.2 数据删除操作 308
15.2.3 数据更新操作 309
15.2.4 数据查询操作 309
15.2.5 编译预处理 312
15.3 事务处理 313
15.3.1 事务概述 313
15.3.2 常用事务处理方法 314
15.4 小结 317
15.5 习题 317
附录A ASCII对照表 318
附录B 数据存储形式及数制转换 320
B.1 数据在计算机内的存储形式 320
B.2 数制转换 321
B.2.1 二进制和十进制数之间的转换 321
B.2.2 八进制数、十六进制数和十进制数之间的转换 321
参考文献 322