【Java学习】构造方法 构造方法构造方法是类里的一个特殊的方法,他不能有返回值(包括void)。所谓构造方法,就是这个类在被实例化时(创建对象时)就要执行的方法,方法名为类的名字,一般的目的是为了给类进行一些初始化值。 举例12345678public MerchandiseV2WithConstructor(String name, String id, int count, 2020-04-07 Java学习笔记 #Java
【Java学习】面向对象三要素 1.封装用访问限制符(private)保护成员变量,用public将方法写在类里,在主函数中调用类中的方法,为封装。 2.继承子类继承父类的成员变量和方法,并且可以在此基础上扩展出自己的成员变量和方法。父类中的private子类不可访问。 3.多态子类可以用相同的方法名去覆盖父类的方法,同一种方法用覆盖(override)实现不同的结果就是多态。继承关系是必须的。 2020-04-06 Java学习笔记 #Java
【Java学习】方法的重载和覆盖及参数的匹配规则 重载 overload同一个类中如果有两个方法的方法名相同,但参数不一致,那么可以说一个方法是另一个方法的重载(overload)。 覆盖 override继承中如果子类出现与父类相同的方法名与参数,则子类方法可以覆盖(overload)父类方法。调用的方法是对象所存在的那个引用中的方法 重载的参数匹配规则依次使用byte, short, int, long, float, double 类型的参 2020-04-03 Java学习笔记 #Java
【Java学习】堆和栈 一些基本类型的变量和对象的引用变量都是在方法的栈(stack)中分配。 堆(heap)用于存放由new创建的对象和数组。 Java基本数据类型:共有8种,即int, short, long, byte, float, double, boolean, char。 2020-03-26 Java学习笔记 #Java
【Java学习】数组 以前学数组,总是学的稀里糊涂,对数组的生成以及对数组内存储数的查找并不明白是怎么一回事。 最近温习Java的数组操作,对数组也有了一点更深的认识。 先来看一段程序: 123456789101112public class WhatIsArray { public static void main(String[] args) { int[] 2020-01-21 Java学习笔记 #Java
【Java学习】关于位运算 这几天重温Java,发现一个比较有意思的运算,位运算。 以前只在计算机组成原理这门课中学过位运算,一直以为学习位运算只是为了了解计算机的运算过程以及组成原理。没想到位运算在Java语言中也有很大的作用。 位运算基础位运算主要有三种运算,分别为“与(AND)”,“或(OR)”,“异或(XOR)”。 另外还有一个移位。 2020-01-20 Java学习笔记 #Java
【算法图解】动态规划 背包问题假如有个小偷,背着可装4磅东西的背包,可盗窃的物品有如下三件: 音响 笔记本电脑 吉他 3000美元 2000美元 1500美元 4磅 3磅 1磅 为了让盗窃的总价值最高,该选择哪些商品? 2019-03-27 算法图解学习笔记 #算法 #基础算法
【算法图解】近似算法 NP完全问题NP完全问题的定义就是以难解著称的问题,如旅行商问题和集合覆盖问题。很多人认为不可能编出快速解决这类问题的算法。 NP完全问题有以下几个特点: 元素较少时算法运行速度非常快,随着元素增加,要考虑的情况急速增多,运行速度非常慢。 涉及“所有组合”的问题通常是NP完全问题。 不能将问题分成小问题,必须考虑各种可能的情况,这是通常是NP完全问题。 问题涉及序列且难以解决,可能是NP完全问题 2019-03-13 算法图解学习笔记 #算法 #基础算法 #近似算法 #最适化
【算法图解】狄克斯特拉算法 算法原理广度优先搜索可以寻找到不带权值的最短路径,但是路径带权值的话就不可以使用广度优先搜索找最短路径了,所以我们使用狄克斯特拉算法算法来解决带权值的最短路径问题。 具体算法步骤如下: 找出最便宜的节点,即可在最短时间内前往的节点。 对于该节点的邻居,检查是否有前往它们的最短路径,如果有,就更新其开销。 重复这个过程,直到堆图中每个节点都这样做了。 计算最终路径。 注意:狄克斯特拉算法只支 2019-03-12 算法图解学习笔记 #算法 #基础算法
【算法图解】广度优先搜索 广度优先搜索广度优先搜索可以回答两类问题: 从节点A出发,有前往节点B的路径吗? 从节点A出发,前往节点B哪条路径最短? 2019-03-06 算法图解学习笔记 #算法 #基础算法 #数据结构