《Java编程原理与实践 第4版》PDF下载

  • 购买积分:22 如何计算积分?
  • 作  者:(美)Y.Daniel Liang著;马海军,景丽等译
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2005
  • ISBN:730210932X
  • 页数:801 页
图书介绍:本书内容Java基本数据类型、控制语句、方法和数组编写简单和程序,Java面向对象编程概念、抽象、封装、继承和多态性。Java事件驱动编程,创建GUI,编写applet. Java编程的高级功能。

目录 1

第1部分 编程基础 1

第1章 Java简介 1

1.1 引言 1

1.2 Java的发展史 2

1.3 Java的特征 2

1.3.1 Java的简单性 2

1.3.2 Java的面向对象性 2

1.3.3 Java的分布性 3

1.3.4 Java的解释性 3

1.3.5 Java的健壮性 4

1.3.8 Java的可移植性 5

1.3.7 Java与体系结构无关 5

1.3.6 Java的安全性 5

1.3.9 Java的性能 6

1.3.10 Java的多线程性 6

1.3.11 Java的动态性 6

1.4 World Wide Web、Java及其他 7

1.5 Java语言规范 9

1.6 Java开发工具 9

1.7 一个简单的Java程序 10

1.8 创建、编译和执行Java程序 11

1.9 应用程序剖析 12

1.9.4 语句 13

1.9.3 修饰符 13

1.9.2 保留字 13

1.9.1 注释 13

1.9.5 块 14

1.9.6 类 14

1.9.7 方法 14

1.9.8 main方法 14

1.10 在消息对话框中显示文本 15

1.11 复习题 16

1.12 编程练习 17

第2章 基本数据类型及操作 18

2.1 引言 18

2.2 编写简单的程序 18

2.4 变量 21

2.3 标识符 21

2.5 赋值语句和赋值表达式 22

2.6 常量 24

2.7 数字数据类型 25

2.7.1 数字操作符 25

2.7.2 数字字面值 26

2.7.3 数学表达式 27

2.7.4 简洁操作符 27

2.8 数字类型转换 29

2.9 字符数据类型 31

2.10 布尔数据类型 33

2.11 操作符优先级和结合性 36

2.12 操作数运算次序 37

2.13 从输入对话框获得输入 38

2.14 实例分析 40

2.15 编程风格及文档编制 45

2.15.1 合适的注释和注释风格 45

2.15.2 命名惯例 46

2.15.3 合适的缩进格式和空格 46

2.15.4 块样式 46

2.15.5 代码样式示例 47

2.16 编程错误 47

2.16.1 语法错误 47

2.16.2 运行时错误 48

2.16.3 逻辑错误 49

2.17 调试 50

2.18 复习题 50

2.19 编程练习 54

第3章 控制语句 57

3.1 引言 57

3.2 选择语句 57

3.2.1 简单if语句 58

3.2.2 if...else语句 59

3.2.3 嵌套if语句 61

3.2.4 switch语句 65

3.2.5 条件表达式 67

3.3.1 while循环 68

3.3 循环语句 68

3.3.2 do-while循环 71

3.3.3 for循环 73

3.4 选择哪种循环 78

3.5 使用关键字break和continue 79

3.6 实例分析 83

3.7 复习题 90

3.8 编程练习 96

第4章 方法 100

4.1 引言 100

4.2 创建方法 100

4.3 调用方法 102

4.4 传递参数 104

4.5 重载方法 107

4.6 局部变量的作用域 109

4.7 方法抽象 110

4.8 Math类 111

4.8.1 三角函数方法 111

4.8.2 指数方法 112

4.8.3 取整方法 112

4.8.4 min、max、abs和random方法 113

4.9 实例分析 117

4.10 递归(选学) 124

4.10.1 计算阶乘 124

4.10.2 计算Fibonacci数字 127

4.10.3 河内塔问题 130

4.10.4 递归与迭代 133

4.11 复习题 134

4.12 编程练习 139

第5章 数组 142

5.1 引言 142

5.2 声明数组变量和创建数组 142

5.3 初始化和处理数组 144

5.4 给方法传递数组 149

5.5 复制数组 157

5.6 多维数组 159

5.6.1 声明多维数组的变量并创建多维数组 159

5.6.3 不规则数组 161

5.6.2 获取多维数组的长度 161

5.7 搜索数组 168

5.7.1 线性搜索法 168

5.7.2 对分搜索法(选学) 170

5.8 排序数组 174

5.9 复习题 177

5.10 编程练习 178

第2部分 面向对象的程序设计 180

第6章 对象和类 180

6.1 引言 180

6.2 为对象定义类 181

6.3 创建对象和对象引用变量 182

6.3.1 基本类型和引用类型变量之间的区别 183

6.3.2 无用单元收集 184

6.3.3 访问对象的数据和方法 185

6.4 构造函数 188

6.5 可见性修饰符和存取器方法 191

6.6 将对象传递给方法 194

6.7 静态变量、常量和方法 196

6.8 变量的作用域 201

6.9 关键字this 202

6.10 对象数组 203

6.11 类抽象 205

6.12 实例分析 206

6.13 Java应用程序接口 214

6.14 复习题 215

6.15 编程练习 223

第7章 字符串 227

7.1 引言 227

7.2 字符串类 227

7.2.1 构造字符串 227

7.2.2 字符串长度和检索单个字符 229

7.2.3 合并字符串 230

7.2.4 提取子串 230

7.2.5 比较字符串 231

7.2.6 字符串转换 232

7.2.7 在字符串中查找字符或者子串 232

7.2.9 字符和数字转换为字符串 233

7.2.8 字符串和数组的转换 233

7.3 Character类 235

7.4 StringBuffer类 238

7.4.1 构造字符串缓冲区 239

7.4.2 修改缓冲区中的字符串 239

7.4.3 toString、capacity、length、setLength和charAt方法 240

7.5 StringTokenizer类 242

7.6 命令行变元 244

7.6.1 向Java程序中传递变元 244

7.6.2 处理命令行变元 245

7.7 复习题 247

7.8 编程练习 248

8.2 超类和子类 250

第8章 类继承和接口 250

8.1 引言 250

8.3 使用关键字super 252

8.3.1 调用超类构造函数 253

8.3.2 调用超类方法 254

8.4 重写方法 254

8.5 Object类 256

8.5.1 equals方法 257

8.5.2 toString方法 257

8.5.3 clone方法 258

8.6 protected修饰符和final修饰符 258

8.6.1 protected修饰符 258

8.6.2 使用可见性修饰符 259

8.6.3 final修饰符 260

8.7 抽象类 260

8.8 多态性、动态绑定和通用编程 266

8.9 强制转换对象类型和instanceof操作符 268

8.10 隐藏字段和静态方法(选学) 271

8.11 接口 273

8.11.1 接口与抽象类 277

8.11.2 Cloneable接口(选学) 278

8.12 内部类 284

8.13 初始化块(选学) 285

8.14 复习题 287

8.15 编程练习 294

第9章 面向对象软件开发 296

9.1 引言 296

9.2 软件开发过程 296

9.3 分析对象间关系 297

9.3.1 关联关系 297

9.3.2 聚集关系 298

9.3.3 继承关系 299

9.4 类的开发 300

9.5 类设计原则 314

9.5.1 设计类 314

9.5.2 使用修饰符public、protected、private和static 314

9.5.4 使用接口或者抽象类 315

9.5.3 使用继承和组合 315

9.6 处理基本类型值对象 316

9.6.1 数字型包装器类构造函数 316

9.6.2 数字型包装器类常量 317

9.6.3 转换方法 317

9.6.4 静态valueof方法 318

9.6.5 将字符串转换为数字的方法 318

9.7 实例分析(选学) 321

9.8 为链表设计类(选学) 329

9.9 复习题 336

9.10 编程练习 338

10.1 引言 340

第10章 开始GUI编程 340

第3部分 GUI编程 340

10.2 Java GUI API 341

10.3 框架 343

10.3.1 创建框架 344

10.3.2 使框架居中(选学) 344

10.3.3 在框架内添加组件 346

10.4 布局管理器 347

10.4.1 FlowLayout 347

10.4.2 GridLayout 350

10.4.3 BorderLayout 351

10.4.4 布局管理器的属性(选学) 353

10.5 将面板作为容器使用 354

10.4.5 validate和doLayout方法(选学) 354

10.6 在面板中绘制图形 356

10.7 Color类 358

10.8 Font和FontMetrics类 358

10.9 绘制几何图形 364

10.9.1 绘制线段 364

10.9.2 绘制矩形 365

10.9.3 绘制椭圆 367

10.9.4 绘制圆弧 369

10.9.5 绘制多边形 370

10.10 实例分析 373

10.11.1 事件和事件源 378

10.11 事件驱动编程 378

10.11.2 事件注册、侦听和处理 380

10.11.3 处理事件 381

10.12 复习题 390

10.13 编程练习 391

第11章 创建用户界面 399

11.1 引言 399

11.2 Component及JComponent类 399

11.3 按钮 400

11.4 标签 405

11.5 文本域 408

11.6 文本区 411

11.7 组合框 416

11.8 列表 420

11.9 复选框 423

11.10 单选按钮 428

11.11 边界 434

11.12 JOptionPane对话框 442

11.12.1 消息对话框 443

11.12.2 确认对话框 444

11.12.3 输入对话框 445

11.12.4 选项对话框 447

11.13 菜单 450

11.13.1 创建菜单 450

11.13.2 图像图标、键盘记忆键和键盘加速键 453

11.14 创建多重窗口 458

11.15 滚动条 463

11.16 滚动面板 466

11.17 带有标签的面板 471

11.18 复习题 475

11.19 编程练习 476

第12章 applet和高级GUI 483

12.1 引言 483

12.2 applet类 483

12.2.1 init方法 485

12.2.2 start方法 485

12.2.3 stop方法 485

12.3 Japplet类 486

12.2.4 destroy方法 486

12.4 HTML文件和〈applet〉标记 487

12.4.1 使用applet查看器实用程序查看applet 488

12.4.2 从web浏览器查看applet 489

12.5 将参数传递到applet 493

12.6 支持applet作为应用程序运行 495

12.7 鼠标事件 498

12.8 键盘事件 504

12.9 使用序列图和状态图为动态行为建模 508

12.9.1 序列图 508

12.9.2 状态图 509

12.10 实例分析(选学) 509

12.11 事件适配器(选学) 516

12.11.1 标准适配器 517

12.11.2 匿名适配器 520

12.12 包装和部署Java项目(选学) 523

12.12.1 清单文件 524

12.12.2 运行归档项目 524

12.13 CardLayout管理器(选学) 525

12.14 GridBagLayout管理器(选学) 529

12.15 不使用布局管理器(选学) 533

12.16 复习题 535

12.17 编程练习 536

第13章 异常处理 540

13.1 引言 540

第4部分 开发综合项目 540

13.2 异常和异常类型 541

13.3 理解异常处理 543

13.3.1 声明异常 543

13.3.2 抛出异常 544

13.3.3 捕捉异常 544

13.4 重新抛出异常 552

13.5 finally子句 552

13.6 使用异常时的警告 553

13.7 创建自定义的异常类(选学) 553

13.8 复习题 559

13.9 编程练习 566

第14章 国际化 568

14.1 引言 568

14.2 Locale类 568

14.3 处理日期和时间 571

14.3.1 Date类 571

14.3.2 Calendar和GregorianCalendar类 571

14.3.3 TimeZone类 571

14.3.4 DateFormat类 572

14.3.5 SimpleDateFormat类 572

14.4 格式化数字 587

14.5 资源包(选学) 593

14.6 复习题 601

14.7 编程练习 602

第15章 多线程 605

15.1 引言 605

15.2 线程概念 605

15.3 通过扩展Thread类创建线程 606

15.4 通过实现Runnable接口创建线程 609

15.5 线程控制与通信 611

15.6 线程状态 612

15.7 线程组 614

15.8 同步 614

15.8.1 关键字synchronized 617

15.9 为applet创建线程 619

15.8.2 同步的语句 619

15.10 使用Timer类控制动画 625

15.11 实例分析 626

15.12 复习题 632

15.13 编程练习 633

第16章 多媒体 637

16.1 引言 637

16.2 播放音频 637

16.3 在单独的线程上运行音频 643

16.4 显示图像 645

16.5 在Java应用程序中载入图像和音频文件 649

16.6 显示一列图像 654

16.7 使用MediaTracker 658

16.8 复习题 660

16.9 编程练习 661

第17章 输入和输出 665

17.1 引言 665

17.2 流类 666

17.2.1 InputStream和Reader 667

17.2.2 OutputStream和Writer 668

17.3 File类 668

17.4 处理外部文件 672

17.5 过滤器流 675

17.6 数据流 676

17.7 打印流 679

17.8 缓冲流 682

17.9 文件对话框 686

17.10 控制台上的文本输入和输出(选学) 691

17.11 对象流 694

17.11.1 ObjectOutputStream和ObjectInputStream类 695

17.11.2 关键字transient 700

17.12 随机存取文件 701

17.13 分析文本文件(选学) 712

17.14 数组流、管道流、字符串流、回推流和行号流(选学) 716

17.15 复习题 716

17.16 编程练习 717

18.1 引言 721

18.2 客户机/服务器计算 721

第18章 联网技术 721

18.3 服务于多个客户机和InetAddress类 728

18.4 applet客户机 733

18.5 发送和接收对象 740

18 6 URL类以及从applet浏览Web页 745

18.7 从Web服务器检索文件 747

18.8 使用JEditorPane浏览HTML文件 751

18.9 案例分析(选学) 754

18.10 复习题 770

18.11 编程练习 770

第19章 Java数据结构 773

19.1 引言 773

19.2.1 Collection接口中的方法 774

19.2 Collection接口和AbstractCollection类 774

19.2.2 hashCode方法和equals方法 775

19.3 Set接口、AbstractSet类和HashSet类 775

19.4 SortedSet接口和TreeSet类 777

19.5 Comparator接口 779

19.6 List接口、AbstractList类和AbstractSequentiaList类 781

19.7 ArrayList类和LinkedList类 782

19.8 Vector类和Stack类 784

19.9 Map接口、AbstractMap类、SortedMap接口、HashMap类和TreeMap类 790

19.10 Collection类 794

19.11 Arrays类 798

19.12 复习题 800

19.13 编程练习 801