[置顶] 《编程导论(Java)》学习导航

[最后编辑时间:2015.7.9]
本导航给出学习《编程导论(Java)》时,在本博客中相关博文的链接。那些博文用于介绍、讨论《编程导论(Java)》的相关章节,或查看更多的资料/链接。

  • 部分博文 摘抄书上的对应章节;
  • 部分博文 对重点议题进行介绍。如前后连贯性

希望读者能够以《编程导论(Java)》为依托,构建自己的知识库、代码库等。

  认真做好一件事

[置顶] 《编程导论(Java)》学习导航_第1张图片

一般性话题

  • 《编程导论(Java)》未包含(未深入的)常用的API编程部分:Collections、I/O、GUI、Concurrency、socket、JDBC

前言

章首格言 对章首格言的解释
设计模式选讲 (4)加深理论。书中并不刻意回避设计模式,作者建议让学生至少阅读《设计模式》的1.6节,或许包括3.3、4.1、5.4、5.7节。
代码库简介

第0章 引言

0.1 编程与计算机科学

0.1.1 计算简史* @一般递归函数、λ表达式、图灵机 
0.1.2 二进制补码 
0.1.3 计算机硬件
0.1.4 计算机科学 @大学计算机科学的14个知识领域
0.1.5 问题求解7

0.2 编程语言9

0.2.1 指令和汇编语言
0.2.2 操作符和操作数
0.2.3 高级语言的编译与解释

0.3 Java编程语言14

0.3.1 Java简介
0.3.2 JDK@关于JDK(2005)
0.3.3 BlueJ与Java开发环境 @    BlueJ的code pad

第1章 面向对象编程范式

1.1 计算就是模拟 

1.1.1 问题域和解域
1.1.2 颠倒的世界(柏拉图法则) @  一切皆对象,X
1.1.3 面向对象 

1.2 类

1.2.1 类体结构
1.2.2 空白与注释
1.2.3 五种Java元素 @ASCII
1.2.4 语法、语意和约定
1.2.5 案例:分数 32

1.3 静态成员

1.3.1 静态变量和命名常量
1.3.2 静态变量的初始化
1.3.3 静态方法
1.3.4 Math和tips.Print @ tips.Print的问题

1.4 编程范式 40

1.4.1 范式@  什么是面向对象编程范式    面向对象范式的3大原则
1.4.2 命令式编程范式
1.4.3 函数式编程范式*

第2章 类层次

2.1 子类型

2.1.1 里氏替换原则
2.1.2  啊,我看到了多态 @什么是多态(polymorphism) 
2.1.3  改写 @Java override
2.1.4  访问修饰符与继承 52
2.1.5  final方法和final类 55

2.2 数据类型

2.2.1 类型系统* @静态类型检查与继承
2.2.2 Java数据类型
2.2.3 变量的声明模型  @引用在哪里分配空间?
2.2.4 类型转换 63

2.3 构造器 64

2.3.1 重载 @ 重量过载 = 重载   @重载方法匹配算法   
2.3.2 方法同名问题
2.3.3 无参数构造器和初始化块
2.3.4 创建对象
2.3.5 super与this
2.3.6 构造器不是方法 73

2.4 引用 74

2.4.1 引用的涵义@  引用的“大概模样”
2.4.2 引用变量、引用和对象
2.4.3 final变量和不变类 77 

第3章 功能抽象

3.1 功能抽象的演化 79

3.1.1 三种结构、Java语句 @Simple Rules/简单的规律 
3.1.2 方法
3.1.3 接口与实现分离 @  什么是Parnas原则
3.1.4 抽象方法 88

3.2 实现  @    BlueJ的code pad

3.2.1 表达式语句
3.2.2 操作符 @关系和逻辑操作符小练习 
3.2.3 if语句
3.2.4 循环语句
3.2.5 break,continue与标号
3.2.6 switch语句与enum* @Java之enum

3.3 消息传递机制

3.3.1 消息接收者
3.3.2 按值传递语义  

第4章 数据抽象

4.1 数据抽象的含义

4.1.1 基本类型的实现
4.1.2 类的接口
4.1.3 String  

4.2 抽象类 115

4.2.1 不能够实例化的类
4.2.2子类的占位符
4.2.3 接口继承 Vs. 实现继承

4.3 Java接口 @  纠结的默认方法   Java 接口  

4.3.1 接口与实现类 122
4.3.2 多重继承问题 124

4.4 依赖于抽象类型 128

4.4.1 开放封闭原则 @抽象依赖原则
4.4.2 创建对象的技术 @ 静态工厂模式 
4.4.3 启发式条例 132

第5章 链表、数组和栈

5.1 线性表

5.1.1 ADT线性表  @ADT、C和Java  
5.1.2 针对LinearList编程@抽象依赖原则 )
5.1.3 算法和编码

5.2 案例:单向链表

5.2.1 结点
5.2.2 SinglyLinkedList类
5.2.3 迭代器
5.2.4 for-each语句 

5.3 数组 150

5.3.1 数组基础 150
5.3.2 MyArrayList类 154
5.3.3 对象数组 156
5.3.4 数组的数组 159
5.3.5 案例:生命游戏

5.4 Java泛型 164

5.4.1 Java泛型基础 165
5.4.2 协变性 168@协变性(covariant)
5.4.3 泛型方法 171
5.4.4 正确使用Java泛型 172

5.5 栈 172

5.5.1 MyStack与实现 173
5.5.2 栈的应用 174

第6章 封装

6.1 封装性

6.1.1 信息隐藏 177
6.1.2 封装与数据抽象 178

6.2 包 178

6.2.1 命名空间
6.2.2 类路径和第三方包 181
6.2.3 包级私有 182

6.3 private修饰符

6.3.1 private 183
6.3.2 域的继承和隐藏 185

6.4 protected修饰符 186

6.4.1 正确访问protected成员 186
6.4.2 protected的语意 187

6.5 public修饰符 188

6.6 依赖 188

6.6.1 继承是白箱复用 188
6.6.2 聚合与组合 189
6.6.3 使用关系 189

第7章 Java虚拟机相关

7.1 类载入 191

7.1.1 装载 191
7.1.2 连接和初始化 195
7.1.3 自定义类装载器* 196

7.2  字节码文件* 197

7.2.1 class文件的结构
7.2.2 常量池表

7.3 反射机制*

7.3.1 Class <T>类
7.3.2 域和方法的反射
7.3.3 Constructor类和创建对象

7.4 运行时存储管理

7.4.1 存储管理策略
7.4.2 方法区
7.4.3 堆上的对象
7.4.4 String对象问题 
7.4.5 Java栈 

7.5 垃圾回收*

7.5.1 GC是软件工程工具
7.5.2 finalize ()
7.5.3 与GC交互

第8章 异常与断言

8.1 Throwable家族 220

8.1.1 异常的概念
8.1.2 Error和Exception
8.1.3 抛出异常
8.1.4自定义异常类

8.2 捕获和处理

8.2.1 try和catch子句 227
8.2.2 finally子句 228

8.3 断言 232

8.3.1 断言的语义和语法
8.3.2 断言的使用指南

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

9.1 applet 237

9.1.1 applet的生命周期
9.1.2 Applet类的绘制方法
9.1.3 线程的生命周期

9.2 Java 2D

9.2.1 图形的建模
9.2.2 渲染引擎Graphics2D
9.2.3 案例:M集

9.3 事件驱动编程 252

9.3.1 回调 @什么是好莱坞原则    @回调与Java8的λ表达式  @最简单的Java框架  
9.3.2 基于委托的模型
9.3.3 鼠标事件的处理
9.3.4 键盘事件的处理

9.4 嵌套类型 264

9.4.1 总览嵌套类型
9.4.2 静态成员类
9.4.3 内部类
9.4.4 局部类
9.4.5 匿名类

9.5  案例:GoL

第10章 算法基础

10.1 算法与问题求解

10.1.1 算法 277
10.1.2 算法的分类 279

10.2 时间复杂度 279

10.2.1 简化 279
10.2.2 常见时间复杂度 280

10.3 递归思维(10.3.1 递归的概念10.3.2 案例:汉诺塔问题)

10.4 分而治之

10.4.1 案例:合并排序
10.4.2 简单的查找算法

10.5 回溯算法*

10.5.1 案例:走迷宫
10.5.2 案例:N皇后问题

第11章 排序

11.1 说明 

11.2 选择式排序

11.2.1 选择排序
11.2.2 堆排序*

11.3 插入式排序

11.3.1 插入排序
11.3.2 折半插入排序
11.3.3 两路插入排序*
11.3.4 Shell排序

11.4 交换式排序

11.4.1 冒泡排序
11.4.2 快速排序
11.4.3 JDK中的快速排序*

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

11.5.1 Group 311
11.5.2 InsSortDemo 317

第12章 位运算

12.1 基本位运算  (12.1.1 位-逻辑运算符  12.1.2 移位运算符 )

12.2 位标记操作*

12.2.1 位域处理
12.2.2 BitSet

附录 

附录A 使用BlueJ  Java的REPL
附录B知识单元与章节映射表
附录C推荐阅读必备参考书、算法与数据结构、对象技术与软件工程、Java)
电子参考文献索引




你可能感兴趣的:(java,链接,编程导论)