《Java编程指南》PDF下载

  • 购买积分:14 如何计算积分?
  • 作  者:关东升著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2019
  • ISBN:9787302526834
  • 页数:437 页
图书介绍:本书是一本Java语言学习立体教程,读者群是零基础小白,通过本书的学习能够成为Java大牛。主要内容包括:Java语法基础、Java编码规范、数据类型、运算符、控制语句、数组、字符串、面向对象基础、继承与多态、抽象类与接口、枚举类、Java常用类、集合框架、泛型、反射机制、Annotation注解、Lambda表达式、异常处理、输入输出、多线程、网络编程和图形用户界面编程、反射、注解和数据库编程等技术。

第1章 绪论 1

1.1 Java语言的发展历史 1

1.2 Java语言的特点 2

1.3 Java平台 4

1.3.1 Java SE 4

1.3.2 Java EE 4

1.3.3 Java ME 4

1.4 Java虚拟机 4

1.5 同步练习 5

第2章 开发环境搭建 6

2.1 JDK工具包 6

2.1.1 JDK下载和安装 6

2.1.2 设置环境变量 6

2.2 Eclipse开发工具 11

2.2.1 Eclipse下载和安装 11

2.2.2 安装中文语言包 15

2.2.3 Eclipse界面 17

2.2.4 Windows系统中常用快捷键 18

2.3 其他开发工具 19

2.3.1 IntelliJ IDEA 19

2.3.2 NetBeans IDE 19

2.3.3 文本编辑工具 21

2.4 同步练习 25

第3章 第一个Java程序 26

3.1 使用Eclipse实现 26

3.1.1 创建项目 26

3.1.2 创建类 28

3.1.3 运行程序 29

3.2 文本编辑工具+JDK实现 31

3.2.1 编写源代码文件 31

3.2.2 编译程序 32

3.2.3 运行程序 33

3.3 代码解释 34

3.4 同步练习 36

第4章 Java语法基础 37

4.1 标识符、关键字和保留字 37

4.1.1 标识符 37

4.1.2 关键字 37

4.1.3 保留字 38

4.2 Java分隔符 38

4.3 变量 39

4.4 常量 40

4.5 同步练习 41

第5章 数据类型 42

5.1 基本数据类型 42

5.2 整型类型 42

5.3 浮点类型 43

5.4 数值表示方式 44

5.4.1 进制数值表示 44

5.4.2 指数表示 45

5.5 字符类型 45

5.6 布尔类型 47

5.7 数值类型相互转换 47

5.7.1 自动类型转换 47

5.7.2 强制类型转换 48

5.8 引用数据类型 50

5.9 同步练习 51

第6章 运算符 52

6.1 算术运算符 52

6.1.1 一元运算符 52

6.1.2 二元运算符 53

6.1.3 算术赋值运算符 54

6.2 关系运算符 55

6.3 逻辑运算符 56

6.4 位运算符 57

6.5 其他运算符 59

6.6 运算符优先级 60

6.7 同步练习 61

第7章 控制语句 62

7.1 分支语句 62

7.1.1 if语句 62

7.1.2 switch语句 64

7.2 循环语句 65

7.2.1 while语句 65

7.2.2 do-while语句 66

7.2.3 for语句 67

7.2.4 增强for循环语句 68

7.3 跳转语句 69

7.3.1 break语句 69

7.3.2 continue语句 71

7.4 同步练习 73

第8章 数组 75

8.1 一维数组 75

8.1.1 数组声明 75

8.1.2 数组初始化 76

8.1.3 案例:数组合并 78

8.2 多维数组 78

8.2.1 二维数组声明 79

8.2.2 二维数组的初始化 79

8.2.3 不规则数组 81

8.3 同步练习 82

第9章 字符串 84

9.1 Java中的字符串 84

9.2 使用API文档 84

9.3 不可变字符串 87

9.3.1 String 87

9.3.2 字符串池 88

9.3.3 字符串拼接 89

9.3.4 字符串查找 91

9.3.5 字符串比较 92

9.3.6 字符串截取 94

9.4 可变字符串 95

9.4.1 StringBuffer和StringBuilder 95

9.4.2 字符串追加 96

9.4.3 字符串插入、删除和替换 97

9.5 同步练习 99

第10章 面向对象基础 101

10.1 面向对象简介 101

10.2 面向对象的三个基本特性 101

10.3 类 102

10.3.1 类声明 102

10.3.2 成员变量 103

10.3.3 成员方法 103

10.4 包 104

10.4.1 包作用 105

10.4.2 包定义 105

10.4.3 包引入 106

10.4.4 常用包 107

10.5 方法重载 107

10.6 封装性与访问控制 109

10.6.1 私有级别 109

10.6.2 默认级别 110

10.6.3 保护级别 112

10.6.4 公有级别 114

10.7 静态变量和静态方法 114

10.8 静态代码块 116

10.9 同步练习 117

第11章 对象 119

11.1 创建对象 119

11.2 空对象 119

11.3 构造方法 120

11.3.1 默认构造方法 121

11.3.2 构造方法重载 122

11.3.3 构造方法封装 123

11.4 this关键字 124

11.5 销毁对象 126

11.6 同步练习 126

第12章 继承与多态 127

12.1 Java中的继承 127

12.2 调用父类构造方法 129

12.3 成员变量隐藏和方法覆盖 131

12.3.1 成员变量隐藏 131

12.3.2 方法覆盖 132

12.4 多态 134

12.4.1 多态概念 134

12.4.2 引用类型检查 136

12.4.3 引用类型转换 138

12.5 再谈final关键字 140

12.5.1 final修饰变量 140

12.5.2 final修饰类 141

12.5.3 final修饰方法 142

12.6 同步练习 143

第13章 抽象类与接口 145

13.1 抽象类 145

13.1.1 抽象类的概念 145

13.1.2 抽象类声明和实现 146

13.2 接口 147

13.2.1 接口概念 147

13.2.2 接口声明和实现 148

13.2.3 接口与多继承 149

13.2.4 接口继承 151

13.2.5 Java 8新特性默认方法和静态方法 152

13.3 抽象类与接口的区别 154

13.4 同步练习 155

第14章 J ava常用类 156

14.1 Java根类——Object 156

14.1.1 toString()方法 156

14.1.2 对象比较方法 157

14.2 包装类 159

14.2.1 数值包装类 159

14.2.2 Character类 161

14.2.3 Boolean类 162

14.2.4 自动装箱/拆箱 163

14.3 Math类 165

14.4 大数值 167

14.4.1 BigInteger 167

14.4.2 BigDecimal 169

14.5 日期时间相关类 170

14.5.1 Date类 170

14.5.2 日期格式化和解析 172

14.5.3 Calendar类 174

14.6 Java 8新日期时间相关类 175

14.6.1 时间和日期 175

14.6.2 日期格式化和解析 177

14.7 同步练习 179

第15章 内部类 181

15.1 内部类简介 181

15.1.1 内部类的作用 181

15.1.2 内部类的分类 181

15.2 成员内部类 181

15.2.1 实例成员内部类 182

15.2.2 静态成员内部类 184

15.3 局部内部类 185

15.4 匿名内部类 186

15.5 同步练习 188

第16章 Lambda表达式 190

16.1 Lambda表达式简介 190

16.1.1 从一个示例开始 190

16.1.2 Lambda表达式实现 192

18.1.3 函数式接口 193

16.2 Lambda表达式的简化形式 193

16.2.1 省略参数类型 193

16.2.2 省略参数小括号 194

16.2.3 省略return和大括号 195

16.3 作为参数使用Lambda表达式 196

16.4 访问变量 197

16.4.1 访问成员变量 197

16.4.2 捕获局部变量 198

16.5 方法引用 199

16.6 同步练习 200

第17章 异常处理 202

17.1 从一个问题开始 202

17.2 异常类继承层次 203

17.2.1 Throwable类 203

17.2.2 Error和Exception 205

17.2.3 受检查异常和运行时异常 205

17.3 捕获异常 206

17.3.1 try-catch语句 206

17.3.2 多catch代码块 208

17.3.3 try-catch语句嵌套 210

17.3.4 多重捕获 211

17.4 释放资源 211

17.4.1 finally代码块 212

17.4.2 自动资源管理 214

17.5 throws与声明方法抛出异常 216

17.6 自定义异常类 217

17.7 throw与显式抛出异常 218

17.8 同步练习 220

第18章 集合 222

18.1 集合简介 222

18.2 List集合 223

18.2.1 常用方法 223

18.2.2 遍历集合 226

18.3 Set集合 227

18.3.1 常用方法 227

18.3.2 遍历集合 229

18.4 Map集合 230

18.4.1 常用方法 231

18.4.2 遍历集合 232

18.5 同步练习 234

第19章 泛型 235

19.1 一个问题的思考 235

19.2 使用泛型 238

19.3 自定义泛型类 240

19.4 自定义泛型接口 242

19.5 泛型方法 244

19.6 同步练习 245

第20章 文件管理与I/O流 246

20.1 文件管理 246

20.1.1 File类 246

20.1.2 案例:文件过滤 247

20.2 I/O流简介 249

20.2.1 Java流设计理念 249

20.2.2 流类继承层次 249

20.3 字节流 252

20.3.1 InputStream抽象类 252

20.3.2 OutputStream抽象类 252

20.3.3 案例:文件复制 253

20.3.4 使用字节缓冲流 255

20.4 字符流 258

20.4.1 Reader抽象类 258

20.4.2 Writer抽象类 259

20.4.3 案例:文件复制 259

20.4.4 使用字符缓冲流 261

20.4.5 字节流转换字符流 262

20.5 同步练习 264

第21章 多线程编程 265

21.1 基础知识 265

21.1.1 进程 265

21.1.2 线程 265

21.1.3 主线程 265

21.2 创建子线程 267

21.2.1 实现Runnable接口 267

21.2.2 继承Thread线程类 269

21.2.3 使用匿名内部类和Lambda表达式实现线程体 271

21.3 线程状态 273

21.4 线程管理 274

21.4.1 线程优先级 274

21.4.2 等待线程结束 275

21.4.3 线程让步 276

21.4.4 线程停止 277

21.5 线程安全 278

21.5.1 临界资源问题 279

21.5.2 多线程同步 281

21.6 线程间通信 283

21.7 同步练习 286

第22章 网络编程 288

22.1 网络基础 288

22.1.1 网络结构 288

22.1.2 TCP/IP协议 289

22.1.3 IP地址 289

22.1.4 端口 290

22.2 TCP Socket低层次网络编程 290

22.2.1 TCP Socket通信简介 290

22.2.2 TCP Socket通信过程 290

22.2.3 Socket类 291

22.2.4 ServerSocket类 292

22.2.5 案例:文件上传工具 292

22.2.6 案例:聊天工具 295

22.3 UDP Socket低层次网络编程 298

22.3.1 DatagramSocket类 299

22.3.2 DatagramPacket类 299

22.3.3 案例:文件上传工具 300

22.3.4 案例:聊天工具 302

22.4 访问互联网资源 305

22.4.1 URL概念 305

22.4.2 HTTP/HTTPS协议 305

22.4.3 使用URL类 306

22.4.4 案例:Downloader 307

22.5 同步练习 308

第23章 Swing图形用户界面编程 310

23.1 Java图形用户界面技术 310

23.2 Swing技术基础 312

23.2.1 Swing类层次结构 312

23.2.2 Swing程序结构 312

23.3 事件处理模型 315

23.3.1 采用内部类处理事件 317

23.3.2 采用Lambda表达式处理事件 318

23.3.3 使用适配器 320

23.4 布局管理 321

23.4.1 FlowLayout布局 321

23.4.2 BorderLayout布局 323

23.4.3 GridLayout布局 326

23.4.4 不使用布局管理器 327

23.4.5 使用可视化设计工具 329

23.5 Swing组件 332

23.5.1 标签和按钮 332

23.5.2 文本输入组件 334

23.5.3 复选框和单选按钮 337

23.5.4 下拉列表 340

23.5.5 列表 341

23.5.6 分隔面板 343

23.5.7 表格 344

23.6 案例:图书库存 347

23.7 同步练习 354

附录A 数据库编程 355

A.1 数据持久技术简介 355

A.2 MySQL数据库管理系统 356

A.2.1 数据库的安装与配置 356

A.2.2 连接MySQL服务器 361

A.2.3 常见的管理命令 362

A.3 JDBC技术 367

A.3.1 JDBC API 367

A.3.2 加载驱动程序 367

A.3.3 建立数据连接 370

A.3.4 3个重要接口 374

A.4 案例:数据CRUD操作 377

A.4.1 数据库编程的一般过程 377

A.4.2 数据查询操作 378

A.4.3 数据修改操作 381

附录B 项目实战:开发PetStore宠物商店项目 384

B.1 系统分析与设计 384

B.1.1 项目简介 384

B.1.2 需求分析 385

B.1.3 原型设计 385

B.1.4 数据库设计 385

B.1.5 架构设计 388

B.1.6 系统设计 389

B.2 任务1:创建数据库 390

B.2.1 迭代1.1:安装和配置MySQL数据库 390

B.2.2 迭代1.2:编写数据库DDL脚本 391

B.2.3 迭代1.3:插入初始数据到数据库 392

B.3 任务2:初始化项目 392

B.3.1 任务2.1:配置项目构建路径 392

B.3.2 任务2.2:添加资源图片 393

B.3.3 任务2.3:添加包 393

B.4 任务3:编写数据持久层代码 393

B.4.1 任务3.1:编写实体类 393

B.4.2 迭代3.2:编写DAO类 396

B.4.3 迭代3.3:数据库帮助类DBHelper 407

B.5 任务4:编写表示层代码 408

B.5.1 迭代4.1:编写启动类 408

B.5.2 迭代4.2:编写自定义窗口类——MyFrame 409

B.5.3 迭代4.3:用户登录窗口 410

B.5.4 迭代4.4:商品列表窗口 412

B.5.5 迭代4.5:商品购物车窗口 420

B.6 任务5:应用程序打包发布 427

B.6.1 迭代5.1:处理TODO、FIXME和XXX任务 427

B.6.2 迭代5.2:处理警告 427

B.6.3 迭代5.3:打包 428

附录C 同步练习参考答案 431