
《Java 编程的逻辑》
《Java 编程的逻辑》
bm1998
这个作者很懒,什么都没留下…
展开
-
《Java 编程的逻辑》笔记——第11章 堆与优先级队列(二)
文章目录11.2 剖析 PriorityQueue11.2.1 基本概念11.2.2 基本用法11.2.2.1 Queue 接口11.2.2.2 构造方法11.2.2.3 基本例子11.2.2.4 任务队列11.2.3 实现原理11.2.3.1 内部组成11.2.3.2 基本构造方法11.2.3.3 添加元素 (入队)11.2.3.4 查看头部元素11.2.3.5 删除头部元素 (出队)11.2.3.6 查找元素11.2.3.7 根据值删除元素11.2.3.8 构建初始堆11.2.4 小结11.3 堆和 P原创 2020-12-09 00:15:10 · 154 阅读 · 0 评论 -
《Java 编程的逻辑》笔记——第11章 堆与优先级队列(一)
文章目录开头语11.1 堆的概念与算法11.1.1 基本概念11.1.1.1 完全二叉树11.1.1.2 编号与数组存储11.1.1.3 最大堆/最小堆11.1.1.4 堆概念总结11.1.2 堆的算法11.1.2.1 添加元素11.1.2.2 从头部删除元素11.1.2.3 从中间删除元素11.1.2.4 构建初始堆11.1.2.5 查找和遍历11.1.2.6 算法小结11.1.3 小结声明:本博客是本人在学习《Java 编程的逻辑》后整理的笔记,旨在方便复习和回顾,并非用作商业用途。本博客已标明原创 2020-12-08 13:53:30 · 144 阅读 · 0 评论 -
《Java 编程的逻辑》笔记——第10章 Map和Set(三)
文章目录10.6 剖析 LinkedHashMap10.6.1 基本用法10.6.1.1 按插入有序10.6.1.2 按访问有序10.6.1.3 LRU 缓存1.6.2 实现原理1.6.2.1 内部组成1.6.2.2 构造方法1.6.2.3 put 方法1.6.2.4 get 方法1.6.2.5 查看是否包含某个值1.6.2.6 原理小结1.6.3 LinkedHashSet1.6.4 小结声明:本博客是本人在学习《Java 编程的逻辑》后整理的笔记,旨在方便复习和回顾,并非用作商业用途。本博客已标原创 2020-12-07 21:36:59 · 158 阅读 · 0 评论 -
《Java 编程的逻辑》笔记——第10章 Map和Set(二)
文章目录10.3 排序二叉树10.3.1 基本概念10.3.2 基本算法10.3.2.1 查找10.3.2.2 遍历10.3.2.3 插入10.3.2.4 删除10.3.3 平衡的排序二叉树10.3.4 小结10.4 剖析 TreeMap10.4.1 基本用法10.4.1.1 构造方法10.4.1.2 基本例子10.4.1.3 日期例子10.4.1.4 基本用法小结10.4.2 基本实现原理10.4.2.1 内部组成10.4.2.2 保存键值对10.4.2.3 根据键获取值10.4.2.4 查看是否包含某个原创 2020-08-27 14:36:44 · 212 阅读 · 0 评论 -
《Java 编程的逻辑》笔记——第10章 Map和Set(一)
文章目录开头语10.1 剖析 HashMap10.1.1 基本概念10.1.2 接口定义10.1.3 HashMap10.1.3.1 使用例子10.1.3.2 构造方法10.1.4 实现原理10.1.4.1 内部组成10.1.4.2 默认构造方法10.1.4.3 保存键值对10.1.4.4 查找方法10.1.4.5 查看是否包含某个键10.1.4.6 查看是否包含某个值10.1.4.7 根据键删除键值对10.1.4.8 实现原理小结10.1.5 HashMap 特点分析10.1.6 小结10.2 剖析 Ha原创 2020-08-25 23:30:35 · 227 阅读 · 0 评论 -
《Java 编程的逻辑》笔记——第9章 列表和队列
文章目录9.1 剖析 ArrayList9.1.1 基本用法9.1.2 基本原理9.1.2.1 内部组成9.1.2.2 add 方法9.1.2.3 remove方法9.1.3 迭代9.1.3.1 foreach 用法9.1.3.2 迭代器接口9.1.3.3 ListIterator9.1.3.4 迭代的陷阱9.1.3.5 迭代器实现的原理9.1.3.6 迭代器的好处9.1.4 ArrayList 实现的接口9.1.4.1 Collection9.1.4.2 List9.1.4.3 RandomAccess9原创 2020-08-16 20:42:11 · 292 阅读 · 0 评论 -
《Java 编程的逻辑》笔记——第8章 泛型
文章目录开头语8.1 基本概念和原理8.1.1 一个简单泛型类8.1.1.1 基本概念8.1.1.2 基本原理8.1.1.3 泛型的好处8.1.2 容器类8.1.3 泛型方法8.1.4 泛型接口8.1.5 类型参数的限定8.1.5.1 上界为某个具体类8.1.5.2 上界为某个接口8.1.5.3 上界为其他类型参数8.1.6 小结8.2 解析通配符8.2.1 更简洁的参数类型限定8.2.2 理解通配符8.2.2.1 无限定通配符8.2.2.2 通配符的只读性8.2.2.3 参数类型间的依赖关系8.2.2.4原创 2020-08-14 23:09:45 · 233 阅读 · 0 评论 -
《Java 编程的逻辑》笔记——第7章 常用基础类(三)
文章目录7.5 剖析日期和时间7.5.1 基本概念7.5.1.1 时区7.5.1.2 时刻和纪元时7.5.1.3 年历7.5.2 日期和时间 API7.5.2.1 Date7.5.2.2 TimeZone7.5.2.3 国家和语言 Locale7.5.2.4 Calendar7.5.2.5 DateFormat7.5.2.6 SimpleDateFormat7.5.3 局限性7.6 随机7.6.1 Math.random7.6.2 Random7.6.2.1 基本用法7.6.2.2 设置种子7.6.3 随机原创 2020-08-12 22:14:08 · 320 阅读 · 0 评论 -
《Java 编程的逻辑》笔记——第7章 常用基础类(二)
文章目录7.2 剖析 String7.2.1 基本用法7.2.2 走进 String 内部7.2.2.1 封装字符数组7.2.2.2 按 Code Point 处理字符7.2.3 编码转换7.2.4 不可变性7.2.5 常量字符串7.2.6 hashCode7.2.7 正则表达式7.3 剖析 StringBuilder7.3.1 基本用法7.3.2 基本实现原理7.3.2.1 内部组成和构造方法7.3.2.2 append 的实现7.3.2.3 toString 实现7.3.2.4 其他修改方法7.3.3原创 2020-08-10 14:58:59 · 198 阅读 · 0 评论 -
《Java 编程的逻辑》笔记——第7章 常用基础类(一)
文章目录前言7.1 包装类7.1.1 基本用法7.1.2 共同点7.1.2.1 重写 Object 方法7.1.2.2 Comparable7.1.2.3 包装类和 String7.1.2.4 常用常量7.1.2.5 Number7.1.2.6 不可变性7.1.3 剖析 Integer 与二进制算法7.1.3.1 位翻转7.1.3.2 循环移位7.1.3.3 valueOf 的实现7.1.4 剖析 Character7.1.4.1 Unicode 基础7.1.4.2 检查 code point 和 char原创 2020-08-08 14:38:46 · 313 阅读 · 0 评论 -
《Java 编程的逻辑》笔记——第6章 异常
文章目录开头语6.1 初识异常6.1.1 NullPointerException (空指针异常)6.1.2 NumberFormatException (数字格式异常)6.2 异常类6.2.1 Throwable6.2.2 异常类体系6.2.3 自定义异常6.3 异常处理6.3.1 catch 匹配6.3.2 重新抛出异常6.3.3 finally6.3.4 throws6.3.5 对比受检和未受检异常6.4 如何使用异常6.4.1 异常应该且仅用于异常情况6.4.2 异常处理的目标6.4.3 异常处理的原创 2020-08-06 14:13:12 · 210 阅读 · 0 评论 -
《Java 编程的逻辑》笔记——第5章 类的扩展
文章目录5.1 接口的本质5.1.1 数据类型的局限5.1.2 接口概念5.1.3 定义接口5.1.4 实现接口5.1.5 使用接口5.1.6 接口的细节5.1.6.1 接口中的变量5.1.6.2 接口的继承5.1.6.3 类的继承与接口5.1.6.4 instanceof5.1.7 使用接口替代继承5.1.8 小结5.2 抽象类5.2.1 抽象方法和抽象类5.2.2 为什么需要抽象类5.2.3 抽象类和接口5.2.4 小结5.3 内部类的本质5.3.1 内部类5.3.1.1 静态内部类5.3.1.2 成员原创 2020-08-05 14:57:41 · 234 阅读 · 0 评论 -
《Java 编程的逻辑》笔记——第4章 类的继承
文章目录开头语4.1 基本概念4.1.1 Object4.1.2 方法重写4.1.3 图形类继承体系4.1.3.1 图形4.1.3.2 圆4.1.3.3 直线4.1.3.4 带箭头的直线4.1.3.5 图形管理器4.1.4 小结4.2 继承的细节4.2.1 构造方法4.2.1.1 super4.2.1.2 构造方法调用重写方法4.2.2 重名与静态绑定4.2.3 重载与重写4.2.4 父子类型转换4.2.5 继承访问权限 protected4.2.6 可见性重写4.2.7 防止继承 (final)4.3 继原创 2020-08-03 11:49:31 · 259 阅读 · 0 评论 -
《Java 编程的逻辑》笔记——第3章 类的基础
开头语程序主要就是数据以及对数据的操作,为方便理解和操作,高级语言使用数据类型这个概念,不同的数据类型有不同的特征和操作。Java 定义了八种基本数据类型,四种整型 byte/short/int/long,两种浮点类型 float/double,一种真假类型 boolean,一种字符类型 char,其他类型的数据都用类这个概念表达。3.1 类的基本概念在第1章,我们暂时将类看做函数的容器,在某些情况下,类也确实基本上只是函数的容器,但类更多表示的是自定义数据类型。我们先从容器的角度,然后从自定义数据原创 2020-08-01 14:17:22 · 220 阅读 · 0 评论 -
《Java 编程的逻辑》笔记——第2章 理解数据背后的二进制
文章目录开头语2.1 整数的二进制表示与位运算2.1.1 十进制2.1.2 正整数的二进制表示2.1.3 负整数的二进制表示2.1.4 十六进制2.1.5 位运算2.2 小数的二进制表示2.2.1 小数计算为什么会出错2.2.2 二进制表示2.3 字符的编码与乱码2.3.1 常见非 Unicode 编码2.3.1.1 ASCII2.3.1.2 ISO 8859-12.3.1.3 Windows-12522.3.1.4 GB23122.3.1.5 GBK2.3.1.6 GB180302.3.1.7 Big52原创 2020-07-30 23:33:02 · 366 阅读 · 0 评论 -
《Java 编程的逻辑》笔记——第1章 编程基础(二)
文章目录1.6 函数的用法1.6.1 定义函数1.6.2 函数调用1.6.3 进一步理解函数1.6.3.1 参数传递1.6.3.2 返回1.6.3.3 函数命名1.6.3.4 调用过程1.7 函数调用的基本原理1.7.1 栈的概念1.7.2 函数执行的基本原理1.7.3 数组和对象的内存分配1.7.4 递归调用的原理1.7.5 小结1.6 函数的用法1.6.1 定义函数如果需要经常做某一个操作,则类似的代码需要重复写很多遍。比如在一个数组中查找某个数,第一次查找一个数,第二次可能查找另一个数,每查一个原创 2020-07-30 17:51:25 · 198 阅读 · 0 评论 -
《Java 编程的逻辑》笔记——第1章 编程基础(一)
文章目录开头语1.1 数据类型和变量1.1.1 数据类型1.1.2 变量1.2 赋值1.2.1 基本类型1.2.1.1 整数类型1.2.1.2 小数类型1.2.1.3 真假类型1.2.1.4 字符类型1.2.1.5 一些说明1.2.2 数组类型1.2.2.1 赋值语法1.2.2.2 数组和基本类型的区别1.2.2.3 为什么数组要用两块空间1.3 基本运算1.3.1 算术运算1.3.1.1 加减乘除注意事项1.3.1.2 小数计算结果不精确1.3.1.3 自增(++)/自减(--)1.3.2 比较运算符1.原创 2020-07-25 23:24:42 · 456 阅读 · 0 评论