所有分类
  • 所有分类
  • 机械工业
  • 人民邮电
  • 清华大学
  • 电子工业

Java语言导学 原书第6版 PDF下载

Java语言导学 原书第6版 PDF下载插图

Java语言导学 原书第6版封面

Java语言导学 原书第6版 PDF下载插图1

Java语言导学 原书第6版书签

基本信息
原书名:The Java Tutorial: A Short Course on the Basics, Sixth Edition
作者: (美)雷蒙德·盖拉多(Raymond Gallardo)
译者: 董笑菊 薛建新 吴帆
丛书名: 计算机科学丛书
出版社:机械工业出版社
ISBN:9787111573302
上架时间:2017-7-7
出版日期:2017 年7月
开本:16开
版次:1-1
所属分类:计算机 > 软件与程序设计 > JAVA(J#) > Java
教材

内容简介
书籍
计算机书籍
本书基于Java SE 8编写,清晰地介绍了面向对象编程的概念、语言基础等,涵盖了Lambda表达式、类型注解、默认方法、聚合操作、日期/时间API等Java SE 8的新特性,更新了限制恶意小程序的攻击和RIA等相关内容。每章后面的问题和练习可以帮助读者巩固所学知识,此外,附录中还给出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 HelloWorldApp类定义 15
1.3.3 main方法 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 if-then语句和if-then-else语句 46
3.4.2 switch语句 47
3.4.3 while语句和do-while语句 51
3.4.4 for语句 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 StringBuilder类 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 List接口 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 List实现 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 SimpleThreads实例 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 java.lang.String中Matcher方法的等价方法 401
14.11 PatternSyntaxExcep-tion类方法 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 获取cookie 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 LocalDate 515
21.8.2 YearMonth 515
21.8.3 MonthDay 516
21.8.4 Year 516
21.9 日期和时间类 516
21.9.1 LocalTime 516
21.9.2 LocalDateTime 517
21.10 时区和时区偏移类 517
21.10.1 Zoneld和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 ChronoField和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日期和时间功能映射给java.time 533
21.17.3 日期和时间的格式化 534
21.18 小结 534
21.19 问题和练习:日期/时间API 535
第22章 JavaFX简介 536
附录 Java程序语言认证考试复习大纲 537

资源下载此资源下载价格为3积分点击检测网盘有效后购买,VIP免费
客服QQ:3599229794
资源下载
下载价格3 积分
客服QQ:3599229794
0

评论0

请先

显示验证码
没有账号? 注册  忘记密码?