《Java程序设计经典课堂》PDF下载

  • 购买积分:15 如何计算积分?
  • 作  者:金松河,王捷,黄永丽编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2014
  • ISBN:9787302366355
  • 页数:462 页
图书介绍:本书对于较难以理解的概念,采用循序渐进、逐步展开的方式进行介绍;对于不容易理解的问题,采用大量简单的示例进行说明,书中的这些示例都是作者精心设计的,具有很强的针对性。全书介绍了Java的运行开发环境、基本数据类型、控制语句、类、对象、接口、常用类、异常处理、Swing组件、多线程、输入/输出流、网络编程和数据库连接技术等内容。最后,通过综合实例对书中各章节的知识点进行了综合应用。

第1章 初识Java语言 1

1.1 Java语言发展史及特点 1

1.1.1 Java语言简介 1

1.1.2 Java语言特点 3

1.2 Java开发环境的配置 5

1.2.1 JDK的安装 5

1.2.2 系统环境变量的设置 8

1.2.3 编译和执行程序命令用法 8

1.2.4 集成开发环境Eclipse介绍 10

1.3 Java应用程序示例 14

知识回顾 15

项目实训 16

第2章 Java语言入门必备 17

2.1 标识符和关键字 17

2.1.1 标识符 17

2.1.2 关键字 17

2.2 常量和变量 18

2.2.1 常量 18

2.2.2 变量 18

2.2.3 变量作用域 19

2.3 基本数据类型 20

2.3.1 4大类基本数据类型 20

2.3.2 数据类型转换 22

2.4 运算符和表达式 23

2.4.1 赋值运算符与赋值表达式 23

2.4.2 算术运算符与算术表达式 23

2.4.3 关系运算符与关系表达式 25

2.4.4 逻辑运算符与逻辑表达式 25

2.4.5 位运算符 26

2.4.6 移位运算符 26

2.4.7 条件运算符 28

2.4.8 运算符的优先级与结合性 28

2.5 控制语句 29

2.5.1 分支语句 29

2.5.2 循环语句 33

2.5.3 跳转语句 38

2.6 Java注释语句 39

2.7 数组 40

2.7.1 维数组 40

2.7.2 二维数组 42

2.7.3 数组使用举例 43

知识回顾 45

项目实训 46

第3章 面向对象程序设计(基础篇) 47

3.1 面向对象程序设计概述 47

3.1.1 面向过程程序设计 47

3.1.2 面向对象程序设计 48

3.1.3 面向对象方法的特征 48

3.2 类与对象 51

3.2.1 类的声明 51

3.2.2 类的实例对象及使用 54

3.3 构造方法 57

3.3.1 构造方法的定义与作用 57

3.3.2 构造方法的重载 58

3.3.3 构造方法的一些细节 60

3.4 this引用句柄 61

3.5 垃圾回收机制 64

3.5.1 finalize方法 64

3.5.2 System.gc的作用 64

3.6 方法中的参数传递 65

3.6.1 基本数据类型的参数传递 65

3.6.2 引用数据类型的参数传递 66

3.6.3 命令行参数 67

3.7 访问控制 68

3.7.1 Java中的访问控制 68

3.7.2 static关键字的使用 69

3.7.3 final关键字的使用 72

知识回顾 73

项目实训 73

第4章 面向对象程序设计(高级篇) 75

4.1 继承和多态性的概念 75

4.1.1 继承的概述 75

4.1.2 多态性的概述 77

4.2 继承机制 77

4.2.1 继承的定义 77

4.2.2 继承的传递性 81

4.2.3 类中属性的继承与隐藏 82

4.2.4 类中方法的继承、覆盖与重载 82

4.2.5 在子类中使用构造方法 87

4.3 多态性 89

4.3.1 多态性的体现 89

4.3.2 静态多态性 89

4.3.3 动态多态性 89

4.3.4 父类对象与子类对象间的指代使用和转化 90

4.4 抽象类 92

4.4.1 抽象类的定义 92

4.4.2 抽象类的使用 93

4.5 包与接口 98

4.5.1 Java中的包 98

4.5.2 Java中的接口 101

4.6 内部类 105

4.7 匿名类 106

知识回顾 107

项目实训 108

第5章 常用类和接口 111

5.1 字符串处理类 111

5.1.1 String类 111

5.1.2 SuingBuffer类 119

5.2 泛型 122

5.2.1 泛型类 122

5.2.2 泛型方法 124

5.2.3 通配类型参数 125

5.3 集合框架 126

5.3.1 Collection接口及操作 127

5.3.2 Set接口及其实现类 128

5.3.3 对象排序 131

5.3.4 List接口及实现类 134

5.3.5 Map接口及其实现类 137

5.3.6 集合的输出 141

5.3.7 集合的工具类Collections 144

5.4 时间日期类 146

5.4.1 Date类 146

5.4.2 Calendar类 147

5.4.3 DateFormat类 148

5.4.4 SimpleDateFormat类 149

5.5 Math类 150

5.5.1 Math类的属性和方法 150

5.5.2 Math类的应用示例 151

5.6 随机数处理类Random 152

5.7 系统类System和Runtime 152

5.7.1 System类 152

5.7.2 RunTime类 155

知识回顾 157

项目实训 157

第6章 Java异常处理 159

6.1 异常概述 159

6.1.1 Java的异常处理机制 160

6.1.2 Java中异常类的层次结构 161

6.2 异常处理 163

6.2.1 使用try和catch捕获和处理异常 163

6.2.2 使用throws子句声明异常 170

6.2.3 throw语句 171

6.2.4 使用异常处理语句的注意事项 172

6.3 自定义异常 173

知识回顾 175

项目实训 175

第7章 图形用户界面设计 177

7.1 GUI编程基础 177

7.1.1 AWT与Swing的关系 177

7.1.2 GUI元素的分类 178

7.2 常用容器类 179

7.2.1 项层容器类 179

7.2.2 中间容器类 181

7.3 布局管理器 184

7.3.1 FlowLayout 184

7.3.2 BorderLayout 185

7.3.3 GridLayout 187

7.3.4 CardLayout 189

7.3.5 BoxLayout 190

7.4 Java的GUI事件处理 194

7.4.1 事件处理的基本过程 194

7.4.2 常用的事件类及其监听者 197

7.5 多监听程序与事件适配器 199

7.5.1 窗口事件的处理 200

7.5.2 事件适配器 201

7.5.3 键盘事件的处理 202

7.5.4 鼠标事件的处理 203

知识回顾 206

项目实训 206

第8章 常用Swing组件 207

8.1 常用Swing组件介绍 207

8.1.1 标签 207

8.1.2 文本组件 208

8.1.3 按钮组件 211

8.1.4 组合框 218

8.1.5 列表框 220

8.1.6 表格 222

8.2 菜单组件 224

8.2.1 菜单组件概述 224

8.2.2 下拉式菜单 225

8.2.3 弹出式菜单 228

8.3 对话框 229

8.3.1 Swing中的JDialog 229

8.3.2 标准对话框 230

8.3.3 文件对话框 233

知识回顾 235

项目实训 235

第9章 输入输出流 237

9.1 文件和目录的操作 237

9.2 输入输出流概述 240

9.2.1 流的基本概念 240

9.2.2 流类的层次结构 240

9.2.3 流类的基本用法 242

9.3 常用流类 243

9.3.1 字节输入流 243

9.3.2 字节输出流 246

9.3.3 字符输入流 251

9.3.4 字符输出流 255

9.3.5 流的转换 258

9.4 随机文件访问类 260

9.5 对象序列化 261

9.5.1 序列化的概念 261

9.5.2 ObjectOutputStream类 262

9.5.3 ObjectInputStream类 263

9.5.4 序列化示例 263

9.5.5 定制序列化 265

知识回顾 265

项目实训 266

第10章 多线程编程 267

10.1 多线程概述 267

10.1.1 线程基本概念 267

10.1.2 线程的运行机制 267

10.2 线程的创建和启动 269

10.2.1 线程的创建 269

10.2.2 线程的启动 272

10.3 线程状态和转换 274

10.4 线程控制 275

10.4.1 线程睡眠 275

10.4.2 线程让步 277

10.4.3 线程间协作 278

10.4.4 后台线程 280

10.4.5 线程优先级 281

10.5 线程同步处理 281

10.5.1 多线程引发的问题 282

10.5.2 同步代码块 283

10.5.3 同步方法 286

10.5.4 线程间通信 288

10.5.5 死锁 291

知识回顾 293

项目实训 293

第11章 数据库编程 295

11.1 数据库基础 295

11.1.1 关系数据库 295

11.1.2 数据的定义 295

11.1.3 数据的操纵语言 296

11.1.4 数据查询语言 297

11.2 JDBC基础 297

11.2.1 JDBC简介 297

11.2.2 JDBC驱动类型 299

11.3 使用JDBC访问数据库 300

11.3.1 JDBC使用基本流程 300

11.3.2 数据库驱动程序的加载 301

11.3.3 连接数据库 302

11.3.4 数据库的操纵 304

11.3.5 操作结果的处理与访问 307

11.3.6 JDBC的关闭操作 309

11.4 数据库编程实例 310

11.4.1 数据连接的创建 310

11.4.2 数据库表的创建 312

11.4.3 添加数据信息 313

11.4.4 数据信息的修改 315

11.4.5 数据信息的删除 316

11.4.6 数据信息的查询 317

11.5 事务的处理 318

知识回顾 321

项目实训 321

第12章 网络编程技术 323

12.1 网络通信基础 323

12.1.1 基本概念 323

12.1.2 通信协议 324

12.1.3 Java网络编程技术 325

12.2 URL程序设计 325

12.2.1 URL 326

12.2.2 URLConnection 327

12.2.3 InetAddress 329

12.3 TCP程序设计 330

12.3.1 网络套接字 331

12.3.2 Socket 331

12.3.3 ServerSocket 333

12.3.4 TCP编程实例 335

12.4 UDP程序设计 339

12.4.1 数据报通信 339

12.4.2 DatagrarnPacket 340

12.4.3 DatagramSocket 341

12.4.4 MulticastSocket 347

知识回顾 353

项目实训 354

第13章 进销存管理系统 355

13.1 进销存管理系统概述 355

13.1.1 开发背景 355

13.1.2 需求描述 355

13.2 系统设计 356

13.2.1 系统目标 356

13.2.2 系统功能结构 356

13.2.3 开发环境 357

13.2.4 文件夹组织结构 357

13.2.5 数据库设计 357

13.3 系统实现 360

13.3.1 主窗体设计 360

13.3.2 基础信息模块设计 360

13.3.3 进货管理模块设计 361

13.3.4 查询统计模块设计 362

13.3.5 库存管理模块设计 363

13.3.6 Java类的设计 363

13.4 系统打包与发布 396

知识回顾 397

第14章 图书馆管理系统 399

14.1 系统概述 399

14.1.1 项目背景 399

14.1.2 业务描述 399

14.2 系统设计 400

14.2.1 系统框架 400

14.2.2 角色分析 401

14.2.3 数据库设计 401

14.3 系统实现 403

14.3.1 代码组织 403

14.3.2 系统界面 405

14.3.3 代码设计 407

14.3.4 配置文件 446

14.3.5 图片文件 447

14.4 系统发布 448

14.4.1 运行环境 448

14.4.2 数据源配置 448

14.4.3 系统运行 449

14.4.4 系统部署 450

知识回顾 451

附录A程序编码规范及常见问题 453

A.1 命名规范 453

A.2 注释 454

A.2.1 类注释 455

A.2.2 方法注释 455

A.2.3 语句块注释 455

A.2.4 尾端注释 456

A.2.5 行末注释 456

A.2.6 文档注释 456

A.3 常见Java不规范代码 457

A.3.1 在Eclipse中格式化源代码并管理import语句 457

A.3.2 避免在方法中出现多个return语句(退出点) 457

A.3.3 简化if-else方法 458

A.3.4 在代码块周围使用大括号 458

A.3.5 把方法的参数声明为final类型 458

A.3.6 把多个if语句合并成一个 459

A.3.7 避免重复使用同样的字符串,创建一个常量吧 459

A.4 常见问题汇总 459

A.4.1 字符串连接误用 459

A.4.2 错误使用StringBuffer 460

A.4.3 测试字符串相等性 460

A.4.4 数字转换成字符串 461

A.4.5 利用不可变对象(Immutable) 461

A.4.6 未指定字符编码 461

A.4.7 未对数据流进行缓存 461

A.4.8 不必要的初始化 462

A.4.9 用数组来描述一个结构 462