《编程导论(Java)》学习导航

《编程导论(Java)》的目录和补充资料的链接。
编程练习请移步->Java编程练习目录


 
认真做好一件事


补充

  • 《编程导论(Java)》未包含(未深入的介绍)常用的API编程部分:Collections、I/O、GUI、Concurrency、socket、JDBC
  • 希望读者能够以《编程导论(Java)》为出发点或根据地,构建自己的知识库代码库等。


  • Java8对《编程导论(Java)》的影响


前言

章首格言 对章首格言的解释
设计模式选讲 (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 问题求解 @软件开发的核心技术

0.2 编程语言9

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

0.3 Java编程语言14

0.3.1 Java简介
0.3.2 JDK@关于JDK(2005) @聊聊Java
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 空白与注释 @使用Java API文档
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数据类型 @Java Annotation
2.2.3 变量的声明模型  @引用在哪里分配空间?
2.2.4 类型转换 63

2.3 构造器 64

2.3.1 重载 重量过载 = 重载   @重载方法匹配算法   
2.3.2 方法同名问题 @永远不要使用C++的“重定义”
2.3.3 无参数构造器和初始化块 @复杂初始化
2.3.4 创建对象
2.3.5 super与this
2.3.6 构造器不是方法 73

2.4 引用

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

第3章 功能抽象

3.1 功能抽象的演化

3.1.1 三种结构、Java语句 @Simple Rules/简单的规律 
3.1.2 方法 @Java 变长参数Varargs @副作用 @值参数化和行为参数化
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 数据抽象的含义 @SICP数据意味着什么?

4.1.1 基本类型的实现
4.1.2 类的接口
4.1.3 String  (乱码问题)

4.2 抽象类

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

4.3 Java接口@  纠结的默认方法   Java 接口   @远程方法调用RMI初步

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

4.4 依赖于抽象类型

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

第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 数组

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

5.4 Java泛型

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

5.5 栈

5.5.1 MyStack与实现
5.5.2 栈的应用

第6章 封装

6.1 封装性

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

6.2 包

6.2.1 命名空间 @import语句的作用 
6.2.2 类路径和第三方包
6.2.3 包级私有

6.3 private修饰符

6.3.1 private
6.3.2 域的继承和隐藏

6.4 protected修饰符

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

6.5 public修饰符
6.6 依赖

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


第7章 Java虚拟机相关

7.1 类载入

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

7.2  字节码文件*

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家族@8.1.1异常的概念 @java.lang.Throwable 

8.1.2 Error和Exception
8.1.4自定义异常类

8.2 捕获和处理

8.2.1 try和catch子句
8.2.2 finally子句228

8.3 断言

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 回调(什么是回调机制) @回调的用途  什么是好莱坞原则    @回调的实现  @最简单的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 局部类@final变量 
9.4.5 匿名类

9.5  案例:GoL


第10章 算法基础

10.1 算法与问题求解

10.1.1 算法
10.1.2 算法的分类

10.2 时间复杂度

10.2.1 简化
10.2.2 常见时间复杂度

10.3 递归思维   递归的优化

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 选择排序 @Java练习:简单粗暴法选择排序
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 案例:插入排序动画演示

11.5.1 Group
11.5.2 InsSortDemo

第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) @侃侃Thinking In Java
电子参考文献索引


[最后编辑时间:2016.11.21]
©️2020 CSDN 皮肤主题: 编程工作室 设计师:CSDN官方博客 返回首页