![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
文章平均质量分 65
心事付流年
这个作者很懒,什么都没留下…
展开
-
基于多态理解多态
文章目录一、继承Thread类,重写run方法二、实现Runnable接口,重写run方法我们都了解面向对象的三大特征是封装、继承和多态,在面试过程中,如何解释多态能打动面试官呢?一、继承Thread类,重写run方法在每次创建一个新线程时,就要新建一个Thread子类的对象启动线程,new Thread子类().start()方法但创建线程实际调用的是父类Thread中空参的构造器public class Polymorphism { public static void mai..原创 2021-08-22 17:44:12 · 126 阅读 · 0 评论 -
博客项目总结
文章目录一、登录二、如何维持登录三、博客列表页1.博客列表页的显示2.博客列表页的构造四、发表博客,五、查看博客(详细内容)六、删除博客七、注销八、注册九、模板设计实现模板文件项目中考点一、Tomcat是什么?二、前端和后端怎么建立联系的?三、post方法和get方法有什么区别?四、PrapareStatement和statement有什么区别?五、HttpServlet和Servlet的关系六、Servlet是什么?有什么作用?七、Servlet生命周期?八、cookie九、session十、cook..原创 2021-08-21 14:04:47 · 1552 阅读 · 5 评论 -
如果对象为key时,用hashCode和equals方法要注意到什么
1.同一个对象(没有发生过修改)无论何时调用hashCode()得到的返回值必须一样。如果一个key对象在put的时候调用hashCode()决定了存放的位置,而在get的时候调用hashCode()得到了不一样的返回值,这个值映射到了一个和原来不一样的地方,那么肯定就找不到原来那个键值对了。2.hashCode()的返回值相等的对象不一定相等,通过hashCode()和equals()必须能唯一确定一个对象不相等的对象的hashCode()的结果可以相等。hashCode()在注意关注碰撞问题的时候原创 2021-08-07 15:03:33 · 248 阅读 · 0 评论 -
JavaWeb之Servlet
文章目录前言1.Servlet简介一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言1.Servlet简介提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、pandas是什么?示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、使用步骤1.引入库代码如下(示例):i..原创 2021-08-02 13:48:50 · 97 阅读 · 0 评论 -
博客项目总结(浅)
文章目录HTMLCSSJavaScriptHTTP协议静态资源和动态资源模板技术(Thymeleaf)Servlet生命周期HTML<!--常用标签--><h1>一级标题</h1><h2>二级标题</h2><h3>三级标题</h3><h4>四级标题</h4><h5>五级标题</h5><h6>六级标题</h6><p>段..原创 2021-07-24 17:55:23 · 92 阅读 · 1 评论 -
项目--博客系统设计
一、明确用户的需求1.实现那些功能(1)当前博客列表博客列表展示了很多篇博客,每一篇博客都包含标题、发布时间、作者、摘要,点击标题可以跳转至对应博客正文页。(2)博客正文页显示博客的详细内容,正文包含标题、发布时间、完整正文(暂不考虑图片)(3)博客编辑页显示一个编辑框,用户可以编辑内容并提交给服务器,在列表中可以看到该博客。(4)删除博客功能在博客的详情页加一个删除按钮(5)注册&登录功能要求:若登陆成功,才能发布博客;若没有登陆成功,只能看,不能发布。2.功能的实现(原创 2021-07-22 18:37:29 · 159 阅读 · 0 评论 -
Map和Set
文章目录一、搜索1.概念和背景2.模型二、Map的使用1.关于Map的使用说明2.关于Map.Entry一、搜索1.概念和背景Map和Set是一种专门用来进行搜索的容器或者数据结构,其搜索效率与具体的实例化子类有关我们之前常见的搜索方式有:(1)直接遍历,时间复杂度O(n),元素如果比较多效率会比较慢(2)二分查找,时间复杂度为O(log2(n))但搜索前必须要求序列是有序的2.模型一般搜索的数据称为关键字(Key),和关键字对应的称为值(Value),将其称之为Key-Value的键值..原创 2021-05-18 14:14:21 · 309 阅读 · 0 评论 -
java对象的比较
文章目录1.基本类型的比较2.对象的比较3.基于Comparable接口类的比较4.基于比较器的比较5、三种方式的比较6.集合框架中PriorityQueue的比较方式1.基本类型的比较在java中,基本类型的对象可以直接比较大小public class TestCompare { public static void main(String[] args) { int a = 10; int b = 20; System.out.println(a > b); Syst..原创 2021-05-16 16:17:25 · 89 阅读 · 0 评论 -
二叉搜索树的实现
文章目录一、什么是二叉搜索树?二、二插搜索树的基本操作1.操作-查找2.操作-插入3.操作-删除一、什么是二叉搜索树?二叉搜索树又称二叉排序树,它要么是一棵空树,要么具有以下性质:1.若塔的左子树不为空,则左子树上的节点的值都比根节点的值小2.若塔的右子树不为空,则右子树上的节点的值都比根节点的值大3.它的左右子树也都是二叉搜索树二、二插搜索树的基本操作1.操作-查找查找方式:若根节点不为空,如果根节点key == 查找key 返回true;如果根节点key < 查找key,..原创 2021-05-16 12:05:27 · 163 阅读 · 0 评论 -
常见的七个排序
文章目录一、直接插入排序二、希尔排序三、选择排序四、堆排序五、冒泡排序六、快速排序1.快速排序(递归)2.快速排序(非递归)七、归并排序1.归并排序(递归)2.归并排序(非递归)一、直接插入排序 /** * 直接插入排序 * 时间复杂度:O(n²) 最好的情况:数据本身有序,时间复杂度O(n); * 空间复杂度:O(1) * 稳定性:稳定 * @param array */ public void insertSort(i..原创 2021-05-14 21:06:08 · 110 阅读 · 0 评论 -
堆的使用(优先级队列)
文章目录一、二叉树的顺序存储二、堆1、什么是堆?2、向下调整和创建堆3、应用一、二叉树的顺序存储使用数组保存二叉树结构,方式,即将二叉树用层序遍历的方式放入数组中。一般只适合表示完全二叉树,因为非完全二叉树会有空间的浪费。这种方式的主要用法就是堆的表示。堆主要用到已知父节点,判断子节点位置,父节点和子节点下标关系:已知父节点下标i,左孩子下标2i+1;右孩子下标2i+2;已知孩子(不区分左右)下标j,父节点下标(j-1)/2;二、堆1、什么是堆?堆逻辑上是一棵完全二叉树,物理上是保..原创 2021-05-12 16:59:17 · 280 阅读 · 0 评论 -
二叉树
文章目录一、树相关概念二、二叉树1.什么是二叉树?2、两种特殊的二叉树3、二叉树的性质4、二叉树的存储5、二叉树的基本操作一、树相关概念1.节点的度:一个节点含有的子树的个数成为节点的度,节点的度为62.树的度:一棵树中,最大节点的度称为树的度。(同属一个父节点,叶子最多的),树的度为63.叶子节点或终端节点:度为0的节点称为叶子节点。叶子节点有B,C,H,I,P,Q,K,L,M,N4.父节点或双亲节点:含有子节点的节点称为这个子节点的父节点。A为B,C,D,E,F,G的父节点5.子节..原创 2021-05-11 19:29:08 · 208 阅读 · 0 评论 -
狗猫收容所
有家动物收容所只收留猫和狗,但有特殊的收养规则,收养人有两种收养方式,第一种为直接收养所有动物中最早进入收容所的,第二种为选择收养的动物类型(猫或狗),并收养该种动物中最早进入收容所的。给定一个操作序列int[][2] ope(C++中为vector)代表所有事件。若第一个元素为1,则代表有动物进入收容所,第二个元素为动物的编号,正数代表狗,负数代表猫;若第一个元素为2,则代表有人收养动物,第二个元素若为0,则采取第一种收养方式(最早),若为1,则指定收养狗,若为-1则指定收养猫。请按顺序返回收养的序列。原创 2021-05-03 21:17:36 · 132 阅读 · 0 评论 -
栈和队列
文章目录一、栈1.概念2.实现栈的基本操作:二、队列1.概念2.实现队列的基本操作3.循环队列一、栈1.概念压栈:栈的插入操作叫做压栈/进栈/入栈,入数据在栈顶出栈:栈的删除操作叫做出栈,出栈数据也在栈顶栈的操作是先进后出。2.实现栈的基本操作:public class MyStack { private int[] array = new int [100]; private int size = 0; //入栈操作 public ..原创 2021-05-02 13:57:49 · 38 阅读 · 0 评论 -
List详解
文章目录一、泛型的引入1.泛型类的定义2.泛型类的擦除机制3.使用泛型的好处二、包装类的引入三、List的使用常见方法一、泛型的引入我们之前实现过顺序表,只能保存int类型元素,如果现在要保存指向person类型的引用的顺序表,我们就引入了泛型。1.泛型类的定义(1)尖括号<>是泛型的标志(2)E是类型变量(Type Variable),变量名一般要大写(3)E在定义时是形参,代表的意思是MyArrayList最终传入的类型,但现在还不知道public class MyArr..原创 2021-05-02 10:55:29 · 531 阅读 · 0 评论 -
认识异常
文章目录一、初始异常二、防御式编程三、异常的基本用法1.捕获异常2.抛出异常四、Java异常体系五、自定义异常类一、初始异常我们在之前的编码中可能都接触过一些异常,比如除以0的算术异常(java.long.ArithmeticException),数组下标越界异常(java.long.ArrayIndexOutOfBoundsException),空指针异常(java.long.NullPointerException)等。这些都是运行时异常。运行时异常:程序在运行期间发生的错误,也叫非受查异常。原创 2021-04-25 15:02:36 · 52 阅读 · 0 评论 -
详解String类型
文章目录一、创建字符串二、字符串比较相等三、字符串常量池四、理解字符串不可变五、字符、字节和字符串1.字符与字符串2.字节与字符串六、字符串比较一、创建字符串常见的创建字符串的方式:1.String str = “Hello”;//直接赋值2.String str2 = new String(“Hello”);//new一个新的String3.char[] array = {‘a’,‘b’,‘c’};String str3 = new String(array);注:被双引号("")引起..原创 2021-04-23 18:57:36 · 1588 阅读 · 0 评论 -
面向对象编程(下)
文章目录一、多态1.向上转型2.向下转型二、方法重写2.读入数据总结一、多态1.向上转型向上转型是父类的引用引用了子类对象。发生向上转型的三个时机:1.直接赋值:Animal animal = new Animal Bird();2.传参:一个方法的参数为父类引用,在其他函数传参时,传的是子类引用;3.函数返回值:方法类型为父类,返回子类;示例如下:package Practice;class Animal{ public String name; pub..原创 2021-04-22 14:33:02 · 55 阅读 · 0 评论 -
面向对象编程(上)
文章目录一、包1.包是什么?2.导入包中的类3.静态导入4.如何将类放到包中?5.包访问权限6.常见的系统包二、继承1.用法2. 继承的语法规则:3.super关键字4.protected关键字总结一、包1.包是什么?包是组织类的一种方式,使用包的主要目的是保证类的唯一性。2.导入包中的类Java中提供了很多现成的类供我们使用,我们可以使用java.util的方式导入包中的类,比如:java.util.Date data = new java.util.Date();但这种写法比较..原创 2021-04-18 14:02:26 · 123 阅读 · 4 评论 -
链表的增、删、改、查
在C语言和C++中可以利用指针来进行链表的一般操作(增、删、改、查),而在Java中没有指针。import java.util.Scanner;class OperaList{ int data;//数据域 int uSize ;//节点个数 OperaList next;//地址域 OperaList head;//头结点 OperaList ret;//替head跑腿 OperaList reret;//替head跑腿,比ret慢一步 /原创 2021-04-14 13:17:08 · 260 阅读 · 0 评论 -
顺序表的增、删、改、查
import java.util.Scanner;class OperaOfElem{ private int[] elem; private int uSize; //给类外提供公共方法(这个代码类外没有调用) public int[] getElem() { return elem; } public void setElem(int[] elem) { this.elem = elem; } p原创 2021-04-13 12:10:16 · 69 阅读 · 0 评论 -
简述类与对象
我们如何理解类和对象呢?实体在我们现实世界可以抽象成主观世界的抽象类别,那么映射到计算机中就是类实例化一个对象。一、类和对象类就是一类对象的统称,对象就是这一类具体化的一个实例。类的关键字是class,类中的元素成为成员属性或成员变量。类中的函数称为成员方法或行为。成员变量又分为普通成员变量和静态成员变量,方法也分为普通成员方法和静态成员方法,不同变量之间,不同方法之间的调用方式也不同。普通成员变量 ----->引用.成员变量普通成员方法 ----->引用.成员方法静态成员变量 -原创 2021-04-11 10:30:54 · 515 阅读 · 0 评论 -
冒泡法
给定一个整型数组, 实现冒泡排序(升序排序)import java.util.Arrays;public class bubbleSort { /** * 冒泡法 * 给定一个整型数组, 实现冒泡排序(升序排序) * @param args */ //方法一 public static int[] bubble(int[] array){ int tmp = 0; for (int i = 0; i <原创 2021-04-09 17:13:24 · 363 阅读 · 0 评论 -
详解数组
文章目录一、数组的基本用法1.数组是什么?2.数组的创建3.数组的使用二、数组作为方法的参数1.基本用法2.理解引用类型3.认识null三、数组作为方法的返回值四、数组的其他应用1.数组转字符串2.数组拷贝一、数组的基本用法1.数组是什么?数组也是一种数据结构,它本质上就是让我们能“批量”创建想同类型的变量。数组是引用类型,引用指向的是一个对象,也可以说,有地址的变量就称为引用。注意:在Java中,数组中的变量必须是相同类型的。2.数组的创建数组的创建有三种方法:// 动态初始化数据..原创 2021-04-09 17:10:04 · 115 阅读 · 0 评论 -
青蛙跳台阶问题
一只青蛙一次可以跳上 1 级台阶,也可以跳上2 级。求该青蛙跳上一个n 级的台阶总共有多少种跳法。题目分析:一只青蛙一次只能跳1或2级台阶,如果把每一级台阶看做数列中的一个位数字,青蛙跳的阶数1和2看做这组数列中元素的大小,也就是说,这组数列的元素只有1和2组成,不仅如此,青蛙跳的台阶也就可以看做是1和2 的排列。题中求有多少种跳法,也就相当于不同数字之间的排列方法有多少种。台阶数不同,跳法肯定也不同,那么不同台阶数的跳法组成的序列有什么规律呢?具体排列如图所示:由此表格我们可以看出,最后的结果组成原创 2021-04-06 19:18:01 · 118 阅读 · 0 评论 -
方法的递归
文章目录什么是递归?递归执行过程总结什么是递归?递归是一个方法在执行过程中调用自身。相当于数学上的“数学归纳法”,有一个起始条件,一个递推方程。也就是说,满足递归时,应满足方法自己调用自己,还要有一个趋近于终止的条件。递归执行过程import java.util.Scanner;public class textDemo { public static int fac(int n){ if(n == 1){ return 1; ..原创 2021-04-05 23:56:29 · 518 阅读 · 1 评论 -
方法
文章目录什么是方法?方法存在的意义运用方法时的注意事项方法的重载规则什么是方法?方法就是一个代码片段. 类似于 C 语言中的 “函数”。方法存在的意义1 是能够模块化的组织代码(当代码规模比较复杂的时候)。2. 做到代码被重复使用, 一份代码可以在多个位置使用。3. 让代码更好理解更简单。4. 直接调用现有方法开发。运用方法时的注意事项1.方法前的关键字必须是public和static。2.在C/C++中,是需要进行函数声明的,但Java中方法不用声明。3.方法在定义时, 每个..原创 2021-04-04 12:02:08 · 136 阅读 · 2 评论 -
斐波那契数列第n项
import java.util.Scanner;public class Practice2 { /** * 求斐波那契数列的第n项。(迭代实现) * @param args */ public static int Fibon(int n){ int a = 1; int i = 0,sum = 0; int b; while (sum < n){ b = sum原创 2021-04-04 11:33:31 · 126 阅读 · 0 评论 -
初窥Java门径(下)
文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、pandas是什么?示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、使用步骤1.引入库代码如下(示例):import numpy as npimpor..原创 2021-04-02 12:28:56 · 204 阅读 · 0 评论 -
猜数字游戏(Java)
完成猜数字游戏 ,用户输入数字,判断该数字是大于,小于,还是等于随机生成的数字,等于的时候退出程序。import java.util.Random;import java.util.Scanner;public class Practice2 {public static void main(String[] args) { Random random = new Random();//计算机随机产生一个数 Scanner n = new Scanner(System原创 2021-04-04 00:07:39 · 286 阅读 · 2 评论 -
Java小程序
经过几天学习,小年终于要上手了。Java新手小年今天给大家带来几个简单程序示例;1.编写代码模拟三次密码输入的场景。 最多能输入三次密码,密码正确,提示“登录成功”,密码错误, 可以重新输 入,最多输入三次。三次均错,则提示退出程序。import java.util.Scanner;public static void main12(String[] args) { int i = 2; String num = "1234"; while (i>原创 2021-04-03 23:59:10 · 226 阅读 · 0 评论 -
运算符
文章目录一、算术运算符二、使用步骤1.引入库2.读入数据总结一、算术运算符1.基本四则运算符有+(加) -(减) *(乘) /(除) %(求余或求模)不同的数据类型在进行基本四则运算时,会发生数据类型的改变。(1)int/int结果还是int,但需要使用double来计算(2)不能作为除数(3)%表示求余,不仅仅可以对int求模,也能对double求模,即它可以对小数求模。2.增量赋值运算符有+= -= *= /= %= 增量赋值运算符参与运算时会自动进行类型转换,也称符合..原创 2021-04-02 17:11:16 · 586 阅读 · 1 评论 -
初窥Java门径(上)
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar原创 2021-04-01 23:32:52 · 1362 阅读 · 1 评论