《JAVA从入门到精通 第5版》PDF下载

  • 购买积分:16 如何计算积分?
  • 作  者:明日科技编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2019
  • ISBN:9787302517597
  • 页数:545 页
图书介绍:全书共分18章,第1~6章介绍了Java语言的开发环境和基础知识,主要包括JDK的安装、环境变量的配置、Eclipse的按装和使用、语言基础、流程控制语句等。第7章~第11章介绍了字符串、数组、面向对象编程、继承和多态。第12章~第17章介绍了抽象类、接口、内部类、集合、异常处理、JDBC编程和Swing程序设计。最后1章为实际应用,介绍了企业通讯通系统开发全过程。

第1篇 基础知识 2

第1章 初识Java 2

1.1 Java简介 3

1.1.1 什么是Java语言 3

1.1.2 Java的应用领域 3

1.1.3 Java的版本 4

1.1.4 怎样学好Java 5

1.1.5 Java API文档 6

1.2 Java语言的特性 7

1.2.1 简单 7

1.2.2 面向对象 7

1.2.3 分布性 7

1.2.4 可移植性 7

1.2.5 解释型 8

1.2.6 安全性 8

1.2.7 健壮性 8

1.2.8 多线程 8

1.2.9 高性能 8

1.2.10 动态 8

1.3 搭建Java环境 9

1.3.1 JDK下载 9

1.3.2 Windows系统的JDK环境 10

1.4 小结 13

第2章 熟悉Eclipse开发工具 14

2.1 熟悉Eclipse 15

2.1.1 Eclipse简介 15

2.1.2 下载Eclipse 15

2.1.3 安装Eclipse的中文语言包 17

2.1.4 Eclipse的配置与启动 19

2.1.5 Eclipse工作台 20

2.1.6 透视图与视图 21

2.1.7 菜单栏 21

2.1.8 工具栏 25

2.1.9 “包资源管理器”视图 25

2.1.10 “控制台”视图 26

2.2 使用Eclipse 26

2.2.1 创建Java项目 26

2.2.2 创建Java类文件 27

2.2.3 使用编辑器编写程序代码 28

2.2.4 运行Java程序 31

2.3 程序调试 31

2.4 小结 33

2.5 实践与练习 33

第3章Java语言基础 34

3.1 Java主类结构 35

3.1.1 包声明 35

3.1.2 声明成员变量和局部变量 36

3.1.3 编写主方法 36

3.1.4 导入API类库 36

3.2 基本数据类型 36

3.2.1 整数类型 37

3.2.2 浮点类型 38

3.2.3 字符类型 39

3.2.4 布尔类型 40

3.3 变量与常量 40

3.3.1 标识符和关键字 41

3.3.2 声明变量 41

3.3.3 声明常量 42

3.3.4 变量的有效范围 43

3.4 运算符 44

3.4.1 赋值运算符 45

3.4.2 算术运算符 46

3.4.3 自增和自减运算符 47

3.4.4 比较运算符 47

3.4.5 逻辑运算符 48

3.4.6 位运算符 49

3.4.7 三元运算符 51

3.4.8 运算符优先级 51

3.5 数据类型转换 52

3.5.1 隐式类型转换 53

3.5.2 显式类型转换 54

3.6 代码注释与编码规范 54

3.6.1 代码注释 55

3.6.2 编码规范 56

3.7 小结 56

3.8 实践与练习 57

第4章 流程控制 58

4.1 复合语句 59

4.2 条件语句 60

4.2.1 if条件语句 60

4.2.2 switch多分支语句 64

4.3 循环语句 66

4.3.1 while循环语句 67

4.3.2 do…while循环语句 68

4.3.3 for循环语句 69

4.4 循环控制 71

4.4.1 break语句 71

4.4.2 continue语句 73

4.5 小结 75

4.6 实践与练习 75

第5章 字符串 76

5.1 String类 77

5.1.1 声明字符串 77

5.1.2 创建字符串 77

5.2 连接字符串 78

5.2.1 连接多个字符串 79

5.2.2 连接其他数据类型 79

5.3 获取字符串信息 80

5.3.1 获取字符串长度 81

5.3.2 字符串查找 81

5.3.3 获取指定索引位置的字符 82

5.4 字符串操作 83

5.4.1 获取子字符串 83

5.4.2 去除空格 84

5.4.3 字符串替换 85

5.4.4 判断字符串的开始与结尾 86

5.4.5 判断字符串是否相等 87

5.4.6 按字典顺序比较两个字符串 88

5.4.7 字母大小写转换 89

5.4.8 字符串分割 90

5.5 格式化字符串 92

5.5.1 日期和时间字符串格式化 92

5.5.2 常规类型格式化 95

5.6 使用正则表达式 96

5.7 字符串生成器 99

5.8 小结 101

5.9 实践与练习 101

第6章 数组 102

6.1 数组概述 103

6.2 一维数组的创建及使用 103

6.2.1 创建一维数组 103

6.2.2 初始化一维数组 104

6.2.3 使用一维数组 105

6.3 二维数组的创建及使用 105

6.3.1 二维数组的创建 105

6.3.2 二维数组初始化 106

6.3.3 使用二维数组 107

6.4 数组的基本操作 108

6.4.1 遍历数组 108

6.4.2 填充替换数组元素 109

6.4.3 对数组进行排序 111

6.4.4 复制数组 112

6.4.5 数组查询 113

6.5 数组排序算法 115

6.5.1 冒泡排序 115

6.5.2 直接选择排序 117

6.5.3 反转排序 119

6.6 小结 121

6.7 实践与练习 121

第7章 类和对象 122

7.1 面向对象概述 123

7.1.1 对象 123

7.1.2 类 124

7.1.3 封装 125

7.1.4 继承 125

7.1.5 多态 126

7.2 类 127

7.2.1 成员变量 127

7.2.2 成员方法 128

7.2.3 权限修饰符 128

7.2.4 局部变量 130

7.2.5 局部变量的有效范围 130

7.2.6 this关键字 131

7.3 类的构造方法 132

7.4 静态变量、常量和方法 133

7.5 类的主方法 135

7.6 对象 136

7.6.1 对象的创建 136

7.6.2 访问对象的属性和行为 138

7.6.3 对象的引用 140

7.6.4 对象的比较 141

7.6.5 对象的销毁 141

7.7 小结 142

7.8 实践与练习 142

第8章 包装类 144

8.1 Integer 145

8.2 Boolean 147

8.3 Byte 149

8.4 Character 150

8.5 Double 151

8.6 Number 152

8.7 小结 153

8.8 实践与练习 153

第9章 数字处理类 154

9.1 数字格式化 155

9.2 数学运算 157

9.2.1 Math类 157

9.2.2 常用数学运算方法 158

9.3 随机数 162

9.3.1 Math.random()方法 162

9.3.2 Random类 164

9.4 大数字运算 165

9.4.1 BigInteger 165

9.4.2 BigDecimal 167

9.5 小结 170

9.6 实践与练习 170

第2篇 核心技术 172

第10章 接口、继承与多态 172

10.1 类的继承 173

10.2 Object类 176

10.3 对象类型的转换 178

10.3.1 向上转型 178

10.3.2 向下转型 179

10.4 使用instanceof操作符判断对象类型 180

10.5 方法的重载 182

10.6 多态 185

10.7 抽象类与接口 186

10.7.1 抽象类 186

10.7.2 接口 188

10.8 小结 190

10.9 实践与练习 191

第11章 类的高级特性 192

11.1 Java类包 193

11.1.1 类名冲突 193

11.1.2 完整的类路径 193

11.1.3 创建包 194

11.1.4 导入包 195

11.2 final变量 197

11.3 final方法 199

11.4 final类 201

11.5 内部类 201

11.5.1 成员内部类 202

11.5.2 局部内部类 206

11.5.3 匿名内部类 206

11.5.4 静态内部类 207

11.5.5 内部类的继承 208

11.6 小结 209

11.7 实践与练习 209

第12章 异常处理 210

12.1 异常概述 211

12.2 处理程序异常错误 211

12.2.1 错误 212

12.2.2 捕捉异常 212

12.3 Java常见异常 214

12.4 自定义异常 215

12.5 在方法中抛出异常 216

12.5.1 使用throws关键字抛出异常 216

12.5.2 使用throw关键字抛出异常 217

12.6 运行时异常 219

12.7 异常的使用原则 219

12.8 小结 220

12.9 实践与练习 220

第13章Swing程序设计 221

13.1 Swing概述 222

13.1.1 Swing特点 222

13.1.2 Swing包 222

13.1.3 常用Swing组件概述 223

13.2 常用窗体 223

13.2.1 JFrame窗体 223

13.2.2 JDialog窗体 225

13.3 标签组件与图标 227

13.3.1 标签的使用 227

13.3.2 图标的使用 228

13.4 常用布局管理器 230

13.4.1 绝对布局 231

13.4.2 流布局管理器 232

13.4.3 边界布局管理器 233

13.4.4 网格布局管理器 234

13.4.5 网格组布局管理器 236

13.5 常用面板 241

13.5.1 JPanel面板 242

13.5.2 JScrollPane面板 243

13.6 按钮组件 244

13.6.1 提交按钮组件 244

13.6.2 单选按钮组件 245

13.6.3 复选框组件 246

13.7 列表组件 247

13.7.1 下拉列表框组件 248

13.7.2 列表框组件 249

13.8 文本组件 251

13.8.1 文本框组件 251

13.8.2 密码框组件 252

13.8.3 文本域组件 253

13.9 常用事件监听器 254

13.9.1 监听事件简介 254

13.9.2 动作事件监听器 254

13.9.3 焦点事件监听器 256

13.10 小结 257

13.11 实践与练习 257

第14章 集合类 258

14.1 集合类概述 259

14.2 Collection接口 259

14.3 List集合 260

14.3.1 List接口 260

14.3.2 List接口的实现类 261

14.4 Set集合 262

14.5 Map集合 264

14.5.1 Map接口 265

14.5.2 Map接口的实现类 266

14.6 小结 268

14.7 实践与练习 268

第15章 I/O(输入/输出) 269

15.1 流概述 270

15.2 输入/输出流 270

15.2.1 输入流 270

15.2.2 输出流 272

15.3 File类 273

15.3.1 文件的创建与删除 273

15.3.2 获取文件信息 274

15.4 文件输入/输出流 275

15.4.1 FileInputStream与FileOutputStream类 276

15.4.2 FileReader和FileWriter类 277

15.5 带缓存的输入/输出流 279

15.5.1 BufferedInputStream与BufferedOutput Stream类 279

15.5.2 BufferedReader与BufferedWriter类 280

15.6 数据输入/输出流 281

15.7 ZIP压缩输入/输出流 283

15.7.1 压缩文件 283

15.7.2 解压缩ZIP文件 285

15.8 小结 286

15.9 实践与练习 287

第16章 反射 288

16.1 Class类与Java反射 289

16.1.1 访问构造方法 290

16.1.2 访问成员变量 293

16.1.3 访问方法 296

16.2 使用Annotation功能 299

16.2.1 定义Annotation类型 299

16.2.2 访问Annotation信息 302

16.3 小结 305

16.4 实践与练习 305

第17章 枚举类型与泛型 306

17.1 枚举类型 307

17.1.1 使用枚举类型设置常量 307

17.1.2 深入了解枚举类型 309

17.1.3 使用枚举类型的优势 314

17.2 泛型 314

17.2.1 回顾向上转型与向下转型 314

17.2.2 定义泛型类 315

17.2.3 泛型的常规用法 317

17.2.4 泛型的高级用法 320

17.2.5 泛型总结 322

17.3 小结 323

17.4 实践与练习 323

第18章 多线程 324

18.1 线程简介 325

18.2 实现线程的两种方式 325

18.2.1 继承Thread类 326

18.2.2 实现Runnable接口 327

18.3 线程的生命周期 329

18.4 操作线程的方法 331

18.4.1 线程的休眠 331

18.4.2 线程的加入 333

18.4.3 线程的中断 334

18.4.4 线程的礼让 336

18.5 线程的优先级 336

18.6 线程同步 338

18.6.1 线程安全 338

18.6.2 线程同步机制 340

18.7 小结 342

18.8 实践与练习 342

第19章 网络通信 343

19.1 网络程序设计基础 344

19.1.1 局域网与因特网 344

19.1.2 网络协议 344

19.1.3 端口和套接字 345

19.2 TCP程序设计基础 346

19.2.1 InetAddress类 346

19.2.2 ServerSocket类 347

19.2.3 TCP网络程序 348

19.3 UDP程序设计基础 351

19.3.1 DatagramPacket类 352

19.3.2 DatagramSocket类 352

19.3.3 UDP网络程序 353

19.4 小结 356

19.5 实践与练习 356

第20章 数据库操作 357

20.1 数据库基础知识 358

20.1.1 什么是数据库 358

20.1.2 数据库的种类及功能 359

20.1.3 SQL语言 359

20.2 JDBC概述 361

20.2.1 JDBC-ODBC桥 361

20.2.2 JDBC技术 361

20.2.3 JDBC驱动程序的类型 362

20.3 JDBC中常用的类和接口 362

20.3.1 Connection接口 362

20.3.2 Statement接口 363

20.3.3 PreparedStatement接口 363

20.3.4 DriverManager类 364

20.3.5 ResultSet接口 364

20.4 数据库操作 365

20.4.1 连接数据库 365

20.4.2 向数据库发送SQL语句 367

20.4.3 处理查询结果集 367

20.4.4 顺序查询 367

20.4.5 模糊查询 368

20.4.6 预处理语句 370

20.4.7 添加、修改、删除记录 371

20.5 小结 373

20.6 实践与练习 373

第3篇 高级应用 375

第21章 Swing表格组件 375

21.1 利用JTable类直接创建表格 376

21.1.1 创建表格 376

21.1.2 定制表格 378

21.1.3 操纵表格 382

21.2 表格模型与表格 384

21.2.1 利用表格模型创建表格 384

21.2.2 维护表格模型 386

21.3 提供行标题栏的表格 388

21.4 小结 392

21.5 实践与练习 392

第22章 Swing树组件 393

22.1 简单的树 394

22.2 处理选中节点事件 395

22.3 遍历树节点 397

22.4 定制树 399

22.5 维护树模型 401

22.6 处理展开节点事件 404

22.7 小结 406

22.8 实践与练习 406

第23章 Swing其他高级组件 407

23.1 高级组件面板 408

23.1.1 分割面板 408

23.1.2 选项卡面板 410

23.1.3 桌面面板和内部窗体 413

23.2 菜单 417

23.2.1 创建菜单栏 417

23.2.2 创建弹出式菜单 419

23.2.3 定制个性化菜单 420

23.3 工具栏 424

23.4 文件选择器 425

23.4.1 文件选择对话框 425

23.4.2 使用文件过滤器 426

23.5 进 度条 428

23.6 系统托盘 429

23.7 桌面集成控件 431

23.8 小结 431

23.9 实践与练习 432

第24章 高级事件处理 433

24.1 键盘事件 434

24.2 鼠标事件 436

24.3 窗体事件 438

24.3.1 捕获窗体焦点变化事件 438

24.3.2 捕获窗体状态变化事件 439

24.3.3 捕获其他窗体事件 441

24.4 选项事件 442

24.5 表格模型事件 444

24.6 小结 446

24.7 实践与练习 447

第25章 AWT绘图 448

25.1 Java绘图 449

25.1.1 Graphics 449

25.1.2 Graphics2D 449

25.2 绘制图形 449

25.3 绘图颜色与画笔属性 453

25.3.1 设置颜色 453

25.3.2 画笔属性 454

25.4 绘制文本 455

25.4.1 设置字体 456

25.4.2 显示文字 456

25.5 绘制图片 457

25.6 图像处理 459

25.6.1 放大与缩小 459

25.6.2 图像翻转 461

25.6.3 图像旋转 463

25.6.4 图像倾斜 464

25.7 小结 466

25.8 实践与练习 466

第4篇 项目实战 468

第26章 奔跑吧,小恐龙! 468

26.1 开发背景 469

26.2 系统结构设计 469

26.2.1 系统功能结构 469

26.2.2 系统业务流程 470

26.3 项目目录结构预览 470

26.4 游戏模型设计 471

26.4.1 恐龙类 471

26.4.2 障碍类 474

26.5 音效模块设计 475

26.5.1 音频播放器 476

26.5.2 音效工具类 477

26.6 计分器模块设计 478

26.7 视图模块设计 481

26.7.1 主窗体 481

26.7.2 游戏面板 483

26.7.3 成绩对话框 485

26.8 游戏核心功能设计 487

26.8.1 刷新帧 487

26.8.2 滚动背景 488

26.8.3 碰撞检测 489

26.8.4 键盘监听 490

26.9 小结 491

第27章 企业进销存管理系统 492

27.1 系统分析 493

27.1.1 需求分析 493

27.1.2 可行性分析 493

27.1.3 编写项目计划书 494

27.2 系统设计 496

27.2.1 系统目标 496

27.2.2 系统功能结构 496

27.2.3 系统业务流程图 497

27.2.4 系统编码规范 498

27.3 开发环境 499

27.4 数据库与数据表设计 500

27.4.1 数据库分析 500

27.4.2 创建数据库 500

27.4.3 创建数据表 501

27.5 创建项目 505

27.6 系统文件夹组织结构 506

27.7 公共类设计 506

27.7.1 Item公共类 506

27.7.2 数据模型公共类 507

27.7.3 Dao公共类 509

27.8 系统登录模块设计 519

27.8.1 设计登录窗体 519

27.8.2 “密码”文本框的回车事件 520

27.8.3 “登录”按钮的事件处理 520

27.9 系统主窗体设计 522

27.9.1 设计菜单栏 522

27.9.2 设计工具栏 524

27.9.3 设计状态栏 525

27.10 进货单模块设计 526

27.10.1 设计进货单窗体 527

27.10.2 添加进货商品 528

27.10.3 进货统计 529

27.10.4 商品入库 530

27.11 销售单模块设计 532

27.11.1 设计销售单窗体 533

27.11.2 添加销售商品 533

27.11.3 销售统计 534

27.11.4 商品销售 535

27.12 库存盘点模块设计 536

27.12.1 设计库存盘点窗体 537

27.12.2 读取库存商品 537

27.12.3 统计损益数量 539

27.13 数据库备份与恢复模块设计 540

27.13.1 设计窗体 540

27.13.2 文件浏览 540

27.13.3 备份数据库 541

27.13.4 恢复数据库 542

27.14 运行项目 543

27.15 开发常见问题与解决 544

27.15.1 无法打开内部窗体 544

27.15.2 “关于”界面被其他窗体覆盖 545

27.15.3 程序运行后没有出现闪屏界面 545

27.16 小结 545