《编程导论Java》PDF下载

  • 购买积分:13 如何计算积分?
  • 作  者:严千钧编
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2013
  • ISBN:9787302312482
  • 页数:376 页
图书介绍:本书采用对象优先的教学策略,将柏拉图法则、Liskov原则和Parnas原则作为面向对象编程范式的基石,关注软件开发的两大核心议题:程序的组织(面向对象技术)和问题求解(算法)。

第0章 引言 1

0.1编程与计算机科学 1

0.1.1计算简史 1

0.1.2二进制补码 6

0.1.3计算机硬件 8

0.1.4计算机科学 9

0.1.5问题求解 10

0.2编程语言 13

0.2.1指令和汇编语言 13

0.2.2操作符和操作数 15

0.2.3高级语言的编译与解释 16

0.3 Java编程语言 18

0.3.1 Java简介 19

0.3.2 JDK 20

0.3.3 B1ueJ与Java开发环境 21

第1章 面向对象编程范式 23

1.1计算就是模拟 23

1.1.1问题域和解域 23

1.1.2颠倒的世界(柏拉图法则) 25

1.1.3面向对象 27

1.2类 29

1.2.1类体结构 29

1.2.2空白与注释 32

1.2.3 5种Java元素 34

1.2.4语法、语意和约定 37

1.2.5案例:分数 38

1.3静态成员 39

1.3.1静态变量和命名常量 39

1.3.2静态变量的初始化 42

1.3.3静态方法 43

1.3.4 Math和tips.Print 44

1.4编程范式 46

1.4.1范式 47

1.4.2命令式编程范式 49

1.4.3函数式编程范式 50

第2章 类层次 53

2.1子类型 53

2.1.1里氏替换原则 53

2.1.2啊,我看到了多态 56

2.1.3改写 59

2.1.4访问修饰符与继承 61

2.1.5 final方法和final类 64

2.2数据类型 65

2.2.1类型系统 65

2.2.2 Java数据类型 68

2.2.3变量的声明模型 70

2.2.4类型转换 73

2.3构造器 75

2.3.1重载 75

2.3.2方法同名问题 77

2.3.3无参数构造器和初始化块 79

2.3.4创建对象 81

2.3.5 super与this 83

2.3.6构造器不是方法 85

2.4引用 86

2.4.1引用的含义 86

2.4.2引用变量、引用和对象 88

2.4.3 final变量和不变类 89

第3章 功能抽象 93

3.1功能抽象的演化 93

3.1.1三种结构、Java语句 93

3.1.2方法 95

3.1.3接口与实现分离 99

3.1.4抽象方法 103

3.2实现 103

3.2.1表达式语句 103

3.2.2操作符 106

3.2.3 if语句 110

3.2.4循环语句 113

3.2.5 break, continue与标号 118

3.2.6 switch语句与enum 120

3.3消息传递机制 123

3.3.1消息接收者 124

3.3.2按值传递语义 125

第4章 数据抽象 131

4.1数据抽象的含义 131

4.1.1基本类型的实现 131

4.1.2类的接口 133

4.1.3 String 134

4.2抽象类 135

4.2.1不能够实例化的类 135

4.2.2子类的占位符 136

4.2.3接口继承Vs.实现继承 137

4.3 Java接口 142

4.3.1接口与实现类 142

4.3.2多重继承问题 145

4.4依赖于抽象类型 148

4.4.1开放封闭原则 148

4.4.2创建对象的技术 151

4.4.3启发式条例 153

第5章 链表、数组和栈 155

5.1线性表 155

5.1.1 ADT线性表 155

5.1.2针对LinearList编程 158

5.1.3算法和编码 160

5.2案例:单向链表 160

5.2.1结点 161

5.2.2 SinglyLinkedList类 162

5.2.3迭代器 166

5.2.4 for…each语句 170

5.3数组 173

5.3.1数组基础 173

5.3.2 MyArrayList类 177

5.3.3对象数组 180

5.3.4数组的数组 183

5.3.5案例:生命游戏 185

5.4 Java泛型 188

5.4.1 Java泛型基础 189

5.4.2协变性 192

5.4.3泛型方法 195

5.4.4正确使用Java泛型 196

5.5栈 197

5.5.1 MyStack与实现 197

5.5.2栈的应用 199

第6章 封装 201

6.1封装性 201

6.1.1信息隐藏 201

6.1.2封装与数据抽象 202

6.2包 202

6.2.1命名空间 202

6.2.2类路径和第三方包 205

6.2.3包级私有 206

6.3 private修饰符 208

6.3.1 private 208

6.3.2域的继承和隐藏 210

6.4 protected修饰符 211

6.4.1正确访问protected成员 211

6.4.2 protected的语意 212

6.5 public修饰符 213

6.6依赖 214

6.6.1继承是白箱复用 214

6.6.2聚合与组合 214

6.6.3使用关系 215

第7章Java虚拟机相关 217

7.1类载入 217

7.1.1装载 217

7.1.2连接和初始化 221

7.1.3自定义类装载器 222

7.2字节码文件 224

7.2.1 class文件的结构 224

7.2.2常量池表 228

7.3反射机制 231

7.3.1 Class 〈T〉类 232

7.3.2域和方法的反射 234

7.3.3 Constructor类和创建对象 236

7.4运行时存储管理 237

7.4.1存储管理策略 237

7.4.2方法区 238

7.4.3堆上的对象 239

7.4.4 String对象问题 241

7.4.5 Java栈 245

7.5垃圾回收 246

7.5.1 GC是软件工程工具 246

7.5.2 finalize() 248

7.5.3与GC交互 248

第8章 异常与断言 251

8.1 Throwable家族 251

8.1.1异常的概念 251

8.1.2 Error和Exception 253

8.1.3抛出异常 255

8.1.4自定义异常类 257

8.2捕获和处理 259

8.2.1 try和catch子句 259

8.2.2 finally子句 260

8.3断言 264

8.3.1断言的语义和语法 264

8.3.2断言的使用指南 266

第9章 图形与事件驱动编程 269

9.1 applet 269

9.1.1 applet的生命周期 269

9.1.2 Applet类的绘制方法 273

9.1.3线程的生命周期 274

9.2 Java 2D 278

9.2.1图形的建模 278

9.2.2渲染引擎Graphics2D 280

9.2.3案例:M集 283

9.3事件驱动编程 285

9.3.1回调 285

9.3.2基于委托的模型 289

9.3.3鼠标事件的处理 293

9.3.4键盘事件的处理 295

9.4嵌套类型 297

9.4.1总览嵌套类型 297

9.4.2静态成员类 298

9.4.3内部类 300

9.4.4局部类 303

9.4.5匿名类 305

9.5案例:GoL 306

第10章 算法基础 311

10.1算法与问题求解 311

10.1.1算法 311

10.1.2算法的分类 313

10.2时间复杂度 313

10.2.1简化 314

10.2.2常见时间复杂度 315

10.3递归思维 316

10.3.1递归的概念 316

10.3.2案例:汉诺塔问题 319

10.4分而治之 320

10.4.1案例:合并排序 321

10.4.2简单的查找算法 322

10.5回溯算法 324

10.5.1案例:走迷宫 324

10.5.2案例:N皇后问题 326

第11章 排序 329

11.1说明 329

11.2选择式排序 330

11.2.1选择排序 330

11.2.2堆排序 331

11.3插入式排序 335

11.3.1插入排序 335

11.3.2折半插入排序 336

11.3.3两路插入排序 337

11.3.4 Shell排序 339

11.4交换式排序 340

11.4.1冒泡排序 340

11.4.2快速排序 340

11.4.3 JDK中的快速排序 343

11.5案例:插入排序动画演示 345

11.5.1 Group 346

11.5.2 InsSortDemo 351

第12章 位运算 355

12.1基本位运算 355

12.1.1位-逻辑运算符 355

12.1.2移位运算符 357

12.2位标记操作 359

12.2.1位域处理 359

12.2.2 BitSet 361

附录 363

附录A使用BlueJ 363

A.0 BlueJ与JDK 363

A.1基本操作 363

A.2与类、对象交互 365

A.3断点与调试器 367

附录B知识单元与章节映射表 368

附录C推荐阅读 375