当前位置:首页 > 工业技术
Java语言导学
Java语言导学

Java语言导学PDF电子书下载

工业技术

  • 电子书积分:16 积分如何计算积分?
  • 作 者:(美)雷蒙德·盖拉多(Raymond Gallardo)著
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2017
  • ISBN:9787111573302
  • 页数:543 页
图书介绍:本书基于Java SE 8编写,清晰地介绍了面向对象编程的概念、语言基础等,涵盖了Lambda表达式、类型注解、默认方法、聚合操作、日期/时间API等Java SE 8的新特性,更新了限制恶意小程序的攻击和RIA等相关内容。每章后面的问题和练习可以帮助读者巩固所学知识,此外,附录中还给出Java编程语言认证考试的相关内容。本书可作为高等院校计算机等相关专业的基础教材,也可作为编程初学者和中级程序员的参考资料。
《Java语言导学》目录
标签:语言

第1章 快速入门 1

1.1关于Java技术 1

1.1.1 Java程序语言 1

1.1.2 Java平台 2

1.1.3 Java技术的功能 3

1.1.4 Java技术的优势 3

1.2 “Hello World!”实例程序 4

1.2.1用NetBeans IDE开发“Hello World!” 4

1.2.2在Microsoft Windows中开发“Hello World!” 10

1.2.3在Solaris和Linux中开发“Hello World!” 13

1.3“Hello World!”实例程序剖析 15

1.3.1源码注释 15

1.3.2 Hel l oWorl dApp类定义 15

1.3.3 mai n方法 16

1.4常见问题(及其解决方案) 16

1.4.1编译器问题 16

1.4.2运行时问题 18

1.5问题和练习:快速入门 19

第2章 面向对象的编程概念 21

2.1对象 21

2.2类 22

2.3继承 23

2.4接口 24

2.5包 25

2.6问题和练习:面向对象的编程概念 25

第3章 语言基础 27

3.1变量 27

3.1.1命名 28

3.1.2基本数据类型 28

3.1.3数组 32

3.1.4小结 35

3.1.5问题和练习:变量 36

3.2运算符 36

3.2.1赋值运算符、算术运算符和一元运算符 37

3.2.2等式运算符、关系运算符和条件运算符 40

3.2.3位运算符和移位运算符 42

3.2.4小结 42

3.2.5问题和练习:运算符 43

3.3表达式、语句和块 44

3.3.1表达式 44

3.3.2语句 45

3.3.3块 45

3.3.4问题和练习:表达式、语句和块 46

3.4控制流语句 46

3.4.1 i f -then语句和if-then-else语句 46

3.4.2 switch语句 47

3.4.3 while语句和do-while语句 51

3.4.4 fo r语句 52

3.4.5分支语句 53

3.4.6小结 56

3.4.7问题和练习:控制流语句 56

第4章 类和对象 58

4.1类 58

4.1.1声明类 59

4.1.2声明成员变量 60

4.1.3定义方法 61

4.1.4构建构造器 62

4.1.5将消息传给方法或构造器 63

4.2对象 66

4.2.1创建对象 67

4.2.2使用对象 69

4.3类的更多细节 71

4.3.1从方法返回值 71

4.3.2使用this关键字 73

4.3.3控制对类成员的访问 74

4.3.4类成员 75

4.3.5初始化字段 78

4.3.6小结 79

4.3.7问题和练习:类 79

4.3.8问题和练习:对象 80

4.4嵌套类 81

4.4.1为什么使用嵌套类 81

4.4.2静态嵌套类 82

4.4.3内部类 82

4.4.4覆盖 82

4.4.5序列化 83

4.4.6内部类实例 83

4.4.7局部类和匿名类 85

4.4.8 Lambda表达式 92

4.4.9何时使用嵌套类、局部类、匿名类和Lambda表达式 105

4.4.10问题和练习:嵌套类 105

4.5枚举类型 106

4.5.1问题和练习:枚举类型 108

第5章 注解 109

5.1注解基础知识 109

5.1.1注解的格式 109

5.1.2注解的使用场景 110

5.2声明注解类型 110

5.3预定义注解类型 111

5.3.1 Java语言使用的注解类型 111

5.3.2应用于其他注解的注解 112

5.4类型注解和可插拔类型系统 113

5.5重复注解 114

5.5.1声明重复注解类型 114

5.5.2声明容器注解类型 115

5.5.3检索注解 115

5.5.4设计时的注意事项 115

5.6问题和练习:注解 115

第6章 接口与继承 117

6.1接口 117

6.1.1 Java语言的接口 117

6.1.2将接口用作API 118

6.1.3定义接口 118

6.1.4实现接口 119

6.1.5将接口用作类型 120

6.1.6进化接口 121

6.1.7默认方法 122

6.1.8小结 129

6.1.9问题和练习:接口 129

6.2继承 130

6.2.1 Java平台中类的层次结构 130

6.2.2继承实例 131

6.2.3子类能做什么 132

6.2.4超类的私有成员 132

6.2.5转换对象 132

6.2.6状态、实现和类型的多重继承 133

6.2.7覆盖和屏蔽方法 133

6.2.8多态性 136

6.2.9屏蔽字段 138

6.2.10使用super关键字 138

6.2.11将对象用作超类 140

6.2.12编写final类和方法 142

6.2.13抽象方法和类 143

6.2.14小结 145

6.2.15 问题和练习:继承 145

第7章 泛型 147

7.1为什么用泛型 147

7.2泛型类型 147

7.2.1一个简单的Box类 148

7.2.2 Box类的泛型版本 148

7.2.3类型参数命名约定 148

7.2.4泛型类型的调用和实例化 149

7.2.5钻石运算符 149

7.2.6多个类型参数 149

7.2.7参数化类型 150

7.2.8原生类型 150

7.3泛型方法 151

7.4受限类型形式参数 152

7.4.1多重限制 153

7.4.2泛型方法和受限类型形式参数 154

7.5泛型、继承和子类型 154

7.5.1泛型类和子类型 155

7.6类型推导 156

7.6.1类型推导和泛型方法 156

7.6.2类型推导和泛型类的实例化 157

7.6.3类型推导与泛型类和非泛型类的泛型构造函数 157

7.6.4目标类型 158

7.7通配符 159

7.7.1上界通配符 159

7.7.2无界通配符 160

7.7.3下界通配符 160

7.7.4通配符和子类型 161

7.7.5通配符匹配和辅助方法 162

7.7.6通配符使用指南 164

7.8类型擦除 165

7.8.1泛型类型的擦除 165

7.8.2泛型方法的擦除 166

7.8.3类型擦除效果和桥方法 167

7.8.4不可具体化类型和可变参数方法 168

7.9泛型的局限性 170

7.9.1不能用基本数据类型实例化泛型类型 170

7.9.2不能创建类型参数实例 171

7.9.3不能声明类型为“类型参数”的静态字段 171

7.9.4对参数化类型不能用类型转换或instanceof运算符 172

7.9.5不能创建参数化类型数组 172

7.9.6不能创建、捕获或抛出参数化类型的对象 172

7.9.7每次重载时其形式参数类型都被擦除为相同的原生类型的方法不能重载 173

7.10问题和练习:泛型 173

第8章 程序包 175

8.1程序包的创建和使用 175

8.1.1程序包的创建 176

8.1.2程序包的命名 177

8.1.3程序包成员的使用 177

8.1.4源文件和类文件的管理 180

8.1.5小结 182

8.2问题和练习:创建和使用包 182

第9章 数字和字符串 183

9.1数字 183

9.1.1 Number类 183

9.1.2格式化数字打印输出 184

9.1.3其他数学运算方法 188

9.1.4自动装箱和拆箱 191

9.1.5小结 193

9.1.6问题和练习:数字 193

9.2字符 194

9.2.1转义字符 194

9.3字符串 195

9.3.1创建字符串 195

9.3.2字符串长度 196

9.3.3字符串连接 196

9.3.4创建格式字符串 197

9.3.5数字和字符串之间的转换 197

9.3.6操作字符串中的字符 199

9.3.7比较字符串和字符串的子串 202

9.3.8 String Builder类 203

9.3.9小结 207

9.3.10问题和练习:字符和字符串 207

第10章 异常 209

10.1什么是异常 209

10.2捕获或指明规定 210

10.2.1三类异常 210

10.2.2绕过捕获或指明 210

10.3捕获和处理异常 211

10.3.1 try块 211

10.3.2 catch块 212

10.3.3 finally块 213

10.3.4 try-with-resources语句 214

10.3.5 汇总 216

10.4指明一个方法抛出的异常 218

10.5如何抛出异常 219

10.5.1 throw语句 219

10.5.2 Throwable类及其子类 220

10.5.3 Error类 220

10.5.4 Exception类 220

10.5.5链式异常 220

10.5.6创建异常类 221

10.6未检查异常:争议 222

10.7异常的优点 223

10.7.1优点1:把错误处理代码和“正规”代码分离开 223

10.7.2优点2:根据调用栈上传错误 224

10.7.3优点3:对错误类型进行分组并加以区分 226

10.8小结 226

10.9问题和练习:异常 227

第11章 基本I/O和NIO.2 229

11.1 I/O流 229

11.1.1字节流 230

11.1.2字符流 231

11.1.3缓冲流 233

11.1.4扫描和格式化 234

11.1.5命令行I/O 238

11.1.6数据流 240

11.1.7对象流 241

11.2文件I/O(以NIO.2为特征) 243

11.2.1什么是路径(以及其他文件系统情况) 243

11.2.2 Path类 245

11.2.3文件操作 250

11.2.4检查文件或目录 253

11.2.5删除文件或目录 254

11.2.6复制文件或目录 254

11.2.7移动文件或目录 255

11.2.8管理元数据(文件和文件存储属性) 255

11.2.9读取、写入和创建文件 261

11.2.10随机访问文件 266

11.2.11创建和读取目录 267

11.2.12符号链接或其他方式的链接 270

11.2.13遍历文件树 272

11.2.14查找文件 275

11.2.15 监视目录的变化 278

11.2.16其他有用的方法 283

11.2.17遗留文件的I/O代码 284

11.3小结 286

11.4问题和练习:基本I/O 286

第12章 集合 287

12.1集合简介 287

12.1.1集合框架是什么 287

12.1.2 Java集合框架的好处 288

12.2接口 288

12.2.1 Collection接口 290

12.2.2遍历集合 291

12.2.3 Collection接口的批量操作 292

12.2.4 Collection接口的数组操作 293

12.2.5 Set接口 293

12.2.6 Li st接口 296

12.2.7 Queue接口 302

12.2.8 Deque接口 303

12.2.9 Map接口 304

12.2.10对象排序 310

12.2.11 SortedSet接口 315

12.2.12 SortedMap接口 317

12.2.13小结 318

12.2.14问题和练习:接口 318

12.3聚合操作 319

12.3.1管道和流 320

12.3.2聚合操作和迭代器之间的差异 321

12.3.3归约 321

12.3.4并行 325

12.3.5副作用 328

12.3.6问题和练习:聚合操作 330

12.4实现 331

12.4.1 Set实现 333

12.4.2 Li st实现 334

12.4.3 Map实现 335

12.4.4 Queue实现 336

12.4.5 Deque实现 337

12.4.6封装实现 338

12.4.7简单实现 340

12.4.8小结 341

12.4.9问题和练习:实现 341

12.5算法 342

12.5.1排序 342

12.5.2混排 344

12.5.3常规数据操作 344

12.5.4查询 344

12.5.5组合 345

12.5.6查找极值 345

12.6自定义集合实现 345

12.6.1编写实现的原因 345

12.6.2如何编写自定义实现 346

12.7互操作性 347

12.7.1兼容性 347

12.7.2 API设计 349

第13章 并发 351

13.1进程和线程 351

13.1.1进程 351

13.1.2线程 351

13.2线程对象 352

13.2.1定义和启动一个线程 352

13.2.2使用sleep方法暂停执行 353

13.2.3中断 353

13.2.4联合 354

13.2.5 Si mpl eTh reads实例 355

13.3同步 356

13.3.1线程冲突 356

13.3.2内存一致性错误 357

13.3.3同步方法 358

13.3.4内部锁和同步 359

13.3.5原子访问 360

13.4活性 361

13.4.1死锁 361

13.4.2饥饿和活锁 362

13.5保护块 362

13.6不可变对象 365

13.6.1同步类实例 365

13.6.2定义不可变对象的策略 367

13.7高级并发对象 368

13.7.1锁对象 368

13.7.2执行器 370

13.7.3并发集合 374

13.7.4原子变量 375

13.7.5并发随机数 376

13.8问题和练习:并发 376

第14章 正则表达式 378

14.1简介 378

14.1.1正则表达式 378

14.1.2正则表达式的表示方法 378

14.2测试工具 379

14.3字符串文字 380

14.3.1元字符 380

14.4字符类 381

14.4.1简单类 381

14.5预定义字符类 384

14.6量词 386

14.6.1零长度匹配 387

14.6.2捕捉组和带量词的字符类 389

14.6.3贪婪型、勉强型和占有型量词之间的区别 390

14.7捕捉组 390

14.7.1编号 390

14.7.2反向引用 391

14.8边界匹配器 391

14.9 Pattern类方法 393

14.9.1使用标记创建模式 393

14.9.2嵌套标记表达式 394

14.9.3使用matches(String,CharSequence)方法 395

14.9.4使用split(String)方法 395

14.9.5其他实用方法 396

14.9.6 java.lang.String中Pattern方法的等价方法 396

14.10 Matcher类方法 397

14.10.1索引方法 397

14.10.2学习方法 397

14.10.3替换方法 397

14.10.4使用start方法和end方法 398

14.10.5使用matches方法和lookingAt方法 399

14.10.6使用replaceFirst(St-ring)方法和replace-All(String)方法 399

14.10.7使用appendReplacement(StringBuffer,String)方法和appendTail(Str-ingBuffer)方法 400

14.10.8 j ava.l ang.String中Matcher方法的等价方法 401

14.11 PatternSyntaxExcep-ti on类方法 401

14.12 Unicode支持 403

14.12.1匹配特定代码点 403

14.12.2 Unicode字符属性 403

14.13问题和练习:正则表达式 404

第15章 平台环境 405

15.1配置工具 405

15.1.1属性 405

15.1.2命令行参数 408

15.1.3环境变量 409

15.1.4其他配置工具 410

15.2系统工具 410

15.2.1命令行I/O对象 410

15.2.2系统属性 410

15.2.3安全管理器 413

15.2.4系统的其他方法 414

15.3 PATH和CLASSPATH环境变量 414

15.3.1更新PATH环境变量 (Microsoft Windows) 414

15.3.2更新PATH环境变量(Solaris、Linux和OS X) 416

15.3.3检查CLASSPATH环境变量(所有平台) 416

15.4问题和练习:平台环境 417

第16章JAR文件 418

16.1 JAR文件使用入门 418

16.1.1创建JAR文件 419

16.1.2查看JAR文件内容 421

16.1.3抽取JAR文件内容 422

16.1.4更新JAR文件 423

16.1.5运行打包为JAR的软件 424

16.2清单文件使用入门 426

16.2.1理解默认的清单文件 426

16.2.2修改清单文件 426

16.2.3设置应用程序的入口点 427

16.2.4将类文件加入JAR文件的类路径 428

16.2.5设置包版本信息 429

16.2.6用JAR文件封装包 430

16.2.7使用清单属性增强安全性 430

16.3 JAR文件的签名和验证 431

16.3.1理解签名和验证 431

16.3.2对JAR文件签名 433

16.3.3验证签名的JAR文件 435

16.4使用JAR相关API 435

16.4.1实例:JarRunner应用 436

16.4.2 JarClassLoader类 436

16.4.3 JarRunner类 438

16.5问题和练习:JAR文件 439

第17章Java Web Start 440

17.1开发Java Web Start应用 440

17.1.1创建顶层JPanel类 441

17.1.2创建应用 441

17.1.3从最后部署机制中分离出核心方法的好处 442

17.1.4获取资源 442

17.2部署Java Web Start应用 442

17.2.1设置Web服务器 445

17.3显示自定义的加载进度指示器 445

17.3.1开发自定义的加载进度指示器 445

17.3.2为Java Web Start应用指定自定义的加载进度指示器 447

17.4运行Java Web Start应用 447

17.4.1通过浏览器运行Java Web Start应用 448

17.4.2通过Java Cache Viewer运行Java Web Start应用 448

17.4.3从桌面运行Java Web Start应用 448

17.5 Java Web Start与安全 448

17.5.1动态下载HTTPS认证 449

17.6 Java Web Start常见问题 449

17.7问题和练习:Java Web Start 450

第18章applet 451

18.1开始使用applet 451

18.1.1定义Applet类的子类 452

18.1.2里程碑方法 452

18.1.3 applet的生命周期 452

18.1.4 applet的执行环境 454

18.1.5开发applet 454

18.1.6部署applet 457

18.2 applet的更多功能 459

18.2.1查找和加载数据文件 459

18.2.2定义和使用applet参数 460

18.2.3显示简短的状态字符串 462

18.2.4在浏览器中显示文档 462

18.2.5从applet调用JavaScript代码 464

18.2.6从JavaScript代码中调用applet方法 465

18.2.7通过事件句柄处理初始化状态 468

18.2.8操纵applet网页的DOM 469

18.2.9显示自定义的加载进度指示器 471

18.2.10将诊断写入标准输出和错误流 474

18.2.11开发可拖动的applet 475

18.2.12和其他applet交互 477

18.2.13与服务器端应用交互 478

18.2.14 applet能做什么和不能做什么 480

18.3 applet常见问题及解决方案 481

18.4问题和练习:applet 482

第19章Java富互联网应用系统 483

19.1设置可信参数和安全属性 483

19.1.1系统属性 484

19.2 JNLP API 485

19.2.1通过JNLP API访问客户端 486

19.3 cookie 489

19.3.1 cookie的类型 489

19.3.2 RIA中的cookie支持 489

19.3.3获取cooki e 489

19.4自定义加载体验 491

19.5 RIA的安全 491

19.6 安全RIA手册 492

19.6.1遵循安全编程指导 492

19.6.2使用最新版JRE测试 492

19.6.3加入清单属性 492

19.6.4使用已签署的JNLP文件 492

19.6.5签署JAR文件并加盖时间戳 493

19.6.6使用HTTPS协议 493

19.6.7避免本地RIA 493

19.7问题和练习:Java富互联网应用系统 493

第20章 深入理解部署 495

20.1 RIA的用户接纳 495

20.2部署工具 496

20.2.1部署工具脚本所在位置 496

20.2.2部署applet 496

20.2.3部署Java Web Start应用 499

20.2.4检查客户端的JRE软件版本 501

20.3 Java网络加载协议 501

20.3.1 JNLP文件结构 501

20.4部署的最佳实践 505

20.4.1减少下载时间 505

20.4.2避免不必要的更新检查 506

20.4.3确保JRE软件存在 508

20.5问题和练习:深入理解部署 509

第21章 日期/时间API 510

21.1日期/时间API概述 510

21.2日期/时间API设计原则 510

21.2.1明确性 510

21.2.2流式 510

21.2.3不可变性 511

21.2.4可扩展性 511

21.3日期/时间程序包 511

21.4方法命名约定 511

21.5标准日历 512

21.6日期/时间类概述 512

21.7 DayOfWeek和Month枚举器 513

21.7.1 DayOfWeek枚举器 513

21.7.2 Month枚举器 513

21.8日期类 515

21.8.1 Local Date 515

21.8.2YearMonth 515

21.8.3 MonthDay 516

21.8.4Year 516

21.9日期和时间类 516

21.9.1 LocalTime 516

21.9.2 Local DateTime 517

21.10时区和时区偏移类 517

21.10.1 Zonel d和ZoneOff-set 517

21.10.2日期/时间类 518

21.11 Instant类 520

21.12解析和格式化 521

21.12.1解析 522

21.12.2格式化 522

21.13时间程序包 523

21.13.1 Temporal和Temporal-Accessor 523

21.13.2 Ch ronoFi el d和IsoFields 524

21.13.3 ChronoUnit 524

21.13.4时间调节器 524

21.13.5时间查询 526

21.14周期和持续时间 527

21.14.1 Duration 528

21.14.2 ChronoUnit 528

21.14.3 Period 528

21.15 时钟 529

21.16非ISO日期的转换 530

21.16.1转换成非ISO日期 530

21.16.2转换成ISO日期 531

21.17遗留的日期/时间代码 532

21.17.1与遗留代码的互操作 532

21.17.2将java.util日期和时间功能映射给j ava .time 533

21.17.3日期和时间的格式化 534

21.18小结 534

21.19问题和练习:日期/时间API 535

第22章JavaFX简介 536

附录Java程序语言认证考试复习大纲 537

相关图书
作者其它书籍
返回顶部