《Java大学教程》PDF下载

  • 购买积分:21 如何计算积分?
  • 作  者:(美)Harvey M.Deitel,(美)Paul J.Deitel著;奚红宇等译
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2003
  • ISBN:7505376934
  • 页数:759 页
图书介绍:本书以初学者为起点,循序渐进地介绍了面向对象的Java编程语言,系统地讨论了Java的基本概念和编程技术。全书共分为18章,首先从基本的Java理论开始,讲解了Java的基本数据类型和控制结构,Java中的方法、数组和字符串,以及基于对象的编程和面向对象的编程。书中还讨论了很多有关Java的高级课题,包括图形、图形用户界面组件、异常处理、多线程、多媒体、文件和流、网络、数据结构以及Java工具包和位处理。全书内容丰富、构思严谨、条理清晰,写作方法别具一格,并且提供了大量实用、有趣的练习,可以使读者在较短的时间内掌握基本的和最新的编程技术。

第1章 计算机和Java applet简介 1

1.1 简介 1

1.2 什么是计算机 4

1.3 计算机的组织结构 4

1.4 操作系统的发展 5

1.5 个人计算、分布式计算和客户/服务器计算 5

1.6 机器语言、汇编语言和高级语言 6

1.7 C++的历史 7

1.8 Java的历史 8

1.9 Java的类库 8

1.10 其他高级语言 9

1.11 结构化编程 9

1.12 一个典型Java环境的基础知识 9

1.13 预览本书 11

1.14 关于Java和本书的一般注意事项 13

1.15 Java编程介绍 15

1.16 一个简单的例子:打印一行文本 15

1.17 另一个Java程序:整数相加 19

1.18 关于内存的概念 24

1.19 算术运算 25

1.20 条件判断:相等运算符和关系运算符 28

小结 32

术语 35

自测练习 37

自测练习答案 38

练习 39

第2章 控制结构(一) 43

2.1 简介 43

2.2 算法 43

2.3 伪代码 43

2.4 控制结构 44

2.5 if选择结构 46

2.6 if/else选择结构 47

2.7 while循环结构 51

2.8 构造算法:实例1(计数器控制循环) 52

2.9 自顶向下、逐步求精的构造算法:实例2(标志控制循环) 56

2.10 自顶向下、逐步求精的构造算法——实例3(嵌套的控制结构) 61

2.11 赋值运算符 65

2.12 自增和自减运算符 66

2.13 基本数据类型 68

2.14 常见的转义序列 69

小结 70

术语 71

自测练习 72

自测练习答案 73

练习 74

第3章 控制结构(二) 80

3.1 简介 80

3.2 计数器控制循环的实质 80

3.3 for循环结构 82

3.4 使用for结构的例子 85

3.5 switch多重选择结构 88

3.6 do/while循环结构 91

3.7 break和continue语句 93

3.8 带标记的break和continue语句 95

3.9 逻辑运算符 97

3.10 结构化编程小结 101

小结 105

术语 105

自测练习 106

自测练习答案 107

练习 108

第4章 方法 112

4.1 简介 112

4.2 Java中的程序模块 112

4.3 Math类的方法 113

4.4 方法 114

4.5 方法定义 115

4.6 参数类型提升 119

4.7 Java API软件包 120

4.8 生成随机数 121

4.9 案例:一个机会游戏 124

4.10 自动变量 128

4.11 作用域规则 129

4.12 递归 131

4.13 使用递归的例子:斐波纳契数列 133

4.14 递归与迭代 136

4.15 方法重载 138

4.16 Applet类的方法 140

小结 141

术语 143

自测练习 144

自测练习答案 146

练习 149

第5章 数组 157

5.1 简介 157

5.2 数组 157

5.3 声明数组和分配数组 159

5.4 使用数组的实例 160

5.4.1 分配数组并初始化数组元素 160

5.4.2 使用初始化值列表来初始化数组元素 161

5.4.3 计算存储在数组元素中的值 162

5.4.4 对数组元素求和 164

5.4.5 使用数组分析调查结果 165

5.5 引用和引用参数 169

5.6 向方法传递数组 170

5.7 数组排序 172

5.8 数组查找:线性查找和二分查找 174

5.8.1 线性查找 174

5.8.2 二分查找 175

5.9 多维数组 178

小结 184

术语 185

自测练习 185

自测练习答案 186

练习 187

递归练习 195

特殊小节:建立自己的计算机 198

第6章 基于对象的编程 204

6.1 简介 204

6.2 通过类实现一个抽象数据类型Time 205

6.3 类作用域 208

6.4 控制对成员的访问 209

6.5 实用方法 210

6.6 初始化类对象:构造函数 213

6.7 使用重载的构造函数 214

6.8 使用set和get方法 217

6.9 软件可重用性 221

6.10 final实例变量 222

6.11 复合:作为其他类的实例变量的对象 223

6.12 软件包访问 226

6.13 使用this引用 227

6.14 终止函数 231

6.15 静态类成员 231

6.16 数据抽象和信息隐藏 234

6.16.1 案例:队列抽象数据类型 236

小结 236

术语 237

自测练习 238

自测练习答案 238

练习 238

第7章 面向对象的编程 242

7.1 简介 242

7.2 超类和子类 243

7.3 protected成员 245

7.4 超类对象和子类对象之间的关系 245

7.5 在子类中使用构造函数和终止函数 249

7.6 从子类对象到超类对象的隐式转换 252

7.7 使用继承的软件工程 253

7.8 复合与继承 254

7.9 案例分析:点、圆、圆柱体 254

7.10 多态简介 259

7.11 类型域和switch语句 259

7.12 动态方法绑定 259

7.13 final方法和类 260

7.14 抽象超类和具体类 260

7.15 多态的例子 261

7.16 案例分析:一个使用多态的工资支付系统 262

7.17 新类和动态绑定 268

7.18 案例分析:继承接口与实现 269

7.19 基本类型的类型包装类 273

小结 274

术语 275

自测练习 276

自测练习答案 277

练习 277

第8章 字符串和字符 279

8.1 简介 279

8.2 字符和字符串的基础 279

8.3 String构造函数 280

8.4 String方法:length、charAt、getChars、getBytes 282

8.5 比较String 284

8.6 String方法hashCode 289

8.7 在String中定位字符和子字符串 290

8.8 从String中提取子字符串 292

8.9 连接String 293

8.10 其他的String方法 294

8.11 使用String方法valueOf 296

8.12 String方法intern 297

8.13 StringBuffer类 299

8.14 StringBuffer构造函数 300

8.15 StringBuffer的length、capacity、setLength和ensureCapacity方法 301

8.16 StringBuffer的charAt、setCharAt和getChars方法 302

8.17 StringBuffer的append方法 304

8.18 StringBuffer的insert方法 305

8.19 Character类的例子 307

8.20 StringTokenizer类 313

8.21 洗牌和发牌的模拟 315

小结 318

术语 320

自测练习 322

自测练习答案 322

练习 322

特殊小节:高级字符串操作练习 324

挑战性的字符串操作项目 327

第9章 图形 328

9.1 简介 328

9.2 图形环境和图形对象 329

9.3 绘制字符串、字符和字节 330

9.4 颜色控制 331

9.5 字体控制 336

9.6 绘制线条 343

9.7 绘制矩形 344

9.8 绘制圆角矩形 345

9.9 绘制三维矩形 347

9.10 绘制椭圆 349

9.11 绘制圆弧 350

9.12 绘制多边形 352

9.13 屏幕操作 355

9.14 绘图模式 356

小结 358

术语 360

自测练习 361

自测练习答案 362

练习 362

第10章 图形用户界面组件(一) 365

10.1 简介 365

10.2 标签 366

10.3 揿压式按钮 369

10.4 文本字段 372

10.5 选择按钮 376

10.6 复选框按钮和单选按钮 378

10.7 列表 382

10.8 面板 386

10.9 鼠标事件 387

10.10 键盘事件 394

10.11 FlowLayout布局管理器 399

10.12 BorderLayout布局管理器 404

10.13 GridLayout布局管理器 407

小结 409

术语 411

自测练习 413

自测练习答案 414

练习 414

第11章 图形用户界面组件(二) 419

11.1 简介 419

11.2 文本区域 419

11.3 画板 422

11.4 滚动条 426

11.5 定制组件 430

11.6 框架 432

11.7 菜单 441

11.8 对话框 448

11.9 高级布局管理器 455

11.10 CardLayout布局管理器 455

11.11 GridBagLayout布局管理器 458

11.12 不使用布局管理器 465

11.13 程序员自定义的布局管理器 466

小结 470

术语 471

自测练习 473

自测练习答案 474

练习 474

第12章 异常处理 477

12.1 简介 477

12.2 何时使用异常处理 479

12.3 其他的错误处理技术 479

12.4 Java异常处理的基础 480

12.5 一个异常处理的简单实例:除数为零 480

12.6 try程序块 483

12.7 抛出异常 484

12.8 捕获异常 484

12.9 重抛出异常 486

12.10 throws子句 486

12.11 构造函数、终止函数和异常处理 490

12.12 异常和继承 491

12.13 finally程序块 491

12.14 使用printStackTrace和getMessage方法 495

小结 497

术语 498

自测练习 499

自测练习答案 499

练习 500

第13章 多线程 502

13.1 简介 502

13.2 Thread类:线程方法介绍 504

13.3 线程状态:一个线程的生命周期 505

13.4 线程优先级与线程调度 506

13.5 线程同步 509

13.6 未使用线程同步的生产者/消费者关系 510

13.7 使用线程同步的生产者/消费者关系 513

13.8 生产者/消费者的关系:循环缓冲区 516

13.9 精灵线程 521

13.10 Runnable接口 521

13.11 线程组 524

小结 526

术语 528

自测练习 529

自测练习答案 530

练习 530

第14章 多媒体:图像、动画和声音 534

14.1 简介 534

14.2 加载、显示和按比例调整图像 535

14.3 动画介绍:图像的循环 537

14.4 图形双缓存 539

14.5 利用MediaTracker来监视图像的加载 542

14.6 利用一个独立线程来运行动画 545

14.7 加载和播放音频剪辑 548

14.8 通过HTML的param标记来定制applet 550

14.9 图像映射 554

小结 557

术语 559

自测练习 559

自测练习答案 560

练习 560

第15章 文件和流 566

15.1 简介 566

15.2 数据组织 566

15.3 文件和流 568

15.4 创建顺序访问文件 571

15.5 从顺序访问文件中读取数据 576

15.6 更新顺序访问文件 584

15.7 随机访问文件 584

15.8 创建随机访问文件 585

15.9 向随机访问文件中随机地写入数据 588

15.10 从随机访问文件中顺序地读取数据 592

15.11 案例:交易处理程序 595

15.12 File类 605

15.13 对象的输入/输出 608

小结 609

术语 611

自测练习 613

自测练习答案 614

练习 615

第16章 网络 618

16.1 简介 618

16.2 利用URL 619

16.3 采用URL的流连接从服务器上读取文件 621

16.4 建立一个简单的服务器(采用流套接字) 623

16.5 建立一个简单的客户(采用流套接字) 624

16.6 通过流套接字进行的客户/服务器交互 625

16.7 采用数据报方式进行无连接的客户/服务器交互 629

16.8 采用多线程服务器实现的客户/服务器间的三连棋游戏 635

16.9 网络和安全性 644

小结 645

术语 646

自测练习 647

自测练习答案 648

练习 649

第17章 数据结构 651

17.1 简介 651

17.2 自引用的类 651

17.3 动态内存请求 652

17.4 链表 653

17.5 堆栈 661

17.6 队列 664

17.7 树 666

小结 671

术语 671

自测练习 672

自测练习答案 673

练习 674

特殊小节:建立自己的编译器 679

第18章 Java工具包和位处理 691

18.1 简介 691

18.2 Vector类和Enumeration接口 691

18.3 Stack类 696

18.4 Dictionary类 699

18.5 Hashtable类 699

18.6 Date类 704

18.7 Observable类和Observer接口 705

18.8 Properties类 708

18.9 Random类 711

18.10 位处理和位运算符 712

18.11 BitSet类 720

小结 723

术语 726

自测练习 728

自测练习答案 729

练习 729

附录A 运算符优先级表 732

附录B ASCII字符集 734

附录C 数值系统 735

附录D 面向对象的电梯模拟程序 745

参考文献 756