欢迎光临
免费的PDF电子书下载网站

Java经典入门指南 PDF下载

编辑推荐

1.本书基于Java SE 11编写,版本新; 2.作者有多部计算机专业图书的写作经验,并有多年的软件开发经验; 3.本书包含Java编程语言、Java面向对象编程(OOP)以及Java核心类三大主题,可有效助力Java程序员成长。

 ;

内容简介

本书基于新版的Java 11编写,全面系统地介绍Java程序员必须掌握的核心基础知识,这些内容融合在三大主题中——Java语言基础、面向对象编程以及Java核心类。其中,Java语言基础包括数据类型和运算符、控制结构、数组、类和对象、异常处理、枚举和注解等;面向对象包括封装性、继承性、多态性、接口与抽象类、泛型与集合、多线程与并发编程等;Java核心类包括日期时间API、输入/输出、JavaFX图形界面、Lambda表达式和Stream的使用、数据库和网络编程。本书还介绍了安全性和Java Web编程基础的相关知识。 本书是为专业级Java程序员打造的理想教程,也可作为高等院校计算机相关专业“面向对象编程”和“Java语言程序设计”等课程的教学用书。

作者简介

Budi Kurniawan是Brainy Software的高级开发人员,曾为世界各地的多家机构担任顾问。他著有How Tomcat Works、Servlet and JSP: A Tutorial、Struts 2 Design and Programming等多部图书。他以清晰的写作风格而闻名,他的写作基于20年的软件架构师和软件开发经验。他的Java教程最近被德国斯图加特HDM计算机科学教学团队选中,作为大学的主要教材。

Java经典入门指南 PDF下载

目录

第 1章 新手起步 1

1.1 下载和安装JDK 1

1.1.1 在Windows上安装 1

1.1.2 在Linux上安装 2

1.1.3 在macOS上安装 3

1.1.4 设置系统环境变量 3

1.1.5 安装测试 4

1.1.6 下载Java API文档 4

1.2 第 一个Java程序 4

1.2.1 编写Java程序 4

1.2.2 编译Java程序 4

1.2.3 执行Java程序 5

1.3 Java编码规范 5

1.4 集成开发环境 6

1.5 JShell 6

1.6 小结 7

习题 7

第 2章 语言基础 8

2.1 ASCII和Unicode 8

2.2 分隔符 9

2.3 基本类型 10

2.4 变量 11

2.5 局部变量类型推断 13

2.6 常量 13

2.7 字面值 14

2.7.1 整数字面值 14

2.7.2 浮点字面值 15

2.7.3 布尔字面值 16

2.7.4 字符字面值 16

2.8 基本类型转换 17

2.8.1 加宽转换 17

2.8.2 缩窄转换 18

2.9 运算符 18

2.9.1 一元运算符 19

2.9.2 算术运算符 21

2.9.3 相等运算符 22

2.9.4 关系运算符 22

2.9.5 条件运算符 23

2.9.6 移位运算符 23

2.9.7 赋值运算符 24

2.9.8 整数按位运算符(&; | ^) 24

2.9.9 逻辑运算符 25

2.9.10 运算符优先级 25

2.9.11 类型提升 26

2.10 注释 27

2.11 小结 27

习题 27

第3章 语句 29

3.1 概述 29

3.2 if语句 30

3.3 while语句 32

3.4 do-while语句 33

3.5 for语句 34

3.6 break语句 37

3.7 continue语句 38

3.8 switch语句 39

3.9 小结 40

习题 40

第4章 对象和类 41

4.1 什么是Java对象 41

4.2 Java类 42

4.2.1 字段 43

4.2.2 方法 43

4.2.3 main方法 44

4.2.4 构造方法 44

4.2.5 可变参数方法 45

4.2.6 UML类图中的类成员 45

4.3 创建对象 46

4.4 null关键字 46

4.5 为对象分配内存 47

4.6 Java包 49

4.7 封装与访问控制 50

4.7.1 类访问控制修饰符 50

4.7.2 类成员访问控制修饰符 51

4.8 this关键字 54

4.9 使用其他类 54

4.10 final变量 56

4.11 静态成员 56

4.12 静态final变量 58

4.13 静态导入 59

4.14 变量作用域 60

4.15 方法重载 60

4.16 静态工厂方法 61

4.17 按值还是按引用传递 62

4.18 加载、链接和初始化 64

4.18.1 加载 64

4.18.2 链接 65

4.18.3 初始化 65

4.19 对象创建初始化 66

4.20 垃圾回收器 68

4.21 创建对象的其他方法 69

4.22 小结 69

习题 70

第5章 核心类 71

5.1 java.lang.Object 71

5.2 java.lang.String 72

5.2.1 比较两个String对象 72

5.2.2 字符串字面值 73

5.2.3 字符转义 74

5.2.4 switch中的String 74

5.2.5 String类的构造方法 75

5.2.6 String类的方法 75

5.3 java.lang.StringBuffer和java.lang.StringBuilder 78

5.3.1 StringBuilder类的构造方法 78

5.3.2 StringBuilder类的方法 79

5.4 基本类型包装类 80

5.4.1 java.lang.Integer 80

5.4.2 java.lang.Boolean 80

5.4.3 java.lang.Character 81

5.5 java.lang.Class 82

5.6 java.lang.System 83

5.7 java.util.Scanner 86

5.8 小结 87

习题 87

第6章 数组 88

6.1 概述 88

6.2 迭代数组 90

6.3 java.util.Arrays类 90

6.4 修改数组大小 91

6.5 查找数组 92

6.6 将String数组传递给main 93

6.7 多维数组 94

6.8 小结 94

习题 95

第7章 继承 96

7.1 概述 96

7.1.1 extends关键字 96

7.1.2 is-a关系 97

7.2 可访问性 98

7.3 方法覆盖 99

7.4 调用超类的构造方法 100

7.5 调用超类的隐藏成员 102

7.6 类型转换 102

7.7 final类 103

7.8 instanceof运算符 103

7.9 小结 104

习题 104

第8章 错误处理 105

8.1 概述 105

8.2 捕获异常 106

8.3 不带catch的try 108

8.4 捕获多个异常 108

8.5 try-with-resources语句 108

8.6 java.lang.Exception类 109

8.7 从方法抛出异常 110

8.8 用户自定义异常 111

8.9 异常处理说明 112

8.10 小结 113

习题 113

第9章 处理数字 114

9.1 装箱与拆箱 114

9.2 数字解析 114

9.3 数字格式化 115

9.4 用java.text.NumberFormat解析数字 116

9.5 java.lang.Math类 116

9.6 使用货币值 117

9.7 生成随机数 118

9.8 小结 119

习题 119

第 10章 接口和抽象类 120

10.1 接口的概念 120

10.2 从技术角度看接口 121

10.2.1 接口中的字段 122

10.2.2 抽象方法 122

10.2.3 扩展接口 123

10.3 接口中的实现 123

10.3.1 默认方法 123

10.3.2 静态方法 124

10.3.3 私有方法 124

10.4 基类 124

10.5 抽象类 125

10.6 抽象类说明 126

10.7 小结 127

习题 127

第 11章 多态 128

11.1 概述 128

11.2 多态实战 130

11.3 多态与反射 131

11.4 小结 133

习题 133



第 12章 枚举 134

12.1 概述 134

12.2 类中的枚举 135

12.3 java.lang.Enum类 136

12.4 迭代枚举值 136

12.5 在switch中使用枚举 136

12.6 枚举成员 137

12.7 小结 138

习题 138

第 13章 处理日期和时间 139

13.1 概述 139

13.2 Instant类 140

13.3 LocalDate 140

13.4 Period 142

13.5 LocalDateTime 144

13.6 时区 145

13.7 ZonedDateTime 146

13.8 Duration 147

13.9 格式化日期-时间 150

13.10 解析日期-时间 151

13.11 旧的日期和时间API 152

13.11.1 java.util.Date类 152

13.11.2 java.util.Calendar类 152

13.11.3 用DateFormat进行解析和格式化 153

13.12 小结 155

习题 156

第 14章 集合框架 157

14.1 集合框架概述 157

14.2 Collection接口 158

14.3 List和ArrayList 158

14.4 用Iterator和for迭代集合 160

14.5 Set和HashSet 161

14.6 Queue和LinkedList 162

14.7 集合转换 163

14.8 Map和HashMap 163

14.9 对象比较和排序 164

14.9.1 使用java.lang.Comparable 165

14.9.2 使用Comparator 167

14.10 小结 171

习题 171

第 15章 泛型 172

15.1 没有泛型的时代 172

15.2 泛型类型 173

15.3 使用没有类型参数的泛型类型 175

15.4 使用“?”通配符 176

15.5 在方法中使用有界通配符 177

15.6 泛型方法 178

15.7 编写泛型类型 179

15.8 小结 180

习题 180

第 16章 输入/输出 181

16.1 File类 181

16.1.1 File类的构造方法 182

16.1.2 File类的方法 183

16.2 文件系统和路径 184

16.3 文件和目录的处理及操作 185

16.3.1 创建和删除文件及目录 185

16.3.2 检索目录中的对象 186

16.3.3 复制和移动文件 186

16.3.4 读取和写入文件 187

16.4 输入流/输出流 189

16.5 读二进制数据 189

16.6 写入二进制数据 193

16.7 写入文本(字符) 195

16.7.1 Writer 196

16.7.2 OutputStreamWriter 196

16.7.3 PrintWriter 198

16.8 读取文本(字符) 199

16.8.1 Reader 200

16.8.2 InputStreamReader 200

16.8.3 BufferedReader 201

16.9 用PrintStream记录日志 202

16.10 随机访问文件 203

16.11 对象序列化 207

16.12 小结 209

习题 209

第 17章 注解 210

17.1 概述 210

17.1.1 注解和注解类型 210

17.1.2 注解语法 211

17.1.3 Annotation接口 211

17.2 标准注解 212

17.2.1 Override 212

17.2.2 Deprecated 213

17.2.3 SuppressWarnings 213

17.3 一般注解 214

17.4 标准元注解 215

17.4.1 Documented 215

17.4.2 Inherited 215

17.4.3 Retention 216

17.4.4 Target 216

17.5 自定义注解类型 216

17.5.1 编写自定义注解类型 217

17.5.2 使用自定义注解类型 217

17.5.3 用反射查询注解 217

17.6 小结 218

习题 218

第 18章 嵌套类和内部类 219

18.1 嵌套类的概述 219

18.2 静态嵌套类 220

18.3 成员内部类 221

18.4 局部内部类 223

18.5 匿名内部类 224

18.6 嵌套类和内部类的幕后 225

18.7 小结 227

习题 227

第 19章 Lambda表达式 228

19.1 为何使用Lambda表达式 228

19.2 函数式接口 229

19.3 Lambda表达式语法 229

19.4 预定义函数式接口 230

19.4.1 Function、BiFunction及变体 230

19.4.2 Predicate 232

19.4.3 Supplier 233

19.4.4 Consumer 233

19.5 方法引用 235

19.5.1 引用静态方法 235

19.5.2 引用对象可用的实例方法 238

19.5.3 引用对象不可用的实例方法 238

19.5.4 引用构造方法 240

19.6 Optional与类似的类 241

19.7 小结 246

习题 246

第 20章 使用Stream 247

20.1 概述 247

20.2 创建和获得流 248

20.3 连接流 249

20.4 过滤 250

20.5 映射 251

20.6 归约 252

20.7 可变归约 256

20.8 并行流 260

20.9 小结 261

习题 261

第 21章 Java数据库连接 262

21.1 JDBC简介 262

21.2 数据访问的5个步骤 263

21.2.1 加载JDBC驱动程序 263

21.2.2 获得数据库连接 264

21.2.3 创建Statement对象 265

21.2.4 创建ResultSet对象 266

21.2.5 关闭JDBC对象 266

21.3 综合应用 267

21.4 使用DAO模式 269

21.5 读取元数据 275

21.6 小结 278

习题 278

第 22章 JavaFX入门 279

22.1 概述 279

22.2 第 一个JavaFX程序 279

22.3 Application、Stage和Scene类 280

22.3.1 Application类 281

22.3.2 Stage类 281

22.3.3 Scene类 281

22.4 UI组件 282

22.5 控件 282

22.6 区域 285

22.7 事件驱动编程 287

22.7.1 Java事件模型 288

22.7.2 JavaFX事件 288

22.8 使用CSS样式 290

22.9 小结 293

习题 293

第 23章 JavaFX与FXML 294

23.1 概述 294

23.2 一个基于FXML的简单应用 295

23.3 FXML的事件处理 298

23.4 小结 302

习题 302

第 24章 Java线程 303

24.1 Java线程简介 303

24.2 创建线程 303

24.2.1 扩展Thread类 304

24.2.2 实现Runnable接口 305

24.3 使用多线程 306

24.4 线程优先级 308

24.5 停止线程 309

24.6 同步 312

24.6.1 线程干扰 312

24.6.2 块同步 314

24.7 可见性 315

24.8 join方法 317

24.9 线程协调 317

24.10 使用Timer 321

24.11 小结 324

习题 324

第 25章 并发工具 325

25.1 原子变量 325

25.2 Executor和ExecutorService 326

25.3 命名线程 331

25.4 Callable和Future 333

25.5 JavaFX任务 336

25.6 锁 339

25.7 小结 340

习题 340

第 26章 Java网络 341

26.1 网络概述 341

26.2 超文本传输协议(HTTP) 341

26.2.1 HTTP请求 342

26.2.2 HTTP响应 343

26.3 HttpClient API 343

26.4 java.net.Socket 346

26.5 java.net.ServerSocket 348

26.6 创建一个Web服务器 349

26.6.1 HttpServer类 349

26.6.2 Request类 352

26.6.3 Response类 354

26.6.4 运行应用程序 356

26.7 小结 357

习题 357

第 27章 安全 358

27.1 Java安全概述 358

27.2 使用安全管理器 359

27.3 策略文件 359

27.3.1 keystore 361

27.3.2 grant 361

27.4 权限 362

27.4.1 java.io.FilePermission 362

27.4.2 java.security.BasicPermission 363

27.4.3 java.util.PropertyPermission

 363

27.4.4 java.net.SocketPermission 363

27.4.5 java.security.UnresolvedPermission 363

27.4.6 java.security.RuntimePermission 363

27.4.7 java.net.NetPermission 364

27.4.8 java.lang.reflect.ReflectPermission 364

27.4.9 java.io.SerializablePermission 364

27.4.10 java.security.SecurityPermission 364

27.4.11 java.security.AllPermission 365

27.4.12 javax.security.auth.AuthPermission 365

27.5 安全编程 365

27.6 加密概述 366

27.6.1 加密/解密 367

27.6.2 身份验证 367

27.6.3 数据完整性 369

27.6.4 SSL的工作原理 369

27.7 创建证书 370

27.8 KeyTool程序 370

27.8.1 生成配对的密钥 371

27.8.2 进行认证 372

27.8.3 将证书导入密钥库 372

27.8.4 从密钥库导出证书 372

27.8.5 列出密钥库条目 373

27.9 JarSigner工具 373

27.9.1 签名jar文件 373

27.9.2 验证已签名的jar文件 373

27.10 Java加密API 374

27.11 小结 374

习题 374

第 28章 Java Web应用程序 375

28.1 Servlet应用程序架构 375

28.2 Servlet API概述 376

28.3 Servlet 377

28.4 编写基本的Servlet应用程序 378

28.4.1 安装Tomcat 378

28.4.2 编写和编译Servlet类 378

28.4.3 应用程序目录结构 380

28.4.4 访问Servlet 380

28.5 ServletRequest 381

28.6 ServletResponse 381

28.7 ServletConfig 382

28.8 ServletContext 384

28.9 GenericServlet 384

28.10 HTTP Servlet 386

28.10.1 HttpServlet 386

28.10.2 HttpServletRequest 388

28.10.3 HttpServletResponse 388

28.10.4 编写一个HTTP Servlet 388

28.11 使用部署描述符 392

28.12 小结 395

习题 395

第 29章 JavaServer Pages 396

29.1 JSP概述 396

29.2 jspInit、jspDestroy及其他方法 398

29.3 隐含对象 398

29.4 JSP语法元素 400

29.4.1 指令 400

29.4.2 脚本元素 402

29.5 处理错误 404

29.6 小结 404

习题 404

第30章 模块 405

30.1 概述 405

30.2 Java标准模块 406

30.3 创建模块应用程序 406

30.4 创建自包含的应用程序包 407

30.5 创建安装程序 409

30.6 小结 410

习题 410











Java经典入门指南 pdf下载声明

本pdf资料下载仅供个人学习和研究使用,不能用于商业用途,请在下载后24小时内删除。如果喜欢,请购买正版

pdf下载地址

版权归出版社和作者所有,下载链接已删除。如果喜欢,请购买正版!

链接地址:Java经典入门指南