Java核心技术卷I:基础知识(原书第10版)图书
人气:32

Java核心技术卷I:基础知识(原书第10版)

全新第10版!Java领域具有影响力和价值的著作之一,与《Java编程思想》齐名,10余年全球畅销不衰,广受好评
  • 所属分类:图书 >计算机/网络>程序设计>Java Java Script J2EE  
  • 作者:(美)凯 [S.霍斯特曼](Cay S. [Horstmann])
  • 产品参数:
  • 丛书名:Java核心技术系列
  • 国际刊号:9787111547426
  • 出版社:机械工业出版社
  • 出版时间:2016-09
  • 印刷时间:2016-09-19
  • 版次:1
  • 开本:16开
  • 页数:--
  • 纸张:胶版纸
  • 包装:平装
  • 套装:

内容简介

Java领域有影响力和价值的著作之一,由拥有20多年教学与研究经验的博学Java技术专家撰写(获Jolt大奖),与《Java编程思想》齐 名,10余年全球畅销不衰,广受好评。第10版根据Java SE 8更新,同时修正了第9版中的不足,系统讲解了Java语言的核心概念、语法、重要特性和开发方法,包含大量案例,实践性强。

本书共14章。第1章概述Java语言与其他程序设计语言不同的性能;第2章讲解如何下载和安装JDK及本书的程序示例;第3章介绍变量、循 环和简单的函数;第4章讲解类和封装;第5章介绍继承;第6章解释接口和内部类;第7章讨论异常处理,并给出大量实用的调试技巧;第8章概要介绍泛型程序 设计;第9章讨论Java平台的集合框架;第10章介绍GUI程序设计,讨论如何建立窗口、如何在窗口中绘图、如何利用几何图形绘图、如何采用多种字体格 式化文本,以及如何显示图像;第11章详细讨论抽象窗口工具包的事件模型;第12章详细讨论Swing GUI工具包;第13章介绍如何将程序部署为应用或applet;第14章讨论并发。本书还有一个附录,其中列出了Java语言的保留字。

编辑推荐

Java领域有影响力和价值的著作之一,与《Java编程思想》齐名,10余年全球畅销不衰,广受好评

根据Java SE 8更新,系统讲解Java语言的核心概念、语法、重要特性和开发方法,包含大量案例,实践性强 ??

一直以来,《Java核心技术》都被认为是面向高级程序员的经典教程和参考书,它内容翔实、客观,不拖泥带水,是想为实际应用编写健壮 Java代码的程序员的选。如今,本版进行了更新, 以反映近年来人们翘首以待、变革大的Java版本(Java SE 8)的内容。这一版经过重写,并重新组织,阐释了新的Java SE 8特性、惯用法和佳实践,其中包含数百个示例程序,所有这些代码都经过精心设计,不仅易于理解,也很容易实际应用。

本书为专业程序员解决实际问题而写,可以帮助你深入了解Java语言和库。在卷I中,Horstmann主要强调基本语言概念和现代用户界面 编程基础,深入介绍了从Java面向对象编程到泛型、集合、lambda表达式、Swing UI设计以及并发和函数式编程的新方法等内容。

通过阅读本书,你将:

充分利用你现有的编程知识快速掌握核心Java语法

了解Java中封装、类和继承如何工作

掌握利用接口、内部类和lambda表达式来实现函数式编程

利用异常处理和有效调试提高程序健壮性

利用泛型和强类型编写更安全、更可读的程序

使用预建集合收集多个对象以便以后获取

从头开始掌握并发编程技术

利用标准Swing组件构建现代跨平台GUI

部署可配置应用和applet,并通过互联网

利用新的函数式技术简化并发性和提高性能

如果你是一个博学程序员,刚刚转向Java SE 8,本书是、实用的“伙伴”,不仅现在能帮助你,在未来的很多年还会继续陪伴你前行。

作者简介

凯 S. 霍斯特曼(Cay S. Horstmann),圣何塞州立大学计算机科学系教授、Java的倡导者,经常在开发人员会议上发表演讲。他是《Core Java for the Impatient》(2015)《Java SE 8 for the Really Impatient》(2014)和《Scala for the lmpatient》(2012)的作者,这些书均由Addison-Wesley出版。他为专业程序员和计算机科学专业学生编写过数十本图书。

目录

译者序

前言

致谢

第1章Java程序设计概述 1

1.1Java程序设计平台 1

1.2Java“白皮书”的关键术语 2

1.2.1简单性 2

1.2.2面向对象 2

1.2.3分布式 3

1.2.4健壮性 3

1.2.5安全性 3

1.2.6体系结构中立 4

1.2.7可移植性 4

1.2.8解释型 5

1.2.9高性能 5

1.2.10多线程 5

1.2.11动态性 5

1.3Java applet与Internet 6

1.4Java发展简史 7

1.5关于Java的常见误解 9

第2章Java程序设计环境 12

2.1安装Java开发工具包 12

2.1.1下载JDK 12

2.1.2设置JDK 13

2.1.3安装库源文件和文档 15

2.2使用命令行工具 16

2.3使用集成开发环境 18

2.4运行图形化应用程序 21

2.5构建并运行applet 23

第3章Java的基本程序设计结构 28

3.1一个简单的Java应用程序 28

3.2注释 31

3.3数据类型 32

3.3.1整型 32

3.3.2浮点类型 33

3.3.3char类型 34

3.3.4Unicode和char类型 35

3.3.5boolean类型 35

3.4变量 36

3.4.1变量初始化 37

3.4.2常量 37

3.5运算符 38

3.5.1数学函数与常量 39

3.5.2数值类型之间的转换 40

3.5.3强制类型转换 41

3.5.4结合赋值和运算符 42

3.5.5自增与自减运算符 42

3.5.6关系和boolean运算符 42

3.5.7位运算符 43

3.5.8括号与运算符级别 44

3.5.9枚举类型 45

3.6字符串 45

3.6.1子串 45

3.6.2拼接 46

3.6.3不可变字符串 46

3.6.4检测字符串是否相等 47

3.6.5空串与Null串 48

3.6.6码点与代码单元 49

3.6.7String API 50

3.6.8阅读联机API文档 52

3.6.9构建字符串 54

3.7输入输出 55

3.7.1读取输入 55

3.7.2格式化输出 58

3.7.3文件输入与输出 61

3.8控制流程 63

3.8.1块作用域 63

3.8.2条件语句 63

3.8.3循环 66

3.8.4确定循环 69

3.8.5多重选择:switch语句 72

3.8.6中断控制流程语句 74

3.9大数值 76

3.10数组 78

3.10.1for each循环 79

3.10.2数组初始化以及匿名数组 80

3.10.3数组拷贝 81

3.10.4命令行参数 81

3.10.5数组排序 82

3.10.6多维数组 85

3.10.7不规则数组 88

第4章对象与类 91

4.1面向对象程序设计概述 91

4.1.1类 92

4.1.2对象 93

4.1.3识别类 93

4.1.4类之间的关系 94

4.2使用预定义类 95

4.2.1对象与对象变量 95

4.2.2Java类库中的LocalDate类 98

4.2.3更改器方法与访问器方法 100

4.3用户自定义类 103

4.3.1Employee类 103

4.3.2多个源文件的使用 105

4.3.3剖析Employee类 106

4.3.4从构造器开始 106

4.3.5隐式参数与显式参数 108

4.3.6封装的优点 109

4.3.7基于类的访问权限 111

4.3.8私有方法 111

4.3.9f?inal实例域 112

4.4静态域与静态方法 112

4.4.1静态域 112

4.4.2静态常量 113

4.4.3静态方法 114

4.4.4工厂方法 115

4.4.5main方法 115

4.5方法参数 118

4.6对象构造 123

4.6.1重载 123

4.6.2默认域初始化 123

4.6.3无参数的构造器 124

4.6.4显式域初始化 125

4.6.5参数名 125

4.6.6调用另一个构造器 126

4.6.7初始化块 127

4.6.8对象析构与f?inalize方法 130

4.7包 131

4.7.1类的导入 131

4.7.2静态导入 133

4.7.3将类放入包中 133

4.7.4包作用域 136

4.8类路径 137

4.8.1设置类路径 139

4.9文档注释 140

4.9.1注释的插入 140

4.9.2类注释 140

4.9.3方法注释 141

4.9.4域注释 142

4.9.5通用注释 142

4.9.6包与概述注释 143

4.9.7注释的抽取 143

4.10类设计技巧 144

第5章继承 147

5.1类、超类和子类 147

5.1.1定义子类 147

5.1.2覆盖方法 149

5.1.3子类构造器 150

5.1.4继承层次 153

5.1.5多态 154

5.1.6理解方法调用 155

5.1.7阻止继承:f?inal类和方法 157

5.1.8强制类型转换 158

5.1.9抽象类 160

5.1.10受保护访问 165

5.2Object:所有类的超类 166

5.2.1equals方法 166

5.2.2相等测试与继承 167

5.2.3hashCode方法 170

5.2.4toString方法 172

5.3泛型数组列表 178

5.3.1访问数组列表元素 180

5.3.2类型化与原始数组列表的兼容性 183

5.4对象包装器与自动装箱 184

5.5参数数量可变的方法 187

5.6枚举类 188

5.7反射 190

5.7.1Class类 190

5.7.2捕获异常 192

5.7.3利用反射分析类的能力 194

5.7.4在运行时使用反射分析对象 198

5.7.5使用反射编写泛型数组代码 202

5.7.6调用任意方法 205

5.8继承的设计技巧 208

第6章接口、lambda表达式与内部类 211

6.1接口 211

6.1.1接口概念 211

6.1.2接口的特性 217

6.1.3接口与抽象类 218

6.1.4静态方法 218

6.1.5默认方法 219

6.1.6解决默认方法冲突 220

6.2接口示例 222

6.2.1接口与回调 222

6.2.2Comparator接口 224

6.2.3对象克隆 225

6.3lambda表达式 231

6.3.1为什么引入lambda表达式 231

6.3.2lambda表达式的语法 232

6.3.3函数式接口 234

6.3.4方法引用 235

6.3.5构造器引用 237

6.3.6变量作用域 237

6.3.7处理lambda表达式 239

6.3.8再谈Comparator 242

6.4内部类 242

6.4.1使用内部类访问对象状态 244

6.4.2内部类的特殊语法规则 247

6.4.3内部类是否有用、必要和安全 248

6.4.4局部内部类 250

6.4.5由外部方法访问变量 250

6.4.6匿名内部类 252

6.4.7静态内部类 255

6.5 258

6.5.1何时使用 259

6.5.2创建对象 259

6.5.3类的特性 262

第7章异常、断言和日志 264

7.1处理错误 264

7.1.1异常分类 265

7.1.2声明受查异常 267

7.1.3如何抛出异常 269

7.1.4创建异常类 270

7.2捕获异常 271

7.2.1捕获异常 271

7.2.2捕获多个异常 273

7.2.3再次抛出异常与异常链 274

7.2.4f?inally子句 275

7.2.5带资源的try语句 278

7.2.6分析堆栈轨迹元素 280

7.3使用异常机制的技巧 282

7.4使用断言 285

7.4.1断言的概念 285

7.4.2启用和禁用断言 286

7.4.3使用断言完成参数检查 287

7.4.4为文档假设使用断言 288

7.5记录日志 289

7.5.1基本日志 289

7.5.2高级日志 289

7.5.3修改日志管理器配置 291

7.5.4本地化 292

7.5.5处理器 293

7.5.6过滤器 296

7.5.7格式化器 296

7.5.8日志记录说明 296

7.6调试技巧 304

第8章泛型程序设计 309

8.1为什么要使用泛型程序设计 309

8.1.1类型参数的好处 309

8.1.2谁想成为泛型程序员 310

8.2定义简单泛型类 311

8.3泛型方法 313

8.4类型变量的限定 314

8.5泛型代码和虚拟机 316

8.5.1类型擦除 316

8.5.2翻译泛型表达式 317

8.5.3翻译泛型方法 318

8.5.4调用遗留代码 319

8.6约束与局限性 320

8.6.1不能用基本类型实例化类型参数 320

8.6.2运行时类型查询只适用于原始类型 321

8.6.3不能创建参数化类型的数组 321

8.6.4Varargs警告 322

8.6.5不能实例化类型变量 323

8.6.6不能构造泛型数组 323

8.6.7泛型类的静态上下文中类型变量无效 325

8.6.8不能抛出或捕获泛型类的实例 325

8.6.9可以消除对受查异常的检查 326

8.6.10注意擦除后的冲突 327

8.7泛型类型的继承规则 328

8.8通配符类型 330

8.8.1通配符概念 330

8.8.2通配符的超类型限定 331

8.8.3无限定通配符 334

8.8.4通配符捕获 334

8.9反射和泛型 337

8.9.1泛型Class类 337

8.9.2使用Class参数进行类型匹配 338

8.9.3虚拟机中的泛型类型信息 338

第9章集合 344

9.1Java集合框架 344

9.1.1将集合的接口与实现分离 344

9.1.2Collection接口 346

9.1.3迭代器 347

9.1.4泛型实用方法 349

9.1.5集合框架中的接口 352

9.2具体的集合 353

9.2.1链表 355

9.2.2数组列表 362

9.2.3散列集 363

9.2.4树集 366

9.2.5队列与双端队列 369

9.2.6优先级队列 371

9.3映射 372

9.3.1基本映射操作 372

9.3.2更新映射项 375

9.3.3映射视图 376

9.3.4弱散列映射 377

9.3.5链接散列集与映射 378

9.3.6枚举集与映射 379

9.3.7标识散列映射 380

9.4视图与包装器 381

9.4.1轻量级集合包装器 382

9.4.2子范围 382

9.4.3不可修改的视图 383

9.4.4同步视图 384

9.4.5受查视图 384

9.4.6关于可选操作的说明 385

9.5算法 388

9.5.1排序与混排 389

9.5.2二分查找 391

9.5.3简单算法 392

9.5.4批操作 394

9.5.5集合与数组的转换 394

9.5.6编写自己的算法 395

9.6遗留的集合 396

9.6.1Hashtable类 397

9.6.2枚举 397

9.6.3属性映射 398

9.6.4栈 399

9.6.5位集 399

第10章图形程序设计 403

10.1Swing概述 403

10.2创建框架 407

10.3框架定位 409

10.3.1框架属性 411

10.3.2确定合适的框架大小 411

10.4在组件中显示信息 415

10.5处理2D图形 419

10.6使用颜色 426

10.7文本使用特殊字体 429

10.8显示图像 435

第11章事件处理 439

11.1事件处理基础 439

11.1.1实例:处理按钮点击事件 441

11.1.2简洁地指定监听器 445

11.1.3实例:改变观感 447

11.1.4适配器类 450

11.2动作 453

11.3鼠标事件 459

11.4AWT事件继承层次 465

11.4.1语义事件和底层事件 466

第12章Swing用户界面组件 469

12.1Swing和模型–视图–控制器设计模式 469

12.2布局管理概述 474

12.3文本输入 481

12.4选择组件 488

12.5菜单 504

12.6复杂的布局管理 518

12.7对话框 541

12.8GUI程序排错 573

第13章部署Java应用程序 580

13.1JAR文件 580

13.2应用项的存储 586

13.3服务加载器 596

13.4applet 598

13.5Java Web Start 614

第14章并发 624

14.1什么是线程 624

14.2中断线程 632

14.3线程状态 635

14.4线程属性 638

14.5同步 640

14.6阻塞队列 668

14.7线程安全的集合 673

14.8Callable与Future 681

14.9执行器 685

14.10同步器 696

14.11线程与Swing 698

附录AJava关键字 710

网友评论(不代表本站观点)

来自东东风**的评论:

一本很全面的java基础知识的书,有很多很有用的c++注释,难度上比java编程思想简单的多,可以实时查阅

2017-11-20 10:16:56
来自***(匿**的评论:

第一次收到时折损较严重,个人有些许强迫症,因此申请售后做换货处理,不到半小时就通过了。第二天就收到了快递的消息,拿到了书!!济南到青岛,效率太高了,惊讶!可惜的是第二本也有折损……哎,爱书,可以理解在内页做笔记却难以接受外表硬伤不想折腾了,希望当当在发书的时候能包好点,是要环保,那也可以用带缓冲气泡的塑封包装啊,或者是纸箱到后可以由快递员与买家协商留下纸箱以作循环~

2017-05-04 13:26:52
来自无昵称**的评论:

非常好的一本书籍,结合了c++的语法进行对比,并且还有讲一些代码编写上注意的地方,但是有的章节可能是翻译的问题感觉没有弄懂

2017-11-07 12:34:20
来自爱***蛋**的评论:

送的很快,就是可能和另一本书买重了。都是基础知识

2017-04-24 16:11:56
来自匿名用**的评论:

看了很久还没有看完,对初学者来说是很好的一本书.

2017-04-21 16:30:18
来自将***(**的评论:

老公让买的工具书,当当有折扣,实体店没有,老公说不错。一直在当当买书。

2017-05-18 08:54:47
来自匿名用**的评论:

大体上还是很不错的,就是书脚处有一些被摩的坏了

2017-07-18 21:26:37
来自s***y(**的评论:

内容很新,对全面了解java基础知识很有帮助

2017-04-30 15:41:21
来自徐***(**的评论:

书挺好的,和thinking in java两本书一起学习

2017-03-30 17:05:28
来自h***n(**的评论:

当初不想学Java,这次因为要弄android,就挑着买了本这个,感觉还是不错的,讲的很清楚。

2017-02-24 16:28:00
来自一***4(**的评论:

经典中的经典,想学好java这本书你是几乎是必看的。

2017-06-19 12:21:22
来自匿名用**的评论:

书不错,但对于零基础的我来说感觉有点难懂,不过我相信过后肯定会对我学习有很大的帮助的!

2017-04-05 14:47:06
来自邻***(**的评论:

有点小贵,是正版,买的时候没有满减活动,花了94大洋。希望对Java学习有帮助,加油!

2017-05-12 23:52:05
来自无昵称**的评论:

很好,第二天就送到了。。没找到卷二的第十版,先买卷一看着吧

2017-08-19 22:15:26
来自夜雨留**的评论:

韵达送过来的,书的正面有一个很小的坑,总体来说很满意

2017-07-31 11:47:32
来自匿名用**的评论:

赞赞赞赞赞赞赞赞赞赞赞赞赞赞绝对绝对肯定看到你的看法吗

2017-08-14 13:17:14
来自***(匿**的评论:

书感觉是正版的,就是包装太简单了吧,书角都被挤的翘起来了

2017-06-27 12:08:40
来自无昵称**的评论:

书不错,但是应该是在快递过程中受到了非书的待遇,我拿到时有褶皱了,应该是受到了重击,希望快递公司斯文点。

2017-02-14 15:02:17
来自匿名用**的评论:

没有什么折损,非常好,送货速度也非常快,因为有些事情稍微耽搁了,快递小哥也没有催我,很满意

2017-06-25 15:01:19
来自匿名用**的评论:

这本书介绍的比较详尽,浅显,适合刚入门的学习

2017-06-17 21:58:17
来自无昵称**的评论:

书是好书,纸张也不错。就是目前这个水平看不太懂,还是视频里讲的通俗易懂。

2017-10-13 22:14:12
来自匿名用**的评论:

好 虽然有点小贵 但是真的很有用处 让我了解到了JAVA 比学校的教科书好多了

2017-05-18 22:11:09
来自匿名用**的评论:

书挺好的,买了卷二了,lambda表达式挺烦人的,书最后几章的代码全是lambda表达式,其他内容挺好的

2017-06-03 11:39:14
来自她***丶**的评论:

快递还可以,书有点折痕,但是正版。内容满分,我大一上学期java 没学好,买来后,感觉很棒,讲的很详细,推荐新入门的买这本。

2017-03-08 19:41:43
来自啊***o(**的评论:

这本书适合学过c/c++的入门Java~里面有Java和c/c++的对比介绍。

2017-09-07 11:17:56
来自我就是**的评论:

内容很新,解释很详细,堪比C++ Primer Plus,终于找到一本令我比较满意的书。

2017-08-07 20:05:05
来自无昵称**的评论:

第22页 静态方法不能调用动态方法 所以 在 class ImageViewFrame的前面加上static

2017-10-31 10:46:45
来自匿名用**的评论:

首先,包装就一层塑料袋,还好没有什么破损,快递也是醉了,周日就应该送到的,结果还送错地方了,到了周二才送到,和淘宝买的速度差不多了,还比淘宝贵很多

2017-03-14 13:12:58
来自匿名用**的评论:

Java学习的好教材,只是这次活动购买到收货好慢哦

2017-04-26 23:07:53
来自武勿唔**的评论:

大力推荐,java入门最好书,应该没有之一,比什么从入门到精通好多了

2017-05-15 11:35:50
来自无昵称**的评论:

书还可以,知识点较为全面,我觉得先看视频,边看边实践,书是用来反复读加深理解的

2017-08-19 12:52:32
登录后即可发表评论

免责声明

更多相关图书
在线咨询