《好好学JAVA 从零基础到项目实战》PDF下载

  • 购买积分:20 如何计算积分?
  • 作  者:欧阳燊著
  • 出 版 社:
  • 出版年份:2020
  • ISBN:
  • 页数:0 页
图书介绍:

第1章 Java开发环境搭建 1

1.1 JDK的安装和配置 1

1.1.1 Java的发展历程 1

1.1.2 下载和安装JDK 2

1.1.3 配置环境变量 4

1.2 IntelliJIDEA的安装与配置 5

1.2.1 安装IntelliJ IDEA 6

1.2.2 配置IntelliJ IDEA 7

1.2.3 运行第一个Java程序 9

1.3 Java虚拟机(JVM) 12

1.3.1 Java程序的运行机制 13

1.3.2 JVM的体系结构 13

1.3.3 JVM、JRE与JDK的区别 15

1.4 Java编程的基本概念 16

1.4.1 Java的代码结构 16

1.4.2 Java的特殊官吏 19

1.4.3 Java的度量衡 22

1.5 小结 25

第2章 数学运算 26

2.1 数值变量 26

2.1.1 数值变量的类型 26

2.1.2 特殊数字的表达 28

2.1.3 强制类型转换 30

2.2 算术运算 32

2.2.1 四则运算符 32

2.2.2 赋值运算符 34

2.2.3 一元运算符 35

2.3 数学函数 37

2.3.1 取整函数 37

2.3.2 取随机数 38

2.3.3 科学计算函数 38

2.3.4 三角函数 39

2.4 实战练习 39

2.4.1 利用牛顿迭代法求平方根 39

2.4.2 利用割圆术求解圆周率 42

2.5 小结 46

第3章 逻辑控制 47

3.1 逻辑运算 47

3.1.1 布尔类型及其运算 47

3.1.2 关系运算符 49

3.1.3 运算符的优先级顺序 50

3.1.4 按位逻辑与短路逻辑 52

3.2 控制语句 53

3.2.1 条件分支 53

3.2.2 多路分支 54

3.2.3 while循环 56

3.2.4 for循环 58

3.3 数组 59

3.3.1 一维数组 60

3.3.2 二维数组 62

3.3.3 冒号的几种用法 64

3.3.4 数组工具Arrays 67

3.4 实战练习 71

3.4.1 求解“鸡兔同笼”问题 71

3.4.2 求解“韩信点兵”问题 72

3.4.3 利用二分查找法定位数组元素 74

3.5 小结 77

第4章 方法与包装 78

4.1 方法定义 78

4.1.1 方法的组成形式 78

4.1.2 方法的输入参数 80

4.1.3 方法的输出参数 83

4.2 基本类型包装 86

4.2.1 数值类型包装 86

4.2.2 包装变量的运算 88

4.2.3 布尔类型包装 89

4.3 大数字类型 90

4.3.1 大整数BigInteger 90

4.3.2 大小数BigDecimal 91

4.4 实战练习 93

4.4.1 通过方法递归实现阶乘函数 93

4.4.2 利用牛顿迭代法求大数开方 95

4.4.3 利用大数字求更精确的圆周率 97

4.5 小结 100

第5章 字符串与正则表达式 101

5.1 字符 101

5.1.1 字符类型 101

5.1.2 字符型与整型的相互转化 102

5.1.3 字符包装类型 104

5.2 字符串 105

5.2.1 字符串的赋值与转换 105

5.2.2 字符串的格式化 107

5.2.3 其他常见的字符串方法 111

5.3 正则表达式 113

5.3.1 利用正则串分割字符串 113

5.3.2 利用正则表达式校验字符串 117

5.4 实战练习 120

5.4.1 从地址串中解析收件人信息 120

5.4.2 校验身份证号码的合法性 124

5.5 小结 128

第6章 日期时间 129

6.1 日期工具Date 129

6.1.1 日期工具的用法 129

6.1.2 日期时间的格式化 131

6.2 日历工具Calendar 134

6.2.1 日历工具的用法 134

6.2.2 日历工具的常见应用 136

6.3 Java 8的本地日期时间工具 139

6.3.1 本地日期LocalDate和本地时间LocalTime 139

6.3.2 本地日期时间与字符串的互相转换 142

6.4 实战练习 144

6.4.1 从1582年问题浅谈Date工具的局限 144

6.4.2 利用本地日期时间实现万年历 148

6.5 小结 150

第7章 类的三要素 151

7.1 类的封装 151

7.1.1 类的成员定义 151

7.1.2 类的构造方法 156

7.1.3 this关键字的用法 157

7.2 类的继承 159

7.2.1 类的简单继承 159

7.2.2 父类:关键字super的用法 161

7.2.3 几种开放性修饰符 164

7.3 类的多态 165

7.3.1 多态的发生场景 165

7.3.2 对象的类型检查 167

7.3.3 终态:关键字final的用法 169

7.4 实战练习:定义银行的账户类 171

7.5 小结 177

第8章 特殊的类 178

8.1 类的嵌套 178

8.1.1 内部类和嵌套类 178

8.1.2 静态:关键字static的用法 181

8.1.3 枚举类型 185

8.2 类的抽象 188

8.2.1 抽象类 188

8.2.2 简单接口 190

8.2.3 Java 8之后的扩展接口 193

8.2.4 匿名内部类 195

8.3 函数式编程 198

8.3.1 Lambda表达式 198

8.3.2 函数式接口的定义 200

8.3.3 双冒号标记的方法引用 202

8.3.4 静态方法引用和实例方法引用 206

8.4 实战练习 210

8.4.1 实现建造者模式 210

8.4.2 实现单例模式 214

8.5 小结 218

第9章 容器与泛型 219

9.1 容器的种类 219

9.1.1 集合:HashSet和TreeSet 219

9.1.2 映射:HashMap和TreeMap 224

9.1.3 清单:ArrayList和LinkedList 226

9.2 泛型的规则 228

9.2.1 从泛型方法探究泛型的起源 229

9.2.2 泛型类的定义及其运用 232

9.2.3 Java 8新增的几种泛型接口 234

9.3 容器的加工 240

9.3.1 容器与数组互转 240

9.3.2 容器工具Collections 242

9.3.3 Java 8新增的流式处理 243

9.4 实战练习 246

9.4.1 利用泛型实现通用的二分查找算法 246

9.4.2 借助容器实现两种常见的排队算法 249

9.5 小结 253

第10章 类的进阶用法 254

10.1 异常 254

10.1.1 常见的程序异常 254

10.1.2 内存溢出的两种错误 257

10.1.3 异常的处理:扔出与捕捉 259

10.1.4 如何预防异常的产生 263

10.1.5 使用Optional规避空指针异常 265

10.2 反射 269

10.2.1 面向对象的后门——反射 269

10.2.2 利用反射技术操作私有属性 271

10.2.3 利用反射技术操作私有方法 273

10.3 注解 275

10.3.1 如何使用系统自带的注解 276

10.3.2 注解的基本单元——元注解 278

10.3.3 利用注解技术检查空指针 279

10.4 小结 283

第11章 文件I/O处理 284

11.1 文件读写 284

11.1.1 文件与目录的管理 284

11.1.2 字符流读写 286

11.1.3 缓冲区读写 290

11.1.4 随机访问文件的读写 293

11.2 I/O输入输出流 295

11.2.1 文件I/O字节流 296

11.2.2 缓存I/O字节流 297

11.2.3 对象序列化 299

11.2.4 I/O流处理简单的数据压缩 302

11.3 NIO文件编程 304

11.3.1 文件通道FileChannel 304

11.3.2 字节缓存ByteBuffer 307

11.3.3 文件通道的性能优势 309

11.3.4 路径工具Paths和Files 311

11.4 实战练习:文件的分割与合并 314

11.5 小结 317

第12章 AWT界面编程 318

12.1 AWT的窗口面板 318

12.1.1 框架Frame 318

12.1.2 按钮Button 320

12.1.3 布局Layout 322

12.2 AWT的文本控件 324

12.2.1 标签Label 324

12.2.2 输入框TextField和TextArea 328

12.2.3 选择框Checkbox 330

12.3 AWT的图像处理 332

12.3.1 自定义图像视图 332

12.3.2 绘图工具Graphics 334

12.3.3 利用Graphics2D加工图像 337

12.4 实战练习:生成验证码图片 341

12.5 小结 344

第13章 Swing界面编程 345

13.1 Swing的基础界面 345

13.1.1 框架JFrame和按钮JButton 345

13.1.2 标签JLabel 347

13.1.3 利用标签显示图像 349

13.2 Swing的简单控件 350

13.2.1 输入框的种类 351

13.2.2 选择框的种类 352

13.2.3 列表框的种类 355

13.3 Swing的高级控件 359

13.3.1 表格JTable 359

13.3.2 基本对话框 361

13.3.3 文件对话框 364

13.4 实战练习 368

13.4.1 简单的登录界面 368

13.4.2 将Java代码导出JAR包 371

13.5 小结 373

第14章 JavaFX界面编程 374

14.1 JavaFX的基本场景 374

14.1.1 JavaFX的初始配置 374

14.1.2 窗格Pane 377

14.1.3 按钮Button和标签Label 379

14.1.4 箱子HBox和VBox 382

14.2 JavaFX的常用控件 385

14.2.1 输入框的种类 385

14.2.2 选择框的种类 388

14.2.3 列表与表格 393

14.2.4 对话框的种类 397

14.3 JavaFX的布局设计 403

14.3.1 FXML布局的基本格式 403

14.3.2 实现FXML对应的控制器 407

14.3.3 FXML布局的伸展适配 409

14.4 实战练习 412

14.4.1 房贷计算器(简易版) 412

14.4.2 JavaFX导出可执行程序 417

14.4.3 房贷计算器(完整版) 420

14.5 小结 424

第15章 多线程 425

15.1 线程的调度 425

15.1.1 线程的基本用法 425

15.1.2 任务Runnable 430

15.1.3 过程Callable 433

15.1.4 定时器与定时任务 435

15.2 并发的控制 437

15.2.1 同步:关键字synchronized的用法 437

15.2.2 通过加解锁避免资源冲突 440

15.2.3 信号量Semaphore的请求与释放 443

15.2.4 线程间的通信方式 447

15.3 线程池管理 451

15.3.1 普通线程池 451

15.3.2 定时器线程池 456

15.3.3 分治框架Fork/Join 459

15.4 实战练习 463

15.4.1 秒表计时器 463

15.4.2 打地鼠游戏 467

15.5 小结 473

第16章 网络通信 474

16.1 网络交互的数据格式 474

16.1.1 URL地址的组成格式 474

16.1.2 JSON串的解析 477

16.1.3 XML报文的解析 482

16.2 HTTP接口访问 486

16.2.1 GET方式的HTTP调用 486

16.2.2 POST方式的HTTP调用 492

16.2.3 Java 11新增的HttpClient 495

16.2.4 HttpClient实现下载与上传 499

16.3 套接字Socket通信 502

16.3.1 利用Socket传输文本 502

16.3.2 使用Socket传输文件 507

16.3.3 采用UDP协议的Socket通信 510

16.3.4 利用HttpServer搭建简易服务器 512

16.4 实战练习 514

16.4.1 HTTP测试工具 515

16.4.2 让Java程序输出日志文件 519

16.4.3 多人即时通信——仿QQ聊天 523

16.5 小结 534

第17章 数据库操作 535

17.1 MySQL环境搭建 535

17.1.1 安装MySQL数据库 535

17.1.2 安装MySQL工作台 547

17.1.3 数据库操纵语言SQL的用法 553

17.2 JDBC编程 557

17.2.1 JDBC的应用原理 557

17.2.2 通过JDBC管理数据库 559

17.2.3 通过JDBC查询数据记录 562

17.2.4 预报告PreparedStatement 565

17.3 数据库连接池 567

17.3.1 C3P0连接池 567

17.3.2 Druid连接池 569

17.4 实战练习 572

17.4.1 代码生成工具 572

17.4.2 让Java程序读取配置文件 578

17.4.3 诗歌管理系统——古诗三百首 581

17.5 小结 589

附录A 服务端工程的使用说明 590

A.1 下载并安装Tomcat 590

A.2 给IDEA安装Tomcat插件 591

A.3 添加Tomcat的运行配置 592

A.4 启动Tomcat服务器 595