图书目录

目    录

第1章  Java语言基础 1

1.1  Java语言简介 1

1.1.1  Java发展 1

1.1.2  Java平台 2

1.1.3  Java开发环境 2

1.2  简单的Java程序 4

1.2.1  编辑Java源文件 4

1.2.2  编译源程序 4

1.2.3  运行Java应用程序 5

1.2.4  程序分析 5

1.3  关键字与标识符 8

1.3.1  关键字 8

1.3.2  标识符 8

1.4  数据类型 9

1.4.1  整数类型 10

1.4.2  浮点类型 10

1.4.3  字符类型 10

1.4.4  布尔类型 11

1.5  变量声明与赋值 11

1.6  运算符与表达式 12

1.6.1  算术运算 12

1.6.2  关系运算 12

1.6.3  布尔运算 13

1.6.4  位运算 13

1.6.5  其他运算 14

1.6.6  运算符的优先级与结合性 15

1.6.7  类型转换 15

1.6.8  表达式 16

1.7  枚举类型 17

1.8  流程控制 17

1.8.1  if语句 17

1.8.2  switch语句 18

1.8.3  while语句 20

1.8.4  do…while语句 20

1.8.5  for语句 20

1.8.6  流程转移语句 22

习题 23

第2章  类和对象 25

2.1  面向对象的软件开发过程 25

2.2  类和对象的基本概念 25

2.3  类的定义 26

2.3.1  定义类 26

2.3.2  属性 27

2.3.3  构造方法 28

2.3.4  方法 28

2.4  对象的使用 31

2.4.1  创建对象 31

2.4.2  使用对象 31

2.5  封装 33

2.5.1  封装与信息隐藏 33

2.5.2  Getter和Setter方法 33

2.6  方法重载 34

2.7  this关键字 36

2.7.1  使用当前对象 36

2.7.2  调用构造方法 37

2.8  类成员和实例成员 38

2.8.1  类属性和实例属性 38

2.8.2  类方法和实例方法 38

2.8.3  类属性和实例属性的初始化 40

2.9  包和模块 41

2.9.1  包 42

2.9.2  模块 43

2.10  嵌套类 44

2.10.1  静态嵌套类 44

2.10.2  内部类 45

2.10.3  局部类 47

习题 49

第3章  继承和多态 50

3.1  类的继承 50

3.1.1  继承概念 50

3.1.2  继承实现 50

3.1.3  方法覆盖 51

3.1.4  super关键字 52

3.1.5  类型转换 55

3.1.6  java.lang.Object类 57

3.1.7  final关键字 61

3.2  访问控制 62

3.2.1  私有访问权限 63

3.2.2  包访问权限 63

3.2.3  子类访问权限 64

3.2.4  公共访问权限 65

3.3  抽象类与接口 65

3.3.1  抽象类 66

3.3.2  接口定义 67

3.3.3  接口实现 68

3.3.4  使用接口类型 69

3.4  多态 70

3.4.1  继承与多态 71

3.4.2  接口与多态 72

3.4.3  多态的优点 73

3.5  设计模式 74

3.5.1  单例模式 74

3.5.2  策略模式 75

习题 77

第4章  数组与字符串 79

4.1  数组 79

4.1.1  创建数组 79

4.1.2  访问数组元素 80

4.1.3  数组初始化 81

4.1.4  数组参数与返回数组 82

4.2  数组的基本操作 84

4.2.1  数组复制 84

4.2.2  数组比较 86

4.2.3  数组排序 87

4.2.4  数组查找 91

4.3  多维数组 93

4.4  可变参数的方法 95

4.5  字符串 96

4.5.1  String 96

4.5.2  StringBuffer 和 StringBuilder 98

4.6  命令行参数 99

习题 100

第5章  泛型与集合框架 101

5.1  泛型 101

5.1.1  泛型类型 101

5.1.2  泛型方法 104

5.1.3  有界类型参数 105

5.1.4  泛型类型的继承 107

5.1.5  通配符 108

5.1.6  类型擦除 112

5.2  集合框架简介 115

5.2.1  集合接口 115

5.2.2  集合实现 117

5.2.3  集合算法 117

5.3  集合实现 118

5.3.1  ArrayList<E> 119

5.3.2  HashSet<E> 122

5.3.3  HashMap<K,V> 124

5.3.4  LinkedList<E> 126

5.4  集合算法 128

5.4.1  数据操作 129

5.4.2  排序 129

5.4.3  查找 130

习题 132

第6章  异常处理机制 133

6.1  异常 133

6.1.1  异常分类 133

6.1.2  常用标准异常类 134

6.2  异常处理 135

6.2.1  捕获异常 135

6.2.2  方法声明抛出异常 137

6.2.3  抛出异常 138

6.2.4  异常链 139

6.2.5  覆盖抛出异常的方法 140

6.3  自定义异常 141

6.3.1  创建自定义异常类 142

6.3.2  使用自定义异常 142

6.4  日志 143

6.4.1  日志记录器 143

6.4.2  使用全局日志记录器 144

6.4.3  使用自定义日志记录器 145

6.4.4  Java主流日志工具 146

6.5  断言 146

6.5.1  断言编译 147

6.5.2  打开与关闭断言 147

6.5.3  断言应用 148

习题 150

第7章  线程 151

7.1  线程的概念 151

7.2  线程的实现 151

7.2.1  继承Thread类 152

7.2.2  实现Runnable接口 153

7.2.3  实现Callable<V>接口 155

7.2.4  使用Lambda表达式 156

7.2.5  线程的生命周期 157

7.3  线程的控制 158

7.3.1  暂停线程执行 158

7.3.2  等待线程结束 158

7.3.3  中断线程执行 159

7.3.4  线程优先级 161

7.3.5  Daemon线程 161

7.4  多线程同步 162

7.4.1  原子操作 162

7.4.2  原子变量 163

7.4.3  基于对象锁的线程同步 164

7.4.4  wait()和notify() 167

7.5  线程池 170

7.5.1  Callable和Future 170

7.5.2  Executor接口 171

7.5.3  线程池 171

7.6  死锁问题 174

习题 174

第8章  输入/输出 176

8.1  流的概念 176

8.1.1  输入流和输出流 176

8.1.2  字节流和字符流 176

8.1.3  节点流和处理流 177

8.2  字节流 177

8.2.1  InputStream类 178

8.2.2  OutputStream类 178

8.2.3  字节流应用示例 179

8.3  字符流 181

8.3.1  Reader类 181

8.3.2  Writer类 182

8.3.3  字符流应用示例 182

8.4  命令行I/O 183

8.4.1  标准流 183

8.4.2  控制台 184

8.5  格式化I/O 185

8.5.1  格式化输入 185

8.5.2  格式化输出 188

8.6  对象的序列化和反序列化 189

8.7  随机访问文件 192

8.8  文件NIO 195

8.8.1  Path接口 195

8.8.2  文件和目录 198

8.8.3  文件和目录操作 200

8.8.4  文件读写 201

8.8.5  文件和目录属性 203

8.8.6  目录遍历 204

习题 208

第9章  图形用户界面 210

9.1  Swing概述 210

9.2  Swing容器 210

9.2.1  顶层容器JFrame 211

9.2.2  顶层容器JDialog 212

9.2.3  通用容器JPanel 214

9.2.4  通用容器JScrollPane 215

9.2.5  通用容器JSplitPane 216

9.2.6  通用容器JToolBar 218

9.3  Swing组件 218

9.3.1  标签 219

9.3.2  按钮 220

9.3.3  复选框 221

9.3.4  单选按钮 221

9.3.5  列表框 223

9.3.6  组合框 224

9.3.7  文本输入 225

9.3.8  进度条 227

9.3.9  菜单 228

9.4  布局管理器 232

9.4.1  BorderLayout 232

9.4.2  FlowLayout 233

9.4.3  BoxLayout 234

9.4.4  GridLayout 235

9.4.5  CardLayout 236

9.4.6  GridBagLayout 238

9.5  事件处理 241

9.5.1  事件处理机制 241

9.5.2  事件适配器 243

9.5.3  内部监听器 245

9.5.4  匿名监听器 245

9.5.5  事件处理实例 247

9.6  多媒体 251

9.6.1  绘图 252

9.6.2  基本图形 252

9.6.3  颜色和字体 253

9.6.4  图像 254

9.6.5  动画 257

习题 259

第10章  网络通信 260

10.1  网络基本概念 260

10.1.1  TCP协议 260

10.1.2  UDP协议 261

10.1.3  IP地址和端口 261

10.2  Java网络功能 262

10.2.1  网络接口层 262

10.2.2  网络层 263

10.2.3  传输层 265

10.2.4  应用层 266

10.3  基于TCP的网络通信 266

10.3.1  TCP服务器 267

10.3.2  TCP客户端 268

10.3.3  处理多客户请求 271

10.4  基于UDP的网络通信 274

10.4.1  UDP服务器 275

10.4.2  UDP客户端 276

10.4.3  多播通信 278

10.5  使用URL 282

10.5.1  创建URL对象 283

10.5.2  解析URL 284

10.5.3  读取URL资源内容 284

10.5.4  使用URL连接 285

10.5.5  与Servlet交互 287

习题 290

第11章  访问数据库 292

11.1  SQL语言 292

11.1.1  关系数据库简介 292

11.1.2  SQL语言 292

11.2  JDBC概述 294

11.3  使用JDBC访问数据库 295

11.4  使用SQLite数据库 298

11.4.1  SQLite简介 298

11.4.2  SQLite数据库基本操作 299

11.4.3  使用带参数的SQL语句 302

11.5  使用ResultSet更新数据库 304

习题 306

第12章  使用第三方类库 307

12.1  Maven构建工具 307

12.1.1  Maven仓库 308

12.1.2  Maven项目结构 309

12.1.3  简单Maven项目实例 309

12.2  常用的第三方类库 313

12.3  使用JSON数据 314

12.3.1  JSON基本语法 314

12.3.2  JSON数据解析与生成 314

12.4  使用统计图 318

12.5  处理Word文件 324

习题 328

参考文献 330