图书介绍

Absolute Java 中文版 第6版2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载

Absolute Java 中文版 第6版
  • (美)Walter Savitch(沃尔特·萨维奇),Kenrick Mock(肯里克·莫克)著;师蓉译 著
  • 出版社: 北京:电子工业出版社
  • ISBN:9787121328664
  • 出版时间:2018
  • 标注页数:1000页
  • 文件大小:145MB
  • 文件页数:1026页
  • 主题词:JAVA语言-程序设计

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

Absolute Java 中文版 第6版PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

第1章 入门知识1

1.1 Java简介2

Java语言的起源2

对象和方法3

小程序(applet)4

一个Java应用程序示例4

字节码和Java虚拟机7

类装载器9

编译一个Java程序或类9

运行一个Java程序9

小贴士:错误消息10

1.2 表达式和赋值语句11

标识符11

变量12

赋值语句14

小贴士:初始化变量15

更多赋值语句知识16

赋值兼容性17

常量18

算数运算符和表达式19

括号和优先级规则20

整数和浮点数除法22

陷阱:浮点数的舍入错误22

陷阱:整数相除23

类型转换24

自增运算符和自减运算符25

1.3 String类27

字符串常量和变量27

字符串连接28

类29

String类的方法30

转义字符34

字符串处理35

Unicode字符集36

1.4 程序风格37

命名常量37

Java拼写约定39

注释40

缩进41

本章小结41

自测题答案42

编程项目44

第2章 流程控制47

2.1 屏幕输出48

System.out.println48

小贴士:编辑输出格式的不同方法50

使用printf编辑输出格式51

小贴士:用printf编辑金额格式54

小贴士:遗留代码55

使用NumberFormat编辑金额输出格式56

导入包和类58

DecimalFormat类59

2.2 使用Scanner类进行控制台输入62

Scanner类63

陷阱:行终止符′\n′的处理67

空字符串68

小贴士:输入提示68

小贴士:输入反馈68

示例:自助结账程序70

其他输入分隔符70

2.3 文件输入简介72

用Scanner类进行文本文件输入72

本章小结75

自测题答案75

编程项目77

第3章 控制流81

3.1 分支机制82

if-else语句82

省略else83

复合语句83

小贴士:放置花括号84

嵌套语句85

多分支if-else语句86

示例:州所得税86

switch语句88

陷阱:忘记switch语句中的break91

条件运算符92

3.2 布尔表达式92

简单布尔表达式93

陷阱:用=代替==93

陷阱:使用==比较字符串94

字典顺序和字母顺序95

建立布尔表达式97

陷阱:不等式串98

计算布尔表达式98

小贴士:命名布尔boolean变量101

短路求值与完整求值101

优先级和结合规则102

3.3 循环107

while语句和do-while语句108

算法和伪代码110

示例:分数列表的平均分112

for语句113

for语句中的逗号115

小贴士:重复N次循环116

陷阱:for语句中多余的分号116

陷阱:无限循环117

嵌套循环118

break语句和continue语句120

exit语句121

3.4 调试122

循环bug122

跟踪变量122

常规调试技术123

示例:调试一个输入验证循环124

预防性编码127

断言检查127

3.5 生成随机数129

Random对象130

Math.random( )方法131

本章小结132

自测题答案132

编程项目136

第4章 类的定义Ⅰ141

4.1 类的定义概述142

实例变量和方法145

方法续论147

小贴士:任何方法都能用作void方法150

局部变量152

块152

小贴士:在一个for语句中声明变量153

原始类型参数154

陷阱:术语“形参”和“实参”的使用159

类参数的简单示例160

this参数160

返回布尔值的方法162

方法equals和toString164

递归方法166

小贴士:对方法进行测试167

4.2 信息的隐藏和封装168

修饰符public和private169

示例:另一个日期类170

get和set方法171

小贴士:一个类可以访问该类所有对象的私有成员174

小贴士:set方法可以返回一个布尔值175

前置条件和后置条件176

4.3 重载177

重载的规则177

陷阱:重载与自动类型转换180

陷阱:不能根据返回类型进行重载182

4.4 构造函数183

构造函数的定义183

小贴士:你可以在构造函数中调用另一个方法190

小贴士:构造函数带有一个this参数190

小贴士:添加一个无参数构造函数190

示例:日期类的最终版本191

默认变量初始化192

另一种初始化实例变量的方法192

示例:一个宠物记录类193

StringTokenizer类196

本章小结200

自测题答案201

编程项目204

第5章 类的定义Ⅱ211

5.1 静态方法和静态变量212

静态方法212

陷阱:在静态方法中调用非静态方法215

小贴士:你可以在任何类中放置main函数215

静态变量218

Math类222

封装类225

自动装箱和拆箱226

封装类中的静态方法227

陷阱:封装类没有无参数构造函数229

5.2 引用和类参数231

变量和内存231

引用232

类参数237

陷阱:对类类型的变量使用=和==240

常量null241

陷阱:空指针异常242

new运算符和匿名对象242

示例:键盘输入的另一种方法243

小贴士:使用静态导入245

5.3 引用的使用和滥用246

示例:Person类246

陷阱:null可以作为方法的参数251

拷贝构造函数253

陷阱:隐私泄露255

可变类和不可变类258

小贴士:深拷贝vs.浅拷贝259

小贴士:假设你的同事是恶意的260

5.4 包和javadoc260

包和import语句261

java.lang包262

包名和目录262

陷阱:子类不是自动导入的264

默认包264

陷阱:不要在类路径中包含当前目录264

编译时指定类路径265

命名冲突266

javadoc简介266

为javadoc注释类267

运行javadoc268

本章小结269

自测题答案270

编程项目273

第6章 数组279

6.1 数组简介280

数组的创建和访问280

length实例变量283

小贴士:在数组中使用for循环284

陷阱:数组下标总是从0开始285

陷阱:数组越界285

数组的初始化285

陷阱:字符数组不是字符串287

6.2 数组和引用287

数组是对象288

陷阱:具有类基本类型的数组289

数组参数289

陷阱:在数组中使用=和==291

main方法的参数294

返回数组的方法295

6.3 用数组进行编程297

部分填充数组297

示例:部分填充数组的类300

小贴士:get方法不需要返回实例变量303

“for-each”循环303

参数个数可变的方法306

示例:一个字符串处理示例308

数组实例变量的隐私泄露309

示例:对数组排序312

枚举类型315

小贴士:在switch语句中使用枚举类型319

6.4 多维数组321

多维数组的基础知识321

使用length实例变量323

参差数组323

多维数组参数和返回值324

示例:一个成绩册类325

本章小结330

自测题答案330

编程项目336

第7章 继承343

7.1 继承的基础知识344

派生类344

重写方法的定义352

修改重写方法的返回类型353

修改重写方法的访问权限354

陷阱:重写vs.重载354

super构造函数355

this构造函数356

小贴士:派生类的对象有多个类型357

陷阱:术语子类和超类359

示例:增强的StringTokeni zer类359

7.2 封装和继承362

陷阱:基类中私有变量的使用362

陷阱:私有方法不能被有效地继承364

受保护访问和包访问364

陷阱:忘记默认包366

陷阱:受保护访问的限制366

7.3 使用继承编程368

小贴士:静态变量是继承的368

小贴士:“is a”vs.“has a”369

访问重新定义的基类方法369

陷阱:你不能使用多个super370

Object类371

定义equals的正确方式371

小贴士:getClass vs.instanceof373

本章小结377

自测题答案377

编程项目380

第8章 多态与抽象类385

8.1 多态386

后期绑定386

final修饰符388

示例:销售记录389

在toString中使用后期绑定394

陷阱:静态方法不使用后期绑定395

向下转型和向上转型396

陷阱:向下转型398

小贴士:检查向下转型是否是合法的399

clone方法浅析400

陷阱:有时clone方法的返回类型是对象401

陷阱:拷贝构造函数的限制402

8.2 抽象类405

抽象类综述405

陷阱:你无法创建抽象类的实例408

小贴士:抽象类是一种类型409

本章小结410

自测题答案410

编程项目412

第9章 异常处理415

9.1 异常处理基础知识416

try-catch机制417

用Scanner类进行异常处理418

小贴士:异常控制的循环419

抛出异常421

示例:异常处理的“玩具”示例422

异常类426

标准包中的异常类427

定义异常类428

小贴士:保留getMessage432

小贴士:异常类可以携带任何类型的消息434

多个catch块438

陷阱:先捕获更具体的异常439

9.2 在方法中抛出异常441

在方法中抛出异常概述441

在throws从句中声明异常443

捕获或声明规则的例外情况445

派生类中的throws从句447

何时使用异常447

示例:检索高分448

事件驱动编程451

9.3 更多异常处理编程技术452

陷阱:嵌套的try-catch块452

finally块452

重新抛出异常454

AssertionError类454

ArrayIndexOutOfBoundsException454

本章小结455

自测题答案455

编程项目459

第10章 文件I/O463

10.1 文件I/O简介464

流464

文本文件和二进制文件465

10.2 文本文件466

写入文本文件466

陷阱:try块是一个块470

陷阱:覆盖输出文件471

追加到文本文件末尾471

小贴士:toString可以帮助文本文件的输出472

从文本文件中读取473

使用Scanner读取文本文件473

用Scanner测试文本文件的结束475

使用BufferedReader读取文本文件480

小贴士:用BufferedReader读取数字483

用BufferedReader测试文本文件的结束484

路径名485

嵌套的构造函数调用486

System.in、System.out和System.err487

10.3 File类489

用File类编程489

10.4 二进制文件492

将简单数据写入二进制文件中493

UTF和writeUTF496

从二进制文件中读取简单数据497

检查二进制文件的结束501

陷阱:用错误的方式检查文件结束502

对象的二进制I/O503

Serializable接口505

陷阱:将类类型混合在同一个文件中506

二进制文件中的数组对象506

10.5 随机存取二进制文件508

读写同一个文件508

陷阱:RandomAccessFile不需要从空文件开始512

本章小结512

自测题答案513

编程项目516

第11章 递归521

11.1 递归void方法522

示例:垂直显示的数字523

跟踪递归调用525

递归详解527

陷阱:无限递归528

递归的栈530

陷阱:栈溢出531

递归与迭代531

11.2 返回值的递归方法532

返回值的递归方法的一般形式532

示例:另一个幂方法532

11.3 递归思维536

递归设计技巧536

二分查找537

二分查找的效率542

示例:查找一个文件543

本章小结546

自测题答案546

编程项目550

第12章 UML和模式555

12.1 UML556

UML的历史557

UML类图557

类交互557

继承图558

UML的更多知识559

1212模式560

适配器模式560

模型-视图-控制器模式560

示例:排序模式561

排序模式的限制566

排序模式的效率567

小贴士:语用学和模式567

模式形式567

本章小结568

自测题答案568

编程项目570

第13章 接口和内部类573

13.1 接口574

接口概述574

抽象类实现接口576

派生接口577

陷阱:接口语义不会被强制执行578

Comparable接口579

示例:使用Comparable接口580

接口中的预定义常量584

陷阱:不一致的接口584

Serializable接口587

Cloneable接口587

13.2 内部类的简单使用590

帮助类590

小贴士:内部类和外部类可以访问彼此的私有成员591

示例:一个银行账户类591

内部类的.class文件595

陷阱:内部类的其他用途595

13.3 内部类的更多内容595

静态内部类595

公有内部类596

小贴士:调用外部类的方法598

嵌套内部类599

内部类和继承599

匿名类600

小贴士:为什么要使用内部类602

本章小结602

自测题答案603

编程项目607

第14章 泛型和ArrayList类611

14.1 ArrayList类612

使用ArrayList类613

小贴士:在ArrayList中添加元素的总结617

ArrayList类中的方法618

“for-each”循环620

示例:高尔夫球成绩623

小贴士:使用trimToSize节约内存625

陷阱:clone方法会进行浅拷贝625

Vector类626

参数化的类和泛型627

陷阱:非参数化的ArrayList和Vector类627

14.2 泛型627

泛型基础知识627

陷阱:用-Xlint选项编译629

示例:有序对的泛型类629

陷阱:泛型构造函数名没有类型参数632

陷阱:你不能用原始类型替换类型参数633

陷阱:并不是在使用类型名称的任何地方都可以使用类型参数633

陷阱:泛型类的实例化不可以是数组基本类型633

小贴士:类定义中可以有多个类型参数634

陷阱:泛型类不能是异常类635

类型参数的限制636

小贴士:泛型接口638

泛型方法638

泛型类的继承639

本章小结641

自测题答案641

编程项目643

第15章 链式数据结构647

15.1 Java链表649

示例:简单的链表类649

使用链表652

陷阱:隐私泄露657

节点内部类657

示例:泛型链表660

陷阱:使用Node,而不是Node<T>664

链表的equals方法664

15.2 拷贝构造函数和clone方法665

简单的拷贝构造函数和clone方法666

异常666

陷阱:clone方法在Object中是受保护的668

小贴士:使用类型参数限制可以得到更好的clone方法669

示例:带有深拷贝clone方法的链表672

小贴士:克隆是一种“全有或者全无”事件674

15.3 迭代器675

定义一个迭代器类675

添加和删除节点680

15.4 链表的变形683

双向链表683

栈数据结构691

队列数据结构693

运行时间和大O符号695

链表的效率699

15.5 链式哈希表700

字符串的哈希函数701

哈希表的效率704

15.6 set704

set的基本操作705

使用链表的set的效率709

15.7 树710

树的性质710

示例:一个二叉查找树类712

二叉查找树的效率716

本章小结716

自测题答案717

编程项目722

第16章 集合、映射和迭代器725

16.1 集合726

通配符727

集合框架728

陷阱:可选操作733

小贴士:处理所有这些异常733

具体的集合类734

ArrayList<T>和Vector<T>之间的区别741

集合框架的非参数化版本742

陷阱:省略<T>742

16.2 Map映射742

具体的Map类744

16.3 迭代器748

迭代器的概念748

Iterator<T>接口748

小贴士:for-each循环作为迭代器750

列表迭代器751

陷阱:next可以返回一个引用753

小贴士:定义自己的迭代器类754

本章小结755

自测题答案755

编程项目756

第17章 Swing Ⅰ761

17.1 事件驱动编程762

事件和监听器763

17.2 按钮、事件和其他Swing基础知识764

示例:一个简单的窗口764

陷阱:忘记编写关闭窗口按钮的代码768

按钮769

动作监听器和动作事件770

陷阱:修改actionPerformed的方法头771

小贴士:结束一个Swing程序772

示例:第一个Swing GUI的更好版本772

标签775

颜色776

示例:一个带有标签和颜色的GUI777

17.3 容器和布局管理器779

边界布局管理器779

流布局管理器782

网格布局管理器783

面板786

示例:用面板创建3种颜色787

Container类790

小贴士:分别编写GUI的外观和动作792

模型-视图-控制器模式793

17.4 菜单和按钮793

示例:一个带有菜单的GUI794

菜单、菜单项和菜单栏794

嵌套菜单798

AbstractButton类798

setActionCommand方法801

监听器作为内部类802

17.5 文本框和文本域804

文本框和文本域概述804

小贴士:给文本域添加标签809

小贴士:输入和输出数字810

一个Swing计算器810

本章小结815

自测题答案815

编程项目821

第18章 Swing Ⅱ823

18.1 窗口监听器824

示例:一个窗口监听器内部类825

dispose方法828

陷阱:忘记调用setDefaultCloseOperation829

WindowAdapter类829

18.2 图标和滚动条831

图标831

滚动条836

示例:可以改变可见性的组件840

18.3 Graphics类842

图形对象的坐标系统842

paint方法和Graphics类843

绘制椭圆848

绘制弧线848

圆角矩形851

面板的paintComponent851

动作绘制和repaint852

更新GUI的更多细节856

18.4 颜色857

指定绘图颜色857

定义颜色858

陷阱:使用double定义颜色859

JColorChooser对话框窗口860

18.5 字体drawString方法862

drawString方法863

字体864

本章小结867

自测题答案867

编程项目871

第19章 Java永不落幕875

19.1 多线程876

示例:一个无响应的GUI877

Thread.sleep877

getGraphics方法880

使用线程修复一个无响应的程序881

示例:一个多线程程序881

Thread类881

Runnable接口884

竞争条件和线程同步886

19.2 流套接字网络890

套接字890

套接字和线程893

URL类894

19.3 JavaBeans895

组件模式895

JavaBeans模型895

19.4 Java和数据库连接896

关系数据库896

Java DB和JDBC897

SQL898

19.5 用JSP进行Web编程906

applet、servlet和JSP906

Oracle GlassFish企业级服务器908

HTML表单——通用网关接口909

JSP声明、表达式、scriptlet和指令911

19.6 浅谈Java 8中的函数式编程918

19.7 浅谈JavaFX924

本章小结936

自测题答案937

编程项目938

附录A 关键字941

附录B 优先级和结合性规则943

附录C ASCII字符集945

附录D printf的格式规范947

附录E 类和接口总结949

热门推荐