《Java基础教程 从问题分析到程序设计》PDF下载

  • 购买积分:21 如何计算积分?
  • 作  者:(美)D.S.Malik,(美)P.S.Nair著;张少华,郭平译
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2004
  • ISBN:7302090947
  • 页数:797 页
图书介绍:本书简要回顾了计算机和编程语言的历史。了解Java的基本概念。详细介绍对象,讲解了用于更改执行顺序流程的控制结构。讨论了面向对象的编程及用户定义的方法反类。介绍了数组,并对查找和排序算法进行了研究。介绍了GUI组件。介绍了递归,给出了Java关键字及部分练习题的答案。

目 录 1

第1章计算机和编程语言概述 1

1.1 简介 1

1.2概述计算机的发展史 2

1.3计算机系统的描述 2

1.3.1硬件 2

1.3.2软件 4

1.4计算机语言 4

1.5编程语言的发展史 5

1.6 Java程序的执行 6

1.7规划分析-编码-执行周期中出现的问题 8

1.8编程方法 12

1.8.1结构化编程 12

1.8.2面向对象编程 12

1.9快速回顾 13

1.10练习题 14

第2章Jave的基本元素 16

2.1 Java程序的基础知识 17

2.1.1特殊字符 17

2.1.3标识符 18

2.1.2关键字 18

2.2数据类型 19

2.3算术运算符和运算符的优先级 22

2.4表达式 25

2.5类型转换(强制转换) 27

2.6String类 28

2.7输入 31

2.7.1为已命名常量和变量分配内存 31

2.7.2对变量赋值 32

2.7.3保存和使用表达式的值 34

2.7.5输入(读)语句 35

2.7.4声明和初始化变量 35

2.8递增运算符和递减运算符 42

2.9字符串和运算符+ 44

2.10输出 45

2.11包、类、方法和import语句 51

2.12创建Java应用程序 52

2.13编程风格和方式 55

2.13.1 语法 56

2.13.2文档 57

2.14更多的赋值语句 59

2.15.1 问题分析和算法设计 60

2.1 5编程示例:换算长度 60

2.15.2变量 61

2.15.3已命名常量 61

2.15.4主算法 61

2.15.5综合 62

2.16编程示例:货币单位换算 64

2.16.1 问题分析和算法设计 64

2.16.4主算法 65

2.16.2变量 65

2.16.3已命名常量 65

2.17快速回顾 68

2.18练习题 70

2.19编程练习 77

第3章对象和输入/输出 79

3.1对象和引用变量 79

3.2在程序中使用预定义的类和方法 82

3.3 String类 84

3.4.1利用对话框进行输入/输出 91

3.4输入/输出 91

3.4.2令牌化字符串 96

3.4.3格式化小数数字的输出 99

3.5文件输入/输出 101

3.5.1从文件输入(读取)数据 102

3.5.2将输出存储(写入)到文件 102

3.6编程示例:售电影票和向慈善机构捐赠 104

3.6.1 问题分析和算法设计 104

3.6.2变量 105

3.6.4主算法 106

3.6.3格式化输出 106

3.6.5完整的程序清单 107

3.7编程示例:学生分数 109

3.7.1 问题分析和算法设计 109

3.7.2变量 109

3.7.3主算法 110

3.8快速回顾 112

3.9练习题 113

3.10编程练习 115

第4章控制结构1 118

4.1控制结构 118

4.2关系运算符 119

4.3关系运算符和基本数据类型 120

4.4字符串比较 122

4.5逻辑(布尔)运算符和逻辑表达式 125

4.6优先顺序 126

4.6.1快速求值法 130

4.6.2 boolean数据类型和逻辑(布尔)表达式 131

4.7选择结构:if和if...else语句 131

4.7.1单选 132

4.7.2双项选择 134

4.7.3复合(Block of)语句 137

4.7.4多项选择:嵌套的if语句 138

4.7.5将if...else语句与if语句进行比较 141

4.7.6条件运算符(?:) 141

4.8 switch语句 142

4.9编程示例:有线电视公司的收费单 148

4.9.1 问题分析和算法设计 148

4.9.2变量 149

4.9.3已命名常量 149

4.9.4公式 149

4.9.5主算法 150

4.10快速回顾 153

4.11 练习题 154

4.12编程练习 159

第5章控制结构II 162

5.1 为什么需要重复执行语句 162

5.2 while循环(重复)结构 163

5.2.1 计数器控制的while循环 166

5.2.2标记控制的while循环 168

5.2.3 标志控制的while循环 173

5.2.4 EOF控制的while循环 174

5.3编程示例:经常账户余额 175

5.3.1 问题分析和算法设计 176

5.3.2变量和对象 176

5.3.3已命名常量 178

5.3.4主算法 179

5.4编程示例:斐波纳契数列 184

5.4.1 问题分析和流程设计 185

5.4.2变量 185

5.4.3主算法 185

5.5 for循环(重复)结构 188

5.6.1 问题分析和算法设计 193

5.6编程示例:分类数字 193

5.6.2变量 194

5.6.3主算法 194

5.7 do...while循环(重复)结构 197

5.8 break语句和continue语句 200

5.9嵌套控制结构 202

5.10快速回顾 205

5.11 练习题 206

5.12编程练习 217

6.1 图形用户界面组件 220

第6章 图形用户界面和面向对象的设计 220

6.1.1 创建窗口 224

6.1.2 JFrame 224

6.1.3获得对内容窗格的访问权 228

6.1.4JLabel 229

6.1.5 JTextField 232

6.1.6JButton命令按钮 235

6.2编程示例:温度换算程序 242

6.2.1 问题分析、GUI设计和算法设计 242

6.2.2变量、对象和命名常量 243

6.2.3完整的程序清单 247

6.3面向对象的设计 249

6.4实现类和操作 255

6.5快速回顾 257

6.6练习题 258

6.7编程练习 260

第7章用户定义的方法 262

7.1预定义方法 263

7.2用户定义的方法 267

7.2.1返回值的方法 267

7.2.2return语句 270

7.2.3最终程序 273

7.3编程示例:回文数 274

7.4程序的执行流程 277

7.5编程示例:最大数 278

7.6 void方法 280

7.7 将基本数据类型的变量作为参数 286

7.8将引用变量作为参数 287

7.8.1参数和内存分配 290

7.8.2谨慎使用作为参数的String类型的引用变量 290

7.8.3类StringBuffer 293

7.9类中标识符的作用域 300

7.10方法重载概述 302

7.11 编程示例:数据比较 303

7.11.1 问题分析和算法设计 303

7.11.2变量(方法main) 304

7.11.3方法calculateAverage 305

7.11.4局部变量(方法calculateAverage) 305

7.11.5方法PrintResult 306

7.11.6主算法:方法main 307

7.11.8方法PrintResult 312

7.11.7条形图 312

7.12快速回顾 314

7.13 练习题 315

7.14编程练习 324

第8章用户定义的类和ADT 330

8.1 类 330

8.1.1构造函数 333

8.1.2统一的建模语言图 334

8.1.3变量声明和对象实例化 334

8.1.4访问类成员 336

8.1.6赋值运算符和类 337

8.1.5对类执行的内置操作 337

8.1.8方法和类 339

8.1.9 Clock类的构造函数和一般方法的定义 339

8.1.7类的作用域 339

8.2复制构造函数 352

8.3 类和toString方法 352

8.4类的静态成员 353

8.5 Finalizer方法 356

8.6创建自己的包 356

8.7 this引用 360

8.9抽象数据类型 364

8.8内部类 364

8.10编程示例:糖果机 365

8.10.1 问题分析和算法设计 366

8.10.2实例变量 366

8.10.3方法 366

8.10.4实例变量 369

8.10.5方法 369

8.10.6主程序 373

8.10.7糖果机:创建一个GUI 377

8.10.8主程序 379

8.10.9事件处理 380

8.11 快速回顾 386

8.12练习题 387

8.13编程练习 392

第9章数组 395

9.1 为什么需要数组 395

9.2数组 396

9.2.1声明数组的其他方法 397

9.2.2访问数组元素 398

9.2.3 在程序执行时指定数组的大小 400

9.2.4数组和实例变量length 401

9.2.5一维数组的处理 401

9.2.6在声明数组时对数组进行初始化 405

9.2.7数组索引出界异常 405

9.2.8特别注意:赋值运算符、关系运算符和数组 405

9.2.9将数组作为方法的参数 408

9.3平行数组 412

9.4对象数组 412

9.5 二维数组 414

9.5.1访问数组元素 416

9.5.2声明时初始化二维数组 418

9.5.3二维数组的处理 419

9.5.4将二维数组作为参数传递给方法 424

9.6 多维数组 426

9.7编程示例:文本处理 427

9.7.1 问题分析和算法设计 428

9.7.2主算法 430

9.8快速回顾 432

9.9练习题 433

9.10编程练习 436

10.1.1 查找 441

第10章数组和字符串的应用 441

10.1 列表处理 441

10.1.2排序列表:选择排序 443

10.1.3对有序列表进行顺序查找 449

10.1.4二分查找法 451

10.2类Vector 455

10.3 编程示例:选举结果 461

10.4 再次学习类String 475

10.5编程示例:pig latin字符串 479

10.5.1 问题分析和算法设计 480

10.5.2主算法 482

10.6快速回顾 485

10.7 练习题 485

10.8编程练习 487

第11章继承和组合 489

11.1 继承 489

11.1.1在子类中使用超类的方法 491

11.1.2超类和子类的构造函数 496

11.1.3类的保护成员 503

11.2 类Obiect 507

11.3 Java流类 508

11.4超类和子类的对象 509

11.5抽象方法和类 514

11.6接口 517

11.7组合 518

11.8编程示例:成绩单 523

11.8.1 第1部分:学生成绩单(控制台显示) 523

11.8.2问题分析和算法设计 525

11.8.3主程序 539

11.8.4第Ⅱ部分:学生成绩单(GUI设计) 544

11.8.5主程序 550

11.9快速回顾 555

11.10练习题 556

11.11 编程练习 562

第12章处理异常和事件 565

12.1 Java异常的层次 565

12.2 Java的Exception类 568

12.3检查和非检查异常 570

12.4处理程序中的异常 571

12.4.1 try/catch/finally块 571

12.4.2 catch块的顺序 572

12.4.3 Exception类和instanceof运算符 576

12.4.4重新抛出和抛出异常 580

12.5 printStackTrace方法 584

12.6异常处理技术 586

12.6.1 终止程序 586

12.6.2修复错误并继续执行 586

12.6.3记录错误并继续执行 587

12.7创建自己的异常类 587

12.8事件处理 590

12.9编程示例:计算器 595

12.10快速回顾 602

12.11练习题 604

12.12编程练习 607

第13章高级GUI和图形 609

13.1 applet 612

13.2类Font 615

13.3类Color 618

13.4类Graphics 623

13.5其他GUI组件 633

13.5.1 JTextArea 633

13.5.2 JCheckBox 638

13.5.3 JRadioButton 644

13.5.4 JComboBox 650

13.5.5 JList 654

13.6布局管理器 660

13.6.1 FlowLayout 660

13.6.2 BorderLayout 663

13.7菜单 665

13.8键盘和鼠标事件 667

13.8.1 盘事件 668

13.8.2鼠标事件 670

13.9编程示例:Java Kiosk 677

13.10快速回顾 685

13.11练习题 685

13.12编程练习 687

第14章递归 690

14.1递归定义 690

14.1.1直接和间接递归 692

14.1.2无限递归 692

14.2使用递归解决问题 693

14.3递归或迭代哪一个更好 702

14.4编程示例:将一个数从十进制转化为二进制 703

14.5编程示例:Sierpinski Gasket图形 705

14.6快速回顾 709

14.7练习题 710

14.8编程练习 712

附录A Java保留字 717

附录B运算符优先级 718

附录C字符集 720

附录D程序包和用户定义的类 723

附录E Java类 733

附录F部分练习题的答案 789