自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(34)
  • 资源 (1)
  • 收藏
  • 关注

原创 Linux防火墙

防火墙管理

2022-09-29 16:34:49 755 1

原创 导入导出Excel

【代码】导入导出Excel。

2022-09-02 09:03:36 153

原创 JAVA基础整合——反射与注解

反射与注解

2021-09-26 20:41:19 148

原创 JAVA基础整合——IO流技术

IO流技术什么是IO流???I 表示input输入(读),O 表示output输出(写)。这里的输入输出表示JAVA程序和外部磁盘文件或者服务器之间的数据交互。输入表示外部文件往JAVA程序输入,输出表示JAVA程序向外输出。1.流的分类从流的方向分为:输入流和输出流从流中传输的数据的单位来分:字节流和字符流流的构造来说分为基本流和包装流2.我们需要掌握的流这里我针对字节流和字符流画了一个图,标红的是我们需要掌握其原理的。字节流如下:字符流如下:这里我把图上几个掌握的流

2021-09-04 15:56:39 138

原创 JAVA基础整合——异常

异常    异常是什么???异常是指我们在执行一段程序期间所发生的一些错误。切记:这里是指的执行期间。后面我们也会提到一个“编译期间异常”,但是这个编译期间我是画了引号,后面我们会解释。    从本质上来讲,异常是一个对象,对象一段实在程序执行过程中产生的(new),所以我们把异常的产生认定在运行期,这样认为有问题吗?答:没有问题。    异常的产生和JVM默认的处理过程:对于程

2021-08-02 20:57:16 86

原创 JAVA基础整合——集合框架2

Map接口Map接口是一个双列集合(键值对集合),其中这个key要求必须保证唯一性,value可以重复。因为后面需要根据key来从容器中快速获取对应的那个元素。Mao接口下面的实现类由HashMap、TreeMap1.HashMap1>下面是HashMap具体使用过程中会用到的方法:put(key,value) 向Map集合中添加新元素size() 返回当前集合中的元素个数get(key)根据某个key获取对应的valuecontainsKey(key) 判断某个key是否存

2021-07-31 16:38:55 80

原创 JAVA基础整合——集合框架1

集合框架这是一个重点内容,是要求我们重点掌握的内容。一、集合框架的概述什么是集合框架呢?集合是一个批量数据的存储容器。与数组类似,但是只是类似而已。数组的长度一般是不可变的,数组的存储数据只是单一类型的。集合就不同,存在集合中的数据都是引用类型的,也就是说可以存储多种多样的数据或者说对象,切记:集合中只能存入引用类型数据。二、 JAVA中集合的体系结构首先我给大家上个图:所以的集合分为两大类:单列集合和双列集合,所谓的单列是指集合中每个元素都是一个值,双列是指每个元素都由两个值组成(key-

2021-07-31 15:54:06 133

原创 JAVA基础整合——可变字符串和包装类

一、可变字符串前文我们知道Sting类型是不适合做字符串的频繁拼接,那为什么不适合频繁的字符串拼接呢?原因是因为字符串是不可变的,每次拼接一个新字符串,其实是在内存中新开辟了空间来保存这个新字符串,而就字符串仍然存在在常量池中,如果频繁的拼接,对内存的消耗很大,所以String类型不适合做字符串的频繁拼接。所以下面有两种常见的字符串拼接方式:StringBufferStringBuffer s=new StringBuffer("abc");s.append("123");s.insert(i

2021-07-31 10:09:25 104

原创 JAVA基础整合——String类

String类String是一个对象,是一个引用数据类型,下面介绍一下String类型String和一般引用类型不同,String具有不可变性。例如:Sting s = ”abc“; s=s+“123”; 这里看似字符串s被改变成abc123,其实他是新开辟了一个块空间(补充一个小知识点,String类型定义的字符串都是在常量池中)。在新开辟的内存空间只是把s的指向地址换成了新开辟空间的地址,所以这是String类型拼接的底层过程。所以我们要记住字符串不可变,值的是字符串的内容,一个字符串一旦在内存中

2021-07-31 09:20:44 68

原创 JAVA基础整合——Object类

Object类Object类时JAVA所有的类的根基类,处于整个继承体系的最上面,因此在该类中定义的方法成员可以被所有的JAVA对象继承使用。对于方法的设计来说Object类型的参数可以接受JAVA中的一切数据,如果将方法的返回类型设计为Object意味着该方法在处理完成后可以返回一切类型的对象一.Object类中常用的方法介绍getClass():用来获取当前对象的实际类型hashCode():用来获取当前对象的哈希码,哈希码时啥玩意???我们知道对象都是引用类型的,在栈中存放的是块指向

2021-07-29 20:05:56 91

原创 JAVA基础整合——内部类(累不累)

内部类定义:在一个类的内部可以定义另外一个完整的类,相当于一种嵌套关系;内部类分为:成员内部类、静态内部类、局部内部类、匿名内部类(也是局部内部类一种)一.成员内部类成员内部类和成员属性和成员方法是同级别的。例如:public class Outer { private String name; public void m1() { System.out.println("m1...."); } class Inner{ private int age; public void

2021-07-28 20:26:40 112

原创 JAVA基础整合——接口

接口在进入接口学习提几个重要的关键字。一.staticstatic修饰类中的属性(成员变量)static是一个修饰符,可以修饰类中的属性、方法、类中的代码块。1.1 static修饰的属性在内存中只存在一份,可以理解为共享。静态的成员可以通过对象去去访问,也可以用类名.静态成员去访问。如果让代码写的规范,我们对静态成员的调用都采用类名.静态成员去访问。注意:静态成员和非静态成员的区别,静态成员一般都是在类加载的过程中分配内存空间,而非静态成员都是在有了对象之后我们才可以用对象去访问。这里切

2021-07-28 20:09:27 122

原创 Java基础整合——面向对象基础概念

Java基础整合万物皆对象对象是由属性和行为构成。局部变量和成员变量:1.作用范围不一样。成员变量可以在当前类的所有方法中访问,局部变量定义在某个方法的内部,只能在方法体中访问;2.默认值不一样:成员变量在new完对象之后由系统自动初始化,这是由于成员变量在new时会在堆中开辟空间,系统会默认给它初始化。而局部变量在方法体中定义只能手动初始化。3.生命周期不一样:成员变量在new对象的时候分配空间,也可以说它在堆中开辟了空间,而堆中开辟的空间都是引用类型的,程序员不能直接访问,只能通过栈中地址指

2021-07-24 17:09:09 98 1

原创 JVM内存

今天给大家分享一下JVM内存的管理:首先先画一个草图:JVM内存分为我门熟悉的两个部分:栈内存:栈内存在JVM中内存很小,但是速度高,最重要的是猿类可以直接去访问;堆内存:堆内存在JVM中占比很大,但是速度慢,猿类不能直接去访问;只能间接访问;注意:在JAVA中数据类型大体可以分为值类型和引用类型。String和int[] 是引用类型。只要出现new关键字时,JVM都是在堆内存给我们分配一块内存存放数据。但是在栈内存变量里边存放的是我们访问堆内存的地址。这种情况叫引用。通俗来讲,当我们需

2021-07-21 09:57:22 104 1

原创 java中值类型与引用类型

今天遇到一个值类型和引用类型的问题,有点知道是什么意思但是表述不出来的感觉。所有下面我做了一个总结:值类型:值类型表示我们把一个变量传给一个方法时,在方法中改变了这个变量的值后,我们最初的变量没有改变。引用类型:引用类型把变量传给一个方法时,这个方法操作变量时也就是操作这个变量的本身,最初的值会发生改变。值类型:基本数据类型。四类八种。四类:整型,浮点型,字符型,逻辑型。整型:byte(1字节),short(2字节),int(4字节),long(8字节)浮点型:float(4字节),

2021-07-17 15:51:01 254

原创 Double类型四则运算精度问题

Double类型四则运算精度问题今天碰巧遇到一个小问题,在两个double类型相加减的时候遇到了一些精度问题;你看,这个结果为什么会出现这样呢?其实计算机在运算时并不会以十进制的形式去运算,而是以二进制的形式去运算。所以就会出现这种精度问题。那在java中也有对应的方法去解决这种问题。就拿乘法来举个栗子吧。这里我把问题写成一个方法,使用时只需要传两个需要相乘的数最后直接返回一个double类型。BigDecimal:Java在java.math包中提供的API类BigDecimal,用来对超过1

2021-07-15 20:44:35 411

原创 石头剪刀布小游戏

石头剪刀布小游戏问题描述:玩家与电脑的小游戏。import java.util.Random;import java.util.Scanner;public class GuessGame {public static void main(String[] args) { int player; //用数组下标表示三个手势 String[] arr = {"石头","剪刀","布"}; Scanner sr = new Scanner(System.in); System.out.

2021-07-14 19:51:43 88 1

原创 查找算法之二分查找

查找算法之二分查找采用二分查找一个有序数组中的值,二分查找使用与有序数组,所以数组必须得是有序的。//二分查找//给定一个有序数组,请使用尽可能高效的算法查找一个目标值target,如果存在返回true,否则返回falsepublic class BinarySearch { public static void main(String[] args) { int[] arr = {1,2,4,5,7,8,10,11,14,24,55,55}; int target=55; Syst

2021-03-17 15:00:39 70

原创 排序算法之快速排序

排序算法之快速排序今天小编给大家带来一个排序算法,思路比较好理解。一些注释我写在代码里。静下心来去看。//快速排序/*分析:快速排序需要定义的三个变量 low,high,基准 * 快速排序的算法思想就像是一种分治思想,将原问题划分成若干个规模更小与原问题 * 相似的子问题,然后递归解这些子问题,然后将子问题解的组合为原问题的解。 * 这里low,high我们都定义为最左和最右的位置,我们把基准位置总是定在low位置 * 记住这里的基准是一个数而不是下标。 *

2021-03-17 14:06:38 55

原创 二叉树递归判断满二叉树

二叉树递归判断一颗二叉树是不是满二叉树题目:判断一颗二叉树是不是满二叉树*分析:所谓满二叉树,无非就是满足在该树中任意一层的节点都是满的。例 如:高度为h的二叉树它的满二叉树的所有节点n满足这样一个公式 2^h-1 = n。但是注意这里的高度h是从0层开始的。也就是根节点是0层。所以此时我们只需得到总节点和高度即可。我采用递归的方法来写。//判断一棵树是不是满二叉树//满二叉树:2^h-1 = n h为高度。n为总节点数public class FullTree { /

2021-03-11 16:59:53 734

原创 二叉树求树的最大宽度

求一颗二叉树的最大宽度题目:给定一个二叉树节点的定义,要求返回二叉树最大宽度。*分析:二叉树的最大宽度也就是在二叉树上某一层节点的的个数达最大。import java.util.HashMap;import java.util.LinkedList;import java.util.Queue;//求一颗树最大宽度的节点数/* * 分析:二叉树的最大宽度也就是在二叉树上某一层节点的的个数达最大。 * 1.采用HashMap 存放一组<k,v>.k表示当前节点,

2021-03-11 16:21:37 748

原创 带有父节点指针的二叉树找前驱节点和后继节点

带有父节点指针的二叉树找前驱节点和后继节点题目:给一个正常的二叉树节点类型加一个指向父节点的指针parent。找其中某一个节点的前驱节点和后继节点*分析:所为前驱节点和后继节点就是找中序遍历。答:找出一个结点出现的所有可能性并进行操作。可分为下面几种出现的情况 1. 如果该结点无左右子树,判读该结点是否有父节点? 1.1 如果有父节点,则判断该节点为父节点的左、右子树? 1.1.1 如果为左子树则该父节点就是其后继节点 1.1.2 如果为右子

2021-03-10 19:02:45 804

原创 二叉树纸条折痕问题

纸条折痕问题题目:请把一段纸条竖着放在桌子上,然后从纸条的下边向上方对折一次压出折痕后展开。此时折痕时凹下去的,即折痕凸起的方向指向纸条的背面。如果从纸条的下边向上方连续对折2次,压出折痕后展开,此时折痕有三条折痕,从上到下依次时下折痕 下折痕 上折痕。给定一个输入参数N,代表纸条都从下边向上方连续对折N次。请从上到下打印所有折痕的方向。例如:N=1时,打印:down N = 2时,打印down down upimport java.util.Scanner;/* * 分析:此题本质是一颗二叉

2021-03-10 16:57:27 190

原创 二叉树的遍历打印,递归与非递归详解

二叉树的遍历打印,递归与非递归首先小编介绍一下三种遍历(先序,中序,后序)。这里我给大家总结了一个万能公式。因为我看了很多人讲这几种遍历序列,但是我觉得都很一般,所有我给大家总结一下。保证你听了之后再也不出错,而且不需要死记什么左中右,左右中。。。。这种东西。方法:我们拿这笔去走一边这一颗树,按照从头结点访问左节点到最左,然后最左结点访问有无右节点。也可以说是按先序方式访问整颗树,关键来了。走的过程中有一次经过的结点序列叫先序遍历,两次经过的结点叫中序遍历,三次经过的结点叫后序! 这样再也不用记什么三种

2021-03-09 17:46:38 216

原创 异或运算的应用

异或运算的应用题目:一个数组中有一种数出现了奇数次,其他数出现了偶数次,怎么在数组中找到这个给数并且打印;分析:这种利用异或运算的0 ^ N = N,N ^ N = 0,和异或运算的交换律一下子就可以找出那个出现奇数次的数并打印// 一个数组中有一种数出现了奇数次,其他数出现偶数次,// 怎么在数组中找到这个数并打印public class OddEvenExistNumber {public static void main(String[] args) { int[] arr = {3,2

2021-03-09 17:00:55 67

原创 异或运算的应用

异或运算的运用题目:1.将一个数在二进制状态提取最右侧的1后这个数为多少2.提取一个数转为二进制有多少个1public class intGetRightNumber {public static void main(String[] args) { //打印提取出最右侧的1后这个数为多少 System.out.println(getNumber(6)); //打印怎么提取一个数转为二进制数有多少个1 System.out.println(getNumberOne(6));}//怎么把

2021-03-09 16:56:47 68

原创 不使用临时变量交换两个数之异或运算

不使用临时变量来实现两个数的交换这里我们就要提出一种新的方法,我们常见的交换就是先定义一个临时变量,一般都是:int temp = 0;int a = 3;int b = 5; 然后temp = a; a = b;b = temp;这样的交换方式是很常见的。今天来介绍一种异或运算来解决此问题。首先,我们要知道什么叫异或:我之前记的方式是跟书上的一样相同为0,异为1;这里说的是在二进制的情况下0,1。当然十进制的数在计算机底层计算的时候也是转为二进制来运算的。所以我们十进制也可以使用逻辑运算。我现在叫异

2021-03-09 16:40:48 223 2

原创 排序算法之冒泡排序

排序算法之冒泡排序3.冒泡排序*分析:何为冒泡排序? 答:简单总结一句话,大的沉下去,小的浮上来。//冒泡排序 大的沉下去,小的浮上来public class PopSort { public static void main(String[] args) { int[] arr={5,3,2,1,6}; popSort(arr); } static void popSort(int[] arr){ int temp=0; for(int i=0;

2021-03-09 16:18:49 74

原创 排序算法之插入排序

排序算法2.插入排序*分析:何为插入排序?它是怎么进行排序的? 答:同选择排序不同,插入排序的起始是 i 在数组的第二个位置,j在第一个位置。每次遍历的时候保证i之前的数局部有序。import java.util.Arrays;//插入排序:局部有序(边排边插)public class InsertSort { public static void main(String[] args) { int[] arr = {5,3,2,1,1,1,6}; insertSor

2021-03-09 16:00:10 61

原创 排序算法之选择排序

排序算法1.选择排序小编会在这个排序算法中总结几种常见的排序算法,为什么要进行总结呢,其实每个人的脑容量都是有限,咱们都没有过目不忘的超能力。所有对于某些知识学了,咱们还得花时间进行总结,知识是需要花时间和精力去沉淀的。所以小编会通过写帖子的方式来记录和温习一些比较基础的知识。当然,也会有很多好的算法进行分享。说了这么多题外话,进入正题吧!给定一组数让我们排序成一个升序和降序的序列,我们能采用的排序算法有很多种,但是呢,算法也是有优劣的,判断优劣就是判断算法的时间复杂度和空间复杂度,还有一个概念就是稳

2021-03-09 15:46:54 65

原创 Java求阶层(1-1000)之取末尾多少个0

题目:求一个数n的阶层,并且要求打印出这个数末尾有多少个0;n在区间[1,1000]小编觉得这个题目拿起来就特别简单,不就求一个阶层算一下末尾有几个0而已嘛!然后看到取值范围的时候觉得这里是一个坑,因为求阶层的时候,如果求的数比较大时很容易就超出int型能承受的范围!(承受了它这个年纪不该承受的鸭梨呀)所以我们在定义的时候就不能用int,所以改为用BigInteger来定义!所以先别说废话,上代码吧。import java.math.BigInteger;import java.util.Scanne

2021-03-05 20:35:27 407 1

原创 模拟题——楼间最短距离

[问题描述]X星球居民小区的楼房全是一样的,并且按矩阵样式排列。其楼房的编号为1,2,3…当排满一行时,从下一行相邻的楼往反方向排号。比如:当小区排号宽度为6时,开始情形如下:1 2 3 4 5 612 11 10 9 8 713 14 15 …我们的问题是:已知了两个楼号m和n,需要求出它们之间的最短移动距离(不能斜线方向移动)输入为3个整数w m n,空格分开,都...

2020-03-17 21:56:04 434

原创 模拟题——小明晚会问题

问题描述  小明要组织一台晚会,总共准备了 n 个节目。然后晚会的时间有限,他只能最终选择其中的 m 个节目。  这 n 个节目是按照小明设想的顺序给定的,顺序不能改变。  小明发现,观众对于晚上的喜欢程度与前几个节目的好看程度有非常大的关系,他希望选出的第一个节目尽可能好看,在此前提下希望第二个节目尽可能好看,依次类推。  小明给每个节目定义了一个好看值,请你帮助小明选择出 m 个节目,...

2020-03-17 21:47:16 448

原创 蓝桥杯模拟题目——小明种草问题

问题描述  小明有一块空地,他将这块空地划分为 n 行 m 列的小块,每行和每列的长度都为 1。  小明选了其中的一些小块空地,种上了草,其他小块仍然保持是空地。  这些草长得很快,每个月,草都会向外长出一些,如果一个小块种了草,则它将向自己的上、下、左、右四小块空地扩展,这四小块空地都将变为有草的小块。  请告诉小明,k 个月后空地上哪些地方有草。输入格式  输入的第一行包含两个整数 n, m。  接下来 n 行,每行包含 m 个字母,表示初始的空地状态,字母之间没有空格。如果为小数点,表示

2020-03-16 14:51:56 2790

JavaSE学习笔记.rar

java开发基础阶段的学习笔记。

2021-08-19

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除