《Java 2入门经典 JDK 5 JDK 5 Edition》PDF下载

  • 购买积分:27 如何计算积分?
  • 作  者:(美)Ivor Horton著;潘晓雷,于浚泊,王丹等译
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2006
  • ISBN:7111180895
  • 页数:1064 页
图书介绍:本书综合介绍了使用J2SE(Java2StandardEdition)5.0或更高版本开发动态程序的过程,阐述了Java语言的各个方面,包括Java语言结构和工作原理的基本知识,用大量的实例讲述如何开发功能齐全的Java应用程序,以期帮助读者掌握Java语言的最新特性和Java类库中主要的功能包,积累Java应用环境的使用经验,并在核心技术领域打下坚实的基础。.本书系统全面、浅显易懂,非常适合没有任何编程经验的初学者阅读,也可作为软件开发人员和高校师生的必备参考书。通过阅读本书,你可以借助J2SE5.0这个最新、最出色的Java平台来学习Java编程。J2SE5.0拥有强大的新特性和新功能,使Java性能产生了巨大的飞跃。新的Java平台所带来的丰富内涵使本书相比于过去的版本似乎稍厚了些,但是并不说明新的内容更复杂。当然,要想成为熟练的Java程序员,所需的基础知识会略有增多,但都不困难。只要有进取心和一点点对编程的领悟力,你就可以得到足够多的知识,成为一个高效的Java程序员。..本书提供了规范化的学习方法,可帮助你事半功倍地完成学习。你不仅会学到一项相当流行的技术,而且做完一件值得

第1章 Java概述 1

1.1 什么是Java 1

目录 1

译者序 1

序 1

前言 1

1.3.1 Java程序 2

1.3 学习Java 2

1.2 Java语言的特性 2

1.4 Java环境 3

1.3.2 学习Java要走的路 3

1.5 基于Java语言的面向对象程序设计 9

1.5.1 对象是什么 10

1.5.2 如何定义对象的类 11

1.5.3 对象的操作 13

1.5.5 封装 15

1.5.4 Java程序语句 15

1.6 Java程序结构 16

1.5.8 使用对象的优点 16

1.5.6 类和数据类型 16

1.5.7 类和子类 16

1.6.1 Java的类库 17

1.6.2 Java应用程序 18

1.8 本章小结 20

1.7 Java和Unicode码 20

1.9 参考资源 21

2.1.1 变量的命名 22

2.1 数据和变量 22

第2章 程序、数据、变量和计算 22

2.1.3 变量和类型 23

2.1.2 变量名和Unicode码 23

2.2 整型数据类型 24

2.2.1 整型字面值 25

2.2.2 整型变量的声明 26

2.3 浮点数据类型 27

2.4 固定变量的值 28

2.3.2 浮点型变量的声明 28

2.3.1 浮点字面值 28

2.5.1 整数运算 29

2.5 算术运算 29

2.5.2 整数除法和余数 34

2.5.3 自增和自减运算符 35

2.5.4 短整型数计算 36

2.5.6 浮点运算 37

2.5.5 整数算术运算中的错误 37

2.6.2 赋值语句中的自动类型转换 39

2.6.1 显式类型强制转换 39

2.6 混合数据类型的算术运算表达式 39

2.8 数学函数和常量 40

2.7 op=运算符 40

2.9.1 字符转义序列 44

2.9 字符的存储 44

2.9.2 字符的算术运算 45

2.10 按位运算 47

2.10.1 使用AND和OR运算符 48

2.10.2 使用异或运算符 51

2.10.3 移位运算 52

2.10.4 按位运算的方法 56

2.11 有固定序列整型值的变量(枚举) 58

2.12 布尔型变量 59

2.13 运算符的优先级 60

2.14 程序注释 61

2.15 本章小结 62

2.16 练习题 63

3.1.1 比较 64

3.1 决策 64

第3章 循环与逻辑 64

3.1.2 if语句 65

3.1.3 嵌套的if语句 68

3.1.4 比较枚举值 71

3.2 逻辑运算符 72

3.3 条件运算符 76

3.4 switch语句 77

3.5 变量作用域 83

3.6 循环 85

3.6.1 循环的种类 86

3.6.2 嵌套循环 93

3.6.3 continue语句 94

3.6.4 在循环中使用break语句 96

3.7 断言 101

3.9 练习题 103

3.8 本章小结 103

4.1.1 数组变量 104

4.1 数组 104

第4章 数组和字符串 104

4.1.2 数组定义 105

4.1.5 数组变量的重用 106

4.1.4 访问数组元素 106

4.1.3 数组的长度 106

4.1.6 数组初始化 107

4.1.7 使用数组 109

4.1.8 嵌套数组 112

4.2.1 字符串常量 117

4.2 字符串 117

4.1.9 字符数组 117

4.2.2 创建String对象 118

4.2.3 字符串数组 120

4.3.1 字符串的连接 121

4.3 字符串的运算 121

4.3.2 字符串的比较 124

4.3.3 字符串的排序 129

4.3.4 访问字符串中的字符 131

4.3.5 搜索字符串中的字符 133

4.3.6 子串搜索 134

4.3.7 提取子串 137

4.3.9 由String对象创建字符数组 141

4.3.8 String对象的修改版本 141

4.3.11 以字节数组的形式获取字符串中的字符 142

4.3.10 对字符串使用collection-based for循环 142

4.4 可变字符串 143

4.3.12 由字符数组创建String对象 143

4.4.2 StringBuffer对象的容量 144

4.4.1 创建StringBuffer对象 144

4.4.4 向StringBuffer对象增加其他内容 146

4.4.3 为StringBuffer对象改变字符串的长度 146

4.4.7 插入子串 149

4.4.6 替换缓冲区中的子串 149

4.4.5 查找子串的位置 149

4.4.9 对可变字符串的其他操作 150

4.4.8 从可变字符串中提取字符 150

4.4.10 由StringBuffer对象创建String对象 151

4.6 练习题 153

4.5 本章小结 153

5.1 什么是类 155

第5章 类的定义 155

5.1.1 类定义中的变量 156

5.1.2 类定义中的方法 157

5.2 定义类 158

5.1.3 变量和方法的访问 158

5.3 方法的定义 159

5.3.2 形式参数表 160

5.3.1 由方法返回 160

5.3.3 类方法的定义 162

5.3.5 this变量 163

5.3.4 在方法中访问类的数据成员 163

5.3.6 初始化数据成员 164

5.4 构造函数 167

5.4.1 默认构造函数 168

5.4.2 生成类的对象 169

5.5 类的定义和使用 171

5.6.1 多个构造函数 173

5.6 方法重载 173

5.6.2 使用构造函数复制对象 176

5.7 对象的使用 177

5.8 递归 182

5.9.1 类的打包 184

5.9 理解包 184

5.9.2 将包中的类添加到程序中 187

5.9.4 导入静态类成员 188

5.9.3 程序中的包和名称 188

5.9.5 标准包 189

5.10 控制对类成员的访问 191

5.10.1 使用访问属性 192

5.10.2 指定访问属性 193

5.10.3 选择访问属性 194

5.11 嵌套类 199

5.11.1 静态嵌套类 200

5.11.2 使用非静态嵌套类 204

5.11.3 在顶层类之外使用嵌套类 205

5.12 finalize()方法 206

5.11.4 局部嵌套类 206

5.13 本地方法 207

5.15 练习题 208

5.14 本章小结 208

6.1 使用现有的类 209

第6章 类的扩展与继承 209

6.2 类的继承 210

6.2.1 继承数据成员 211

6.2.2 继承方法 212

6.2.3 覆盖基类的方法 215

6.4 多态 216

6.3 选择基类的访问属性 216

6.5 多级继承 221

6.6 抽象类 222

6.7 通用超类 223

6.7.2 确定对象的类型 224

6.7.1 toString()方法 224

6.7.3 对象的复制 225

6.8 接收可变实参的方法 229

6.9 对象的类型强制转换 231

6.9.1 何时强制转换对象的类型 233

6.9.2 对象的识别 234

6.10 关于枚举 235

6.11 类的设计 238

6.12 使用final修饰符 247

6.13 接口 248

6.13.1 封装程序中的常量 249

6.13.2 声明方法的接口 252

6.13.4 接口的应用 254

6.13.3 接口的扩展 254

6.13.5 接口类型的方法形参 261

6.13.6 接口定义中的嵌套类 261

6.15 本章小结 262

6.14 匿名类 262

6.13.7 接口与现实世界 262

6.16 练习题 263

7.1 异常的概念 264

第7章 异常 264

7.2.1 Error异常 265

7.2 异常的类型 265

7.2.2 RuntimeException异常 266

7.3.1 指定方法可以抛出的异常 267

7.3 异常的处理 267

7.2.3 Exception类的其他子类 267

7.3.4 catch代码块 268

7.3.3 try代码块 268

7.3.2 异常的处理 268

7.3.6 方法的组织 273

7.3.5 finally代码块 273

7.3.7 执行的顺序 274

7.3.9 再次抛出异常 279

7.3.8 嵌套的try代码块 279

7.4.1 Throwable类 280

7.4 异常对象 280

7.5.1 定义异常类 282

7.5 定义自己的异常 282

7.4.2 标准异常 282

7.5.3 异常处理策略 283

7.5.2 抛出自己的异常 283

7.7 练习题 287

7.6 本章小结 287

8.1 流和新的I/O功能 288

第8章 理解流 288

8.2.1 输入流和输出流 289

8.2 流的定义 289

8.2.2 二进制流和字符流 290

8.3.1 基本的输入流操作 291

8.3 输入/输出类 291

8.3.3 Readers流和Writers流 294

8.3.2 基本的输出流操作 294

8.4 标准流 297

8.4.1 从键盘获取数据 298

8.4.3 printf()方法 304

8.4.2 向命令行写 304

8.4.4 将数据格式化输入到字符串 308

8.6 练习题 309

8.5 本章小结 309

9.1.1 创建File对象 310

9.1 运用File对象 310

第9章 访问文件和目录 310

9.1.2 访问系统属性 313

9.1.3 测试和检查File对象 315

9.1.4 文件列表的过滤 320

9.1.5 创建、修改文件和目录 322

9.2 创建文件输出流 324

9.2.1 确保文件存在 325

9.2.2 避免覆盖文件 326

9.3 本章小结 328

9.2.3 FileDescriptor对象 328

9.4 练习题 329

10.1 文件输入/输出基础 330

第10章 写文件 330

10.2 文件输入/输出 331

10.3.1 通道操作 332

10.3 通道 332

10.4 缓冲区 334

10.3.2 文件通道 334

10.4.1 缓冲区容量 335

10.4.2 缓冲区位置和边界 336

10.4.3 设置位置和边界 337

10.4.4 创建缓冲区 338

10.4.6 缓冲区数据传送 343

10.4.5 标记缓冲区 343

10.4.7 将数据传送到缓冲区 344

10.4.9 准备好向文件输出的缓冲区 345

10.4.8 使用视图缓冲区 345

10.5 写入文件 347

10.5.1 文件位置 348

10.5.2 将变长字符串写入文件 354

10.5.4 将数值数据写入文件 359

10.5.3 直接缓冲区和间接缓冲区 359

10.5.5 将混合数据写入文件 363

10.5.6 集中写操作 368

10.6 本章小结 371

10.7 练习题 372

11.1 文件读操作 373

第11章 读文件 373

11.2 文件通道读操作 375

11.3 读取文本文件 376

11.4 读取二进制数据 379

11.5 读取混合型数据 383

11.6 文件的复制 388

11.7 随机存取文件 392

11.8 使用一个文件通道进行读写 396

11.9 内存映像文件 398

11.9.1 锁定文件 401

11.9.3 实际文件锁定的注意事项 402

11.9.2 文件的部分锁定 402

11.10 本章小结 405

11.11 练习题 406

12.1 在文件中存储对象 407

第12章 对象的序列化 407

12.1.1 将对象写入文件 408

12.1.2 将基本数据类型写入对象流 409

12.1.3 实现Serializable接口 410

12.1.4 从文件读取对象 413

12.1.5 使用对象序列化 417

12.1.7 序列化的问题和复杂情况 420

12.1.6 自己实现类的序列化 420

12.2 本章小结 423

12.3 练习题 424

13.1 什么是泛型 425

第13章 泛型类 425

13.2 泛型类的定义 426

13.2.1 泛型的实现 427

13.2.2 泛型的实例化 428

13.2.3 泛型实例的运行时类型 433

13.2.5 多重类型参数 434

13.2.4 泛型实例之间的关系 434

13.2.7 泛型中的静态成员域 435

13.2.6 类型参数的作用域 435

13.2.8 类型参数限制 436

13.3.1 利用collection-based for循环 439

13.3 泛型和泛型接口 439

13.3.2 实现一个迭代器 441

13.3.3 参数化的二叉树 443

13.4 原生类型变量 451

13.5 用通配符作为类型实参 452

13.5.1 对通配符的约束 454

13.5.2 进一步研究Class类 457

13.6 数组和参数化类型 458

13.7 参数化方法 460

13.8 参数化类型和继承 466

13.10 练习题 467

13.9 本章小结 467

14.1 理解集合框架 468

第14章 集合框架 468

14.2.2 序列 469

14.2.1 集 469

14.2 对象的集合 469

14.2.3 映射 470

14.3 迭代器 471

14.4 集合类 474

14.5.1 创建向量 477

14.5 使用向量 477

14.5.2 把对象存入向量中 480

14.5.3 从向量中获取对象 481

14.5.4 从数组中删除对象 483

14.5.5 搜索向量 484

14.5.6 应用向量 485

14.5.7 为集合排序 488

14.5.8 栈式存储 490

14.6 使用链表 494

14.7.1 散列处理 496

14.7 使用映射 496

14.7.2 用自己的类创建的对象作键 497

14.7.3 创建HashMap容器 498

14.7.4 存储、获取以及删除对象 499

14.7.5 处理映射中所有的元素 500

14.8 本章小结 509

14.9 练习题 510

15.1.1 填充数组 511

15.1 数组的工具方法 511

第15章 实用类的集合 511

15.1.2 比较数组 512

15.1.3 对数组排序 513

15.1.4 搜索数组 516

15.2 Observable对象和Observer对象 519

15.2.1 定义可观察对象的类 520

15.2.2 Observable类的方法 520

15.3 产生随机数 523

15.4 日期和时间 525

15.4.1 Date类 526

15.4.2 解释Date对象 526

15.4.3 Gregorian日历 530

15.5 正则表达式 535

15.6 使用扫描器 552

15.6.1 创建扫描器对象 552

15.6.2 获取从扫描器的输入 553

15.6.3 测试标记 555

15.6.4 为标记定义自己的模式 556

15.7 本章小结 558

15.8 练习题 558

第16章 线程 559

16.1 理解线程 559

16.1.1 创建线程 561

16.1.2 停止线程 565

16.1.4 线程调度 567

16.1.5 实现Runnable接口 567

16.1.3 连接线程 567

16.2 管理线程 570

16.2.1 同步处理 570

16.2.2 死锁 585

16.2.3 线程间的通信 586

16.3 线程的优先级 590

16.4 本章小结 593

16.5 练习题 593

第17章 创建窗口 594

17.1 Java中的图形用户界面 594

17.2 创建窗口 596

17.3 组件和容器 599

17.3.1 窗口和框架组件 601

17.3.2 窗口窗格 601

17.4 组件基础 602

17.4.1 组件属性 602

17.4.2 组件的大小和位置 603

17.4.3 点和矩形 606

17.4.4 组件的可视特性 608

17.4.5 Swing组件 615

17.5 使用容器 617

17.6 容器布局管理器 619

17.6.1 流布局管理器 620

17.6.2 使用边界布局管理器 624

17.6.3 使用卡片布局管理器 626

17.6.4 使用网格布局管理器 627

17.6.5 使用盒式布局管理器 629

17.6.6 使用GridBagLayout管理器 634

17.6.7 使用SpringLayout管理器 640

17.7 添加菜单到窗口中 646

17.7.1 创建JMenu和JMenuItem 646

17.7.2 创建菜单 647

17.7.3 添加菜单项到下拉菜单中 649

17.7.4 为菜单项添加快捷键 652

17.8 更多关于applet小程序的内容 654

17.9 本章小结 656

17.10 练习题 657

第18章 事件处理 658

18.1 基于窗口的Java程序 658

18.2 事件处理过程 659

18.3 在图形用户界面代码中避免死锁 661

18.4 事件类 662

18.4.1 低级事件类 662

18.4.2 低级事件监听器 667

18.4.3 语义事件 672

18.4.4 语义事件监听器 673

18.5 applet小程序中的语义事件处理 674

18.5.1 其他处理事件方法 682

18.5.2 处理低级事件和语义事件 683

18.6 应用程序中的语义事件监听器 684

18.7 使用Action 689

18.7.1 Action接口 690

18.7.2 将行为应用于菜单项 691

18.8 添加工具栏 696

18.8.1 添加按钮到工具栏中 696

18.8.2 添加工具提示 702

18.8.3 禁用动作 704

18.9 本章小结 705

18.10 练习题 705

第19章 在窗口中绘画 706

19.1 使用模型/视图体系结构 706

19.2 组件中的坐标系 709

19.3 在组件上绘图 710

19.3.1 图形环境 711

19.3.2 绘制过程 713

19.4 几何图形 714

19.4.1 定义点的类 714

19.3.3 渲染操作 714

19.4.2 直线段和矩形 716

19.4.3 圆弧和椭圆 720

19.4.4 曲线 723

19.4.5 复杂路径 729

19.5 填充几何图形 734

19.6 管理几何图形 738

19.6.1 在文档中存储图形 739

19.6.2 绘制图形 740

19.7 使用鼠标绘制 741

19.7.1 处理鼠标事件 742

19.7.2 处理鼠标按键按下事件 743

19.7.3 处理鼠标拖拽事件 745

19.7.4 处理鼠标按键释放事件 747

19.8 定义自己的图形类 748

19.8.1 定义线段 748

19.7.5 使用MouseInfo类方法确定鼠标的位置 748

19.8.2 定义矩形 750

19.8.3 定义圆形 752

19.8.4 绘制曲线 754

19.9 本章小结 756

19.10 练习题 757

第20章 扩展图形用户界面 758

20.1 创建状态栏 758

20.2 使用对话框 762

20.2.1 模式与非模式对话框 762

20.2.2 简单的模式对话框 763

20.2.3 即时对话框 767

20.2.4 输入对话框 768

20.2.5 字体选择对话框 777

20.3 弹出式菜单 790

20.3.1 显示弹出式菜单 791

20.3.2 实现上下文菜单 793

20.4 转换用户坐标系统 800

20.4.1 仿射转换类 802

20.4.2 修改图形环境的转换 803

20.4.3 创建仿射转换对象 804

20.5 选择自定义颜色 816

20.6 本章小结 818

20.7 练习题 818

第21章 文档的整理和打印 819

21.1 序列化处理草图 819

21.2 实现可序列化接口 822

21.3 支持文件菜单 827

21.3.1 使用文件选择器 827

21.3.2 文件保存操作 828

21.3.3 文件另存为操作 834

21.3.4 文件打开操作 835

21.3.5 开始新建草图 837

21.3.6 防止关闭时数据丢失 838

21.4 在Java中打印 839

21.4.1 创建和使用PrinterJob对象 841

21.4.2 打印页面 843

21.4.3 打印完整的草图 847

21.4.4 横向打印 851

21.4.5 改进打印应用程序 853

21.4.6 实现页面设置 854

21.4.7 使用Java的打印对话框 857

21.4.8 多页文档打印 859

21.4.9 使用Book打印 866

21.4.10 打印Swing组件 868

21.5 本章小结 871

21.6 练习题 871

第22章 Java与XML 872

22.1 XML 872

22.2 XML文档结构 873

22.2.1 有效的XML文档 874

22.2.2 XML文档中的元素 875

22.2.3 元素属性 878

22.3 XML中的数据结构 880

22.4 文档定义类型 881

22.4.1 声明DTD 881

22.4.2 定义DTD 882

22.4.3 Sketcher程序的DTD 888

22.5 构造良好文档的规则 891

22.6 XML名字空间 891

22.6.1 名字空间声明 892

22.6.2 XML名字空间和DTD 893

22.7 XML模式 893

22.7.1 定义模式 894

22.7.2 定义元素 895

22.7.3 定义复杂元素的属性 896

22.7.4 指定一组备选元素 898

22.7.5 用于Sketcher程序的模式 898

22.7.6 使用模式的文档 903

22.8 使用XML文档编程 904

22.8.1 SAX处理 904

22.8.2 DOM处理 905

22.9 访问解析器 906

22.10 使用SAX 906

22.10.1 使用不同的解析器 909

22.10.2 解析器的特征及特性 909

22.10.3 使用SAX解析文档 911

22.10.4 实现SAX处理器 912

22.10.5 处理其他解析事件 920

22.10.6 解析由模式实例化的文档 921

22.11 本章小结 925

22.12 练习题 925

第23章 创建和修改XML文档 926

23.1 文档对象模型 926

23.1.1 设置DOM解析器特征 927

23.1.2 解析文档 928

23.1.3 遍历文档对象树 929

23.1.4 创建XML文档 939

23.1.5 将草图存储为XML文档 943

23.1.6 阅读用XML表示的草图 956

23.2 本章小结 964

23.3 练习题 965

第24章 与数据库通信 966

24.1 JDBC的概念和术语 966

24.1.1 表 968

24.1.2 数据库编目 969

24.2 SQL简介 970

24.2.1 定义一个相交表 973

24.2.2 SQL语句 974

24.2.3 INSERT语句 974

24.2.4 SELECT语句 975

24.2.6 DELETE语句 977

24.3 JDBC包 977

24.2.5 UPDATE语句 977

24.3.1 JDBC与ODBC的关系 978

24.3.2 JDBC基础 978

24.3.3 建立一个数据库 979

24.3.4 DriverManager 980

24.3.5 创建一个数据源连接 981

24.3.6 关于驱动程序的更多内容 984

24.3.7 Statement对象 986

24.3.8 ResultSet对象 987

24.3.9 获得结果集的元数据 990

24.4 基本的JDBC程序 991

24.5 使用PreparedStatement对象 995

24.6 创建Interactive SQL工具 997

24.6.1 使用表 998

24.6.2 应用程序GUI 1001

24.6.3 处理事件 1004

24.6.4 处理命令行实参 1005

24.7 本章小结 1006

24.8 练习题 1006

第25章 JDBC操作 1007

25.1 数据类型与JDBC 1007

25.2 把关系数据映射到Java对象 1008

25.3 Statement和PreparedStatement接口 1015

25.3.1 Statement接口 1015

25.3.2 PreparedStatement接口 1020

25.4 结果集 1024

25.4.1 获取指定数据类型的列数据 1024

25.4.2 处理空值 1024

25.4.3 处理特殊数据类型 1026

25.4.4 流的处理 1028

25.5 调用存储过程 1030

25.6 错误处理 1031

25.6.1 SQLException 1031

25.6.2 SQLException链锁 1034

25.6.3 SQL警告 1036

25.7 浏览数据库 1039

25.7.1 显示数据库中的数据 1042

25.7.2 使用JTree组件 1043

25.7.3 获取数据库元数据 1046

25.7.4 使用树监听器 1053

25.8 本章小结 1058

25.9 练习题 1058

附录A Java保留关键字 1059

附录B 计算机运算基础知识 1060