Java语言导学 英文版 第6版PDF电子书下载
- 电子书积分:22 积分如何计算积分?
- 作 者:(美)雷蒙德,盖拉多(Raymond Gallard)
- 出 版 社:北京:机械工业出版社
- 出版年份:2016
- ISBN:7111534336
- 页数:806 页
第1章 快速入门 1
关于Java技术 1
Java程序语言 2
Java平台 2
Java技术的功能 4
Java技术的优势 4
“Hello World!”示例程序 5
用NetBeans IDE开发“Hello World!” 6
在Microsoft Windows中开发“Hello World!” 15
在Solaris和Linux中开发“Hello World!” 20
“Hello World!”示例程序剖析 23
源码注释 24
HelloWorldApp类定义 25
main方法 25
常见问题(及其解决方案) 27
编译器问题 27
运行时问题 29
问题和练习:快速入门 31
问题 31
练习 32
答案 32
第2章 面向对象的编程概念 33
对象 34
类 36
继承 38
接口 39
包 40
问题和练习:面向对象的编程概念 41
问题 41
练习 41
答案 41
第3章 语言基础 43
变量 44
命名 45
基本数据类型 46
数组 51
小结 57
问题和练习:变量 57
运算符 58
赋值运算符、算术运算符和一元运算符 59
等式运算符、关系运算符和条件运算符 62
位运算符和移位运算符 65
小结 66
问题和练习:运算符 67
表达式、语句和块 68
表达式 68
语句 70
块 71
问题和练习:表达式、语句和块 71
控制流语句 72
if-then语句和if-then-else语句 72
switch语句 74
while语句和do-while语句 79
for语句 80
分支语句 82
小结 85
问题和练习:控制流语句 86
第4章 类和对象 87
类 88
声明类 89
声明成员变量 90
定义方法 92
构建构造器 94
将消息传给方法或构造器 95
对象 99
创建对象 100
使用对象 104
类的更多细节 107
方法的返回值 107
使用this关键字 109
控制对类成员的访问 110
类成员 112
初始化字段 116
小结 118
问题和练习:类 119
问题和练习:对象 120
嵌套类 121
为什么使用嵌套类 122
静态嵌套类 122
内部类 123
隐藏 123
序列化 124
内部类示例 125
局部类和匿名类 127
修饰符 127
局部类 127
匿名类 131
Lambda表达式 136
何时使用嵌套类、局部类、匿名类和Lambda表达式 155
问题和练习:嵌套类 156
枚举类型 157
问题和练习:枚举类型 161
第5章 注解 163
注解的基本概念 164
注解格式 164
哪些地方使用注解 165
声明注解类型 165
预定义注解类型 167
Java语言使用的注解类型 167
应用于其他注解的注解类型 169
类型注解和可插拔类型系统 170
重复注解 171
步骤1:声明可重复的注解类型 172
步骤2:声明包含的注解类型 172
检索注解 173
设计注意事项 173
问题和练习:注解 173
问题 173
练习 174
答案 174
第6章 接口与继承 175
接口 175
Java语言的接口 176
将接口用作API 177
定义接口 177
实现接口 178
将接口用作类型 180
演化接口 181
默认方法 182
小结 192
问题和练习:接口 193
继承 193
Java平台中类的层次结构 194
继承示例 195
子类能做什么 196
超类的私有成员 196
转换对象 197
状态、实现和类型的多继承 198
覆盖和屏蔽方法 199
多态性 203
屏蔽字段 206
使用super关键字 206
将对象用作超类 208
编写final类和方法 212
抽象方法和类 212
小结 216
问题和练习:继承 216
第7章 泛型 219
为什么用泛型 220
泛型类型 220
一个简单的Box类 220
Box类的泛型版本 221
类型参数命名约定 221
泛型类型的调用和实例化 222
钻石运算符 223
多个类型参数 223
参数化类型 224
原生类型 224
泛型方法 226
受限类型参数 227
多重限制 228
泛型方法和受限类型参数 229
泛型、继承和子类型 229
泛型类和子类型 230
类型推导 232
类型推导与泛型方法 232
类型推导与泛型类的实例化 233
类型推导与泛型类和非泛型类的泛型构造器 234
目标类型 235
通配符 236
上界通配符 236
界通配符 237
下界通配符 238
通配符和子类型 239
通配符匹配和辅助方法 240
通配符使用指南 243
类型擦除 244
泛型类型的擦除 245
泛型方法的擦除 246
类型擦除效果和桥方法 247
不可具体化类型和可变长参数方法 249
泛型的局限性 252
不能用基本数据类型实例化泛型类型 252
不能创建类型参数实例 253
不能声明类型为“类型参数”的静态字段 254
对参数化类型不能用类型转换或运算符 254
不能创建参数化类型数组 255
不能创建、捕获或抛出参数化类型的对象 255
不能重载方法,若方法每次重载的形式参数类型都被擦为相同的原生类型 256
问题和练习:泛型 256
答案 258
第8章 程序包 259
创建和使用程序包 259
创建程序包 261
命名程序包 262
使用程序包成员 263
管理源文件和类文件 267
小结 269
问题和练习:创建和使用程序包 269
问题 269
练习 270
答案 270
第9章 数和字符串 271
数 271
Number类 272
格式化数字打印输出 274
其他数学运算方法 279
自动装箱和拆箱 283
小结 286
问题和练习:数 286
字符 287
转义字符 288
字符串 288
创建字符串 289
字符串长度 290
字符串连接 291
创建格式字符串 292
数字和字符串之间的转换 292
操作字符串中的字符 295
比较字符串和字符串的子串 300
StringBuilder类 302
小结 306
问题和练习:字符和字符串 307
第10章 异常 309
什么是异常 310
捕获或指明规定 311
三类异常 311
绕过捕获或指明 312
捕获和处理异常 313
try块 314
catch块 315
finally块 316
try-with-resources语句 317
汇总 320
指明一个方法抛出的异常 323
如何抛出异常 324
throw语句 325
Throwable类及其子类 325
Error类 326
Exception类 326
链式异常 326
创建异常类 328
未检查异常:争议 329
异常的优点 330
优点1:从正规代码中分离出错误处理代码 331
优点2:根据调用栈上传错误 332
优点3:分组和区分错误类型 334
小结 335
问题和练习 336
问题 336
练习 337
答案 337
第11章 基本I/O和NIO.2 339
I/O流 339
字节流 340
字符流 342
缓冲流 345
扫描和格式化 346
命令行I/O 352
数据流 354
对象流 357
文件I/O(以NIO.2 为特征) 359
什么是路径(以及其他文件系统情况) 359
Path类 362
文件操作 370
检查文件或目录 374
删除文件或目录 375
复制文件或目录 376
移动文件或目录 377
管理元数据(文件和文件存储属性) 378
读取、写入和创建文件 386
随机存取文件 393
创建和读取目录 395
符号链接或其他方式的链接 399
遍历文件树 401
查找文件 407
监视目录的变化 410
其他有用的方法 416
遗留文件的I/O代码 418
小结 421
问题和练习:基本I/O 422
问题 422
练习 422
答案 422
第12章 集合 423
集合简介 424
集合框架是什么 424
Java集合框架的好处 425
接口 426
Collection接口 428
遍历集合 429
Collection接口的批量操作 432
Collection接口的数组操作 432
Set接口 433
List接口 438
Queue接口 446
Deque接口 448
Map接口 449
对象排序 458
SortedSet接口 464
SortedMap接口 467
小结 469
问题和练习:接口 470
聚合操作 471
管道和流 472
聚合操作和迭代的区别 474
归约 474
并行 480
副作用 484
问题和练习:聚合操作 487
实现 489
Set实现 492
List实现 493
Map实现 495
Queue实现 496
Deque实现 498
封装实现 499
简单实现 502
小结 504
问题和练习:实现 504
算法 505
排序 505
混排 508
常规数据操作 508
查询 508
组合 509
查找极值 509
自定义集合实现 509
为何自定义实现 510
如何编写自定义实现 511
互操作性 513
兼容性 513
API设计 515
第13章 并发 519
进程和线程 520
进程 520
线程 520
线程对象 521
定义和启动一个线程 521
使用Sleep函数暂停执行 522
中断 523
联合 525
简单线程例子 525
同步 527
线程冲突 527
内存一致性错误 528
同步方法 529
内部锁和同步 531
原子访问 533
活性 533
死锁 534
饥饿和活锁 535
保护块 535
不可变对象 539
同步类举例 540
定义不可变对象的策略 541
高级并发对象 543
锁对象 544
执行器 546
并发集合 552
原子变量 553
并发随机数 554
问题和练习:并发 555
问题 555
练习 555
答案 556
第14章 正则表达式 557
简介 558
什么是正则表达式 558
包中的正则表达式如何表示 558
测试工具 559
字符串文字 560
元字符 561
字符类 562
简单类 562
预定义字符类 566
量词 568
零长度匹配 569
捕获组和带有量词的字符类 572
贪婪型、勉强型和占有型量词之间的区别 573
捕获组 574
编号 574
反向引用 575
边界匹配器 576
模式类的方法 578
使用标记创建模式 578
嵌套标记表达式 580
使用matches(String, CharSequence)方法 580
使用split(String)方法 581
其他实用方法 582
java.lang.String中模式方法的等价 582
Matcher类的方法 583
索引方法 583
学习方法 584
替换方法 584
使用start和end方法 585
使用matches和lookingAt方法 586
使用replaceFirst(String)和replaceAll(String) 587
使用appendReplacement(StringBuffer, String)和appendTail(StringBuffer) 588
Matcher方法在java.lang.String中的等价 589
PatternSyntaxException类的方法 589
Unicode支持 591
匹配特定代码点 591
Unicode字符属性 591
问题和练习:正则表达式 592
问题 592
练习 593
答案 593
第15章 平台环境 595
配置工具 595
属性 596
命令行参数 600
环境变量 601
其他配置工具 602
系统工具 603
命令行I/O对象 603
系统属性 604
安全管理器 607
系统的其他方法 608
路径和类路径 609
更新PATH环境变量(MicrosoWindows) 609
更新PATH变量(Solaris、 Linux和OS X) 611
检查CLASSPATH变量(所有平台) 612
问题和练习:平台环境 613
问题 613
练习 614
答案 614
第16章 在JAR文件中打包程序 615
JAR文件使用入门 616
创建JAR文件 616
查看JAR文件内容 620
抽取JAR文件内容 622
更新JAR文件 623
运行打包为JAR的软件 625
清单文件使用入门 627
理解默认的清单文件 627
修改清单文件 628
设置应用程序的入口点 629
将类文件加入JAR文件的类路径 630
设置包版本信息 631
用JAR文件封装包 633
加强清单文件属性的安全性 634
JAR文件的签名和验证 635
理解签名和验证 636
对JAR文件签名 639
验证签名的JAR文件 641
使用JAR相关API 642
例子:JarRunner应用 643
JarClassLoader类 643
JarRunner类 646
问题和练习:在JAR文件中打包程序 648
问题 648
答案 648
第17章 Java Web Start 649
其他参考文献 650
开发Java Web Start应用 650
创建顶层JPanel类 651
创建应用 652
从最后部署机制中分离出核心功能的好处 652
获取资源 653
部署Java Web Start应用 653
设置Web服务器 656
显示自定义的加载进度指示器 656
开发自定义的加载进度指示器 657
为Java Web Start应用指定自定义的加载进度指示器 659
运行Java Web Start应用 660
通过浏览器运行Java Web Start应用 660
通过Java Cache Viewer运行Java Web Start应用 660
从桌面运行Java Web Start应用 661
Java Web Start与安全 661
动态下载HTTPS认证 662
Java Web Start常见问题 662
问题和练习:Java Web Start 663
问题 663
练习 664
答案 664
第18章 applet 665
开始使用applet 666
定义Applet类的子类 666
里程碑方法 667
applet的生命周期 668
applet的执行环境 670
开发applet 670
部署applet 673
applet更多功能 677
查找和加载数据文件 677
定义和使用applet参数 678
显示简短的状态字符串 681
在浏览器中显示文档 682
从applet调用JavaScript代码 683
从JavaScript代码中调用applet方法 686
通过事件句柄处理初始化状态 689
操纵applet网页的DOM 691
显示自定义加载进度指示器 693
将诊断写入标准输出和错误流 698
开发可拖动的applet 698
和其他applet通信 701
与服务器端应用交互 703
applet能做什么和不能做什么 705
applet常见问题及解决方案 707
问题和练习:applet 708
问题 708
练习 709
答案 709
第19章 Java富互联网应用系统 711
设置可信参数和安全属性 711
系统属性 713
JNLP API 714
通过JNLP API访问客户端 715
cookie 719
cookie的类型 719
RIA中的cookie支持 719
获取cookie 720
自定义加载体验 722
RIA的安全性 722
安全RIA入门 724
安全代码入门 724
测试最新的JRE 724
导入清单文件属性 725
使用签名的JNLP文件 725
对JAR文件进行签名和加时间戳 725
使用HTTPS协议 726
避免局部RIA 726
问题和练习:Java富互联网应用系统 726
问题 726
练习 726
答案 727
第20章 深入理解部署 729
RIA的用户接受度 729
部署工具 731
部署工具脚本所在位置 731
部署applet 732
部署Java Web Start应用 735
检查客户端的JRE软件版本 738
Java网络加载协议 739
JNLP文件结构 739
部署的最佳实践 748
减少下载时间 748
避免不必要的更新检查 749
确保JRE软件存在 751
问题和练习:深入理解部署 753
问题 753
练习 753
答案 753
第21章 日期/时间API 755
日期/时间API简介 756
日期/时间API设计原则 756
清晰 756
流畅 757
不可变 757
可扩展 757
日期/时间程序包 757
法命名约定 758
标准日历 759
简介 759
枚举类型DayOfWeek和Month 760
DayOfWeek 760
Month 762
日期类 762
LocalDate 763
YearMonth 763
MonthDay 764
Year 764
日期时间类 764
LocalTime 764
LocalDateTime 765
时区和偏移量类 766
ZoneId和ZoneOffset 766
日期/时间类 767
实例类 770
解析和格式化 772
解析 772
格式化 773
时间包 774
Temporal和TemporalAccessor 774
ChronoField和IsoFields 775
ChronoUnit 775
时间调节器 776
时间查询 778
周期和持续时间 780
持续时间 781
ChronoUnit 781
周期 782
时钟 783
非ISO日期约定 784
转换成非ISO类型的日期 784
转换成ISO类型的日期 786
遗留的日期/时间代码 787
与遗留代码的互操作 787
将java.util的日期和时间类功能映射到java.time 788
日期和时间的格式 789
小结 789
问题和练习:日期/时间API 791
问题 791
练习 791
答案 791
第22章 JavaFX简介 793
附录Java程序语言认证复习大纲 795
程序员Ⅰ级考试 795
主题1:Java基础 795
主题2:Java数据类型的使用 796
主题3:运算符和判定构造的使用 797
主题4:数组的创建和使用 797
主题5:循环构造的使用 798
主题6:方法和封装的使用 798
主题7:继承的使用 799
主题8:异常处理 799
主题9:选用Java API中的类 800
程序员Ⅱ级考试 801
Java SE 8升级考试 801
主题1:Lambda表达式 801
主题2:内置Lambda类型的使用 801
主题3:过滤带Lambda类型的集合 802
主题4: Lambda类型的集合操作 803
主题5:并行流 803
主题6: Lambda详情 804
主题7:增强的方法 804
主题8: Java SE 8日期/时间 API的使用 804
主题9:带Nashorn的Java的JavaScript使用 805
- 《卓有成效的管理者 中英文双语版》(美)彼得·德鲁克许是祥译;那国毅审校 2019
- 《程序逻辑及C语言编程》卢卫中,杨丽芳主编 2019
- 《幼儿园课程资源丛书 幼儿园语言教育资源》周兢编 2015
- 《AutoCAD 2018自学视频教程 标准版 中文版》CAD/CAM/CAE技术联盟 2019
- 《跟孩子一起看图学英文》张紫颖著 2019
- 《高等学校“十三五”规划教材 C语言程序设计》翟玉峰责任编辑;(中国)李聪,曾志华,江伟 2019
- 《AutoCAD机械设计实例精解 2019中文版》北京兆迪科技有限公司编著 2019
- 《音乐语言的根基》张艺编著 2019
- 《认知语言学视野的抽象方位结构研究》曹爽著 2019
- 《激活语言思维》李蒨,王宏年,汤青编著 2017
- 《SQL与关系数据库理论》(美)戴特(C.J.Date) 2019
- 《魔法销售台词》(美)埃尔默·惠勒著 2019
- 《看漫画学钢琴 技巧 3》高宁译;(日)川崎美雪 2019
- 《优势谈判 15周年经典版》(美)罗杰·道森 2018
- 《社会学与人类生活 社会问题解析 第11版》(美)James M. Henslin(詹姆斯·M. 汉斯林) 2019
- 《海明威书信集:1917-1961 下》(美)海明威(Ernest Hemingway)著;潘小松译 2019
- 《迁徙 默温自选诗集 上》(美)W.S.默温著;伽禾译 2020
- 《上帝的孤独者 下 托马斯·沃尔夫短篇小说集》(美)托马斯·沃尔夫著;刘积源译 2017
- 《巴黎永远没个完》(美)海明威著 2017
- 《剑桥国际英语写作教程 段落写作》(美)吉尔·辛格尔顿(Jill Shingleton)编著 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018
- 《高等教育双机械基础课程系列教材 高等学校教材 机械设计课程设计手册 第5版》吴宗泽,罗圣国,高志,李威 2018
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019
- 《高等院校旅游专业系列教材 旅游企业岗位培训系列教材 新编北京导游英语》杨昆,鄢莉,谭明华 2019
- 《中国十大出版家》王震,贺越明著 1991
- 《近代民营出版机构的英语函授教育 以“商务、中华、开明”函授学校为个案 1915年-1946年版》丁伟 2017
- 《新工业时代 世界级工业家张毓强和他的“新石头记”》秦朔 2019
- 《智能制造高技能人才培养规划丛书 ABB工业机器人虚拟仿真教程》(中国)工控帮教研组 2019
- 《AutoCAD机械设计实例精解 2019中文版》北京兆迪科技有限公司编著 2019