自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(43)
  • 收藏
  • 关注

原创 【数据结构】4中基本逻辑结构和存储结构

(1) 集合结构:结构中的数据元素之间除了同属于一个集合的关系外,无其他版任何关系。(2) 线性结构:结权构中的数据元素之间存在着一对一的线性关系。(3) 树状结构:结构中的数据元素之间存在着一对多的层次关系。(4) 图状结构或网状结构:结构中的数据元素之间存在着多对多的任意关系。常见的4种数据存储结构:1.顺序存储结构:借助数据元素之间的相对位置来表示元素之间的逻辑结构.(vector动态数组、deque双端队列、stack栈容器、queue队列容器)2.链式存储结构:借助数据元..

2021-06-07 16:39:01 7175

原创 switch关键字你搞懂了吗?

switch关键字相信大家应该都不陌生吧,在JDK1.6版本中,能用于switch判断的变量类型有:byte、short、int、char,还有枚举类型,但是在JDK1.7后添加了对String类型的判断。接下来说说switch关键字的语法规则吧。switch(变量) {case 常量值1://逻辑1;break;case 常量值2://逻辑2;break;default://逻辑3;}解释:switch是切换的意思,case是例子,事实的意思。那根据.

2021-05-14 23:00:14 2800

原创 路由表计算——RIP协议 距离向量算法

一、RIP简介RIP(Routing Information Protocol,路由信息协议)是一种内部网关协议(IGP),是一种动态路由选择协议,用于自治系统(AS)内的路由信息的传递。RIP协议基于距离矢量算法(DistanceVectorAlgorithms),使用“跳数”(即metric)来衡量到达目标地址的路由距离。二、距离向量算法1.距离(跳数)问题(1)从一个路由器到直接连接的路由器距离定义为1(2)从一个路由器到另一个非直接相连的路由器距离定义为所经过路由器的个数加.

2021-01-06 04:20:21 12653 3

原创 【操作系统】进程的三种基本状态及其转换

1.进程基本状态:1)就绪(Ready)状态: 进程已分配到除CPU以外的所有必要的资源,只要获得处理机便可立即执行,这时的进程状态称为就绪状态。2)执行(Running)状态: 当一个进程已获得必要的资源,并占有中央处理机执行时进程所处的状态。3)阻塞(Blocked)状态: 正在执行的进程,由于发生某事件(如等待输入/输出完成)而暂时无法执行下去时,便放弃处理机,此时进程所处的状态。2.进程状态的转换一个进程在运行期间,不断地从一种状态转换到另一种状态,它可以多次处于就绪状态和执行状

2021-01-05 20:13:15 12707

原创 Java中final,finalize和finally的区别

finalfinal关键字可以用于类,方法,变量前,用来表示该关键字修饰的类,方法,变量具有不可变的特性。(1)final关键字用于变量前:表明该关键字修饰的变量是一个常量,在定义后该变量的值就不能被修改。(2)final关键字用于方法声明前:这时意味着该方法时最终方法,只能被调用,不能被覆盖,但是可以被重载。(3)final关键字用于类名前:此时该类被称为最终类,该类不能被其他类继承。finalizefinalize()是在java.lang.Object里定义的,用于回收资.

2020-08-05 19:04:12 191

原创 深浅拷贝(clone) Java

clone(克隆)顾名思义即复制在初步接触Java学习时我了解到了2种复制对象的方法,引用拷贝,对象拷贝(浅拷贝,深拷贝)。它们之间有怎样的区别和联系呢?接下来我将通过案例来展示:引用拷贝引用数据类型存储的是该对象在栈中的地址,真实的数据存放在堆内存里,存的什么地址就指向谁。示例如下:首先创建一个人类,如下:package clone;public class Person { //定义一个人类 ,人类具有 姓名,年龄 的属性 ,他还有一只猫咪 private Str

2020-07-30 03:41:57 277

原创 成员变量、局部变量、类的构造函数 Java

一、成员变量1、何为成员变量?成员变量指的就是类的属性2、何为成员变量的默认值?成员变量存在默认值,若成员变量未被赋值,则输出默认值,默认值根据类属性的类型不同而不同基本数据类型:整型:默认值是0, 浮点数据:默认值是0.0 boolean:默认值是false,char类型默认值是 ' '引用数据类型(对象):默认都是null类型二、局部变量1、何为局部变量?定义在函数内部的变量叫做局部变量,局部变量必须先初始化后使用...

2020-07-23 23:05:44 347

原创 细谈重载 Java

一、什么是重载(overlording)在JAVA中,可以在同一个类中存在多个函数,函数名称相同但参数列表不同。这就是函数的重载(overlording)。这是类的多太性表现之一。二、重载的作用:举个现实生活中的实例。假如你是个木工,我要让你制作桌子(返回值)。然后,我给了你紫檀木,你就可以制作一张紫檀桌子;我给了你黄花梨,你可以做黄花梨的桌子。这些不同材质的木料,就是参数。返回的都是桌子,但是具体使用哪个函数,就根据传入的木料不同来决定的。所以,可以根据所传递进来的不同参数,决定具体.

2020-07-23 20:26:40 370 1

原创 break 和 contiune 的作用 区别 与 示例 (Java)

一、break1、作用break在循环块(for、while、do while)中的作用是跳出当前正在循环的循环体;在程序块(switch)中的作用是中断和下一个case条件的比较。2、示例 //break for(int i = 1 ; i <= 10 ; i++){ if(i==5){ break; //输出结果:1 2 3 4 } System.out.println(i); }二、continue1、作用.

2020-07-23 19:48:17 404

原创 有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和。java实现

import java.util.Scanner;class Demo25{ public static void main(String[] args){ //分母为前两个数分母之和,前一个数分子等于后一个数分母 double numer = 2.0; double den = 1.0; double a = 0.0 ; double sum = 0.0 ; for(int i = 1 ; i &.

2020-07-12 03:38:02 1769

原创 常用的dos命令

windows + R 打开黑框控制常用的dos命令:cls:(clear screen) 清屏.cd路径:( change directory) 路径切换cd.. :退回到上一级目录切换盘符: 盘符号: 切换盘符dir:遍历打印当前路径下文件和文件夹(建议使用tab键补齐命令)ipconfig:查询本机的IP地址ping域名/ip地址:检查网络情况mkdir/md:创建目录(文件夹)echo msg:在控制台.上输出信息echo msg >文件 创...

2020-07-01 14:36:34 167

原创 【编译原理】FIRST集合和FOLLOW集合

FIRST集合定义:可从α推导得到的串的首符号的集合,其中α是任意的文法符号串。规则:计算文法符号 X 的 FIRST(X),不断运用以下规则直到没有新终结符号或 ε可以被加入为止 :(1)如果 X 是一个终结符号,那么 FIRST(X) = X。(2)如果 X 是一个非终结符号,且 X ->Y1 Y2 … Yk是一个产生式,其中 k≥1,那么如果对于某个i,a在 FIRST(Y1)、FIRST(Y2)… FIRST(Yi-1)中,就把a加入到 FIRST(X) 中。(3)如

2020-06-07 05:03:28 10059 16

原创 【数据结构与算法】算法的时间复杂度与空间复杂度

什么是算法?算法是对解决特定问题求解步骤的描述。包括自然语言描述,流程图描述,伪代码描述,程序代码描述等。同一个问题可以使用不同的算法解决,如:1~100求和问题,可以使用for循环如:int sum = 0 ;int N = 100 ;for(int i = 1 ; i<=100 ; i++){sum+= i ;}也可以利用等差数列求和公式进行计算如:int N = 100 ;int sum = (N+1)*N / 2 ;那么如何评价一个算法的好坏呢?.

2020-05-29 22:54:23 867

原创 【LeetCode】66.加一(Java)

题目描述:给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一。最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。你可以假设除了整数 0 之外,这个整数不会以零开头。示例1:输入: [1,2,3]输出: [1,2,4]解释: 输入数组表示数字 123。示例2:输入: [4,3,2,1]输出: [4,3,2,2]解释: 输入数组表示数字 4321。思路:考虑以下几种数字,9,99,999,99... 该类数字 + 1...

2020-05-29 17:15:11 179

原创 【Leetcode】747. 至少是其他数字两倍的最大数(Java)

题目描述:在一个给定的数组nums中,总是存在一个最大元素 。查找数组中的最大元素是否至少是数组中每个其他数字的两倍。如果是,则返回最大元素的索引,否则返回-1。示例 1:输入: nums = [3, 6, 1, 0]输出: 1解释: 6是最大的整数, 对于数组中的其他整数,6大于数组中其他元素的两倍。6的索引是1, 所以我们返回1.示例 2:输入: nums = [1, 2, 3, 4]输出: -1解释: 4没有超过3的两倍大, 所以我们返回 -1...

2020-05-29 15:15:59 186

原创 【Leetcode】 724. 寻找数组的中心索引(Java)

[Leetcode] 724. 寻找数组的中心索引题目描述:给定一个整数类型的数组nums,请编写一个能够返回数组“中心索引”的方法。我们是这样定义数组中心索引的:数组中心索引的左侧所有元素相加的和等于右侧所有元素相加的和。如果数组不存在中心索引,那么我们应该返回 -1。如果数组有多个中心索引,那么我们应该返回最靠近左边的那一个。示例 1:输入:nums = [1, 7, 3, 6, 5, 6]输出: 3解释:索引3 (nums[3] = 6) 的左侧数之和(1 + ...

2020-05-28 22:14:48 182

原创 【编译原理】文法及文法的类型(0型、1型、2型、3型文法)

一、文法文法: 描述语言的语法结构的形式规则学习文法主要是认识终结符和非终结符:其实这个特别简单,示例:S->ApS->BqA->aA->cAB->bB->dB其中大写字母为非终结符,小写字母为终结符。两者组合可以构成一个式子。二、文法的类型文法定义的形式-四元组(Vn,Vt,P,S):Vn为非终结符集,Vt 为终结符集,P为...

2020-04-22 04:47:09 33624 15

原创 【计算机组成原理】计算机如何区分存储在存储器中的指令和数据?

我们知道指令和数据均在存储器中存储,但是计算机是如何区分存储器中的指令和数据的呢?计算机是区分存储器中的指令和数据主要有两种方法:方式一:通过不同时间段来区分指令和数据,即在取指令阶段(或取值微指令)取出的为指令,在执行指令阶段(或相应微程序)取出的即为数据。方式二:通过地址来源区分,由PC提供存储单元地址的取出的是指令,由指令地址码部分提供存储单元地址的取出的是操作数。存储器中的...

2020-03-26 22:53:02 15271 1

原创 【计算机组成原理】如何理解计算机系统的层次结构?

计算机系统的层次结构,是由硬件和软件两大部分所构成,按功细分为7个层次。第零层:硬件逻辑层,可以直接完成每一条微指令的功能,这一层是计算机的计算内核,是实现计算机各种基本操作的实体。由门,触发器等逻辑电路组成。第一层:微代码层,这级的机器语言是微指令集,程序员用微指令编写的微程序,一般是直接由硬件执行的。常用微程序设计技术。第二层:指令集架构层,这级的机器语言是该机的指令集,程序员...

2020-03-26 22:50:14 21740 1

原创 【计算机组成原理】冯·诺依曼计算机的特点有哪些?

冯·诺依曼体系结构当前计算机主要是基于冯诺依曼体系结构设计的,下图为典型的冯诺依曼计算机结构框架图。一、冯·诺依曼体系结构计算机的组成——硬件+软件一)硬件1.存储器分为外存储器和内存储器,这里所说的主要为内存储器(内存储器就是内存,也叫主存),其功能为直接与CPU进行数据交换,加载各种各样的程序和数据供CPU直接运行与使用。2.运算器负责运算从内存读...

2020-03-26 22:38:13 32364

原创 JAVA中的成员变量,全局变量,局部变量是什么?

局部变量何为局部变量? 局部变量就是方法里定义的变量。 局部变量仅作用在局部区域中,从定义开始到大括号或者return结束,生命周期短。 局部变量存储:基本数据类型变量放在栈中,引用数据类型放在堆中 局部变量可以先定义再初始化,也可以定义的同时初始化,局部变量没有默认初始值。 class test{ public static void ma...

2020-03-20 23:42:34 15468 7

原创 Java类的定义、声明及使用

一、类的声明类在使用前,必须先声明,然后才可以声明变量,创建对象。类的声明语法如下:[标识符] class 类名{ //类的属性 //类的方法}类名称遵循标识符命名规则与规范,这里不做详细讲解,有兴趣的可以去看看https://blog.csdn.net/MillionSong/article/details/104601811(Java命名规则和规范)。...

2020-03-01 23:15:22 11864

原创 Java标识符命名规则与规范

Java标识符命名规则与规范标识符:程序员在写代码的过程中自定义的一些名称即为标识符,如变量名,类名,函数名,接口名...Java标识符的命名规则:由标识符的组成:26个英文字母(大、小写),数字,下划线,美元符号$ Java标识符严格区分大小写,长度无限制 标识符不能用数字开头 为了提高标识符的可读性,尽量起有意义的名字,一般都是用英文单词表示 不要使用关键字和Java中的...

2020-03-01 22:38:35 4636

原创 面向过程与面向对象的区别及优势和弊端

面向过程与面向对象的区别是什么?面向过程:把问题分解为若干个步骤,每个步骤实现为一个函数,按照顺序实现并在调用时传递数据给函数解答问题。面向对象: 抽象出问题的各种对象,把对象的属性和解决问题的方法封装在对象中,而后各个对象之间通过行为实现解答问题。思考:把大象装进冰箱需要几步?

2020-03-01 20:59:12 1911 2

原创 leetcode 1.两数之和(Java)

给定一个整数数组 nums和一个目标值 target,请你在该数组中找出和为目标值的那两个整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]来源:力扣...

2020-02-24 23:43:22 223

原创 leetcode 7.整数反转(JAVA)

给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为[−231,231− 1]。请根据这个假设,如果反转后整数溢出那么就返回 0。示例1:输入: 123输出: 321示例 2:输入: -123输出: -321示例 3:输入: 120输出: 21来源:力扣(L...

2020-02-24 22:30:16 439 1

原创 Java实现一个简单的五子棋游戏,JAVA,五子棋,黑框

五子棋游戏规则:五子棋分黑棋、白棋,两人轮流下棋,任意方向满五个即可胜利。 下棋操作:输入棋子的坐标进行下棋注意:已经有棋子的地方不能进行二次下棋游戏思路:初始化棋盘initBoard() 打印棋盘printBoard() 开始游戏startGame() 下棋(黑白)putDownChess() 判断输赢isGa...

2020-02-21 01:40:20 1334 2

原创 Java传参------基本数据类型和引用数据类型作为参数的区别(值传递)

Java 使用按值传递(pass - by - value)的方式将实参传递给方法。传递基本数据类型变量 的值与传递数组值有很大的不同。

2020-02-20 09:36:34 1285

原创 Java基本排序姊妹篇一:选择排序、冒泡排序、插入排序、计数排序思路讲解

一、选择排序选择排序思想:当前元素和之后所有元素进行比较,如果当前元素大于后者,则交换。示例如图:代码展示:class Test02{ public static void main(String[] args){ public static void selectSort(){ int[] arr={8,5,9,2,7,4,6,1,3...

2020-02-17 01:16:37 507

原创 Java 数组总结

一、数组的基础知识1、数组:一个存储具有相同类型的变量集合2、声明数组变量的语法:elementType[] arrayRefVar;(元素类型[ ] 数组引用变量 ;)elementType arrayRefVar[](元素类型数组引用变量[ ]) ,多用于C/C++注:elementType 可以是任意数据类型,但是数组中所有的元素都必须具有相同的数据类型...

2020-02-16 00:11:09 265

原创 干货Java中如何定义调用方法、方法栈(函数栈)、模块化代码的优势、函数重载、变量的作用域

方法是为完成一个操作而组合在一起的语句组。比如我们最早接触的在Java 库中预定义的方法,例如:System.out.printin' System.exit、Math . pow 和 Math .random,接下来我会分享如何定义自己的方法以及应用方法抽象来解决复杂问题。 一、定义方法方法的定义由方法名称、参数、返回值类型以及方法体组成。 定义方法的语法如下所示: ...

2020-02-15 19:16:44 510

原创 浅谈递归、迭代、循环、遍历 以及用递归思想求解汉诺塔(hanoi)问题、斐波那契数列、累加问题

概念介绍循环:在满足条件的情况下,重复执行同一段代码来解决问题的方法,如while循环。递归:通过直接或间接的反复在函数内部调用自身来解决问题的方法。迭代:按顺序访问线性结构中的每一项,如for循环。遍历:按照一定的规则访问非线性结构中的每一项。循环我其他文章里面介绍过啦~如果大家感兴趣,可以去我的博客主页看看吧~里面详细讲了for循环以及一些经典的练习题,如打印金字塔等,在...

2020-02-14 01:50:09 681

原创 习题练习 -----用java编写程序检验回文串

什么是回文数?回文数:回文数就是一个数字,从左到右读和从右到左读一样,比如 121 、12321、 3456543、 等等这些都是回文数。那么今天就带大家一起来看看如何用 java 编写程序 输出判断回文数。做题思路:1、提示用户输入一个数字2、拼接出该数字的反序,判断该数字是否是回文数判断思路:以数字12345 为例,将 数字12345 先逐个拆开 成 ...

2020-02-11 20:39:48 830

原创 流程控制语句

顺序结构:代码从主函数开始逐行向下运行,也是一种宏观的代码运行结构选择结构:if语句和switch语句if语句基本格式 单if形式 嵌套if-else形式 ...

2020-02-11 17:03:23 210

原创 浅谈 for循环

浅谈for循环,for循环习题讲解文章多看几遍吧~相信你一定会收获不少哇~什么是循环?我认为循环就是把一个步骤一直重复执行的操作。如果没有终止条件,那么这一步骤就会一直执行下去,直到地老天昏。书本上对循环的定义是:用来控制语句块重复执行的一种结构。在编程中一共有三种类型的循环语句:while循环、do-while循环和for循环。那么今天我就先给大家介绍循环结构中的一种语句...

2020-02-10 01:14:44 7172 1

原创 指针的算法——个人见解

指针是一种保存变量地址的变量。那我们就首先说一下变量。变量的本质是什么呢?变量主要是用于存储一些计算当中产生的一些临时性数据,变量本质就是在内存当中某一个进程里的一个临时存储区域,每一个变量空间在创建的时候都会被随机的分配地址(真实的物理内存地址),变量空间中的数据在变化的过程中必须保持是可兼容的(至少是同一类型),如果直接在代码中用变量的物理地址去访问空间中的数据的话 有可能访问不到的,为了...

2020-02-08 06:19:16 924 1

原创 进制间的相互转换

二进制:是一种计数方法,逢2进1原码:是指将最高位作为符号位(0表示正,1表示负),其它数字位代表数值本身的绝对值的数字表示方式。反码:如果是正数,则表示方法和原码一样;如果是负数,符号位不变,其余各位取反。补码:如果是正数,则表示方法和原码一样;如果是负数,则将原码数值位取反然后在最低位加1。(补码是计算机表示数据的一般方式)举例: 72 ...

2020-02-08 04:47:21 724

原创 Java中的运算符

一、算数运算符+ (加法运算):如果+号的两边都是数字的话,那么这个+表示的数学上的加法;如果+号的两边,有一个字符串,那么这个 +表示的是字符串连接符 - (减法运算):减法运算,求操作数的差。 示例:2-1=1 *(乘法运算):乘法运算,求操作数的乘积。 示例:2*2=4 / (除法运算):如果两边都是整数,那么结果就是整数...

2020-02-08 04:31:20 453

原创 Java中强制类型转换

Java中强制类型转换一、整型强转类型转换都是小范围向大范围转换的,大范围往小范围转化需要用到强制转换,转换后的值会有所损失。不同数据类型精度由小到大排列如下:byte --> short --> int --> long --> float --> double先让我们一起看看小精度数据类型向大精度数据类型转换会出现什么问题吧。class...

2020-02-08 02:26:40 39683 3

原创 Java中的基本数值类型

Java中的基本数值类型一、基本数据类型:整数类型:byte、short、int、long(整数默认为int型)byte:比特型,在内存中占8位(bit),即1个字节,取值范围-128~127,默认值0short:短整型,在内存中占16位,即2个字节,取值范围-32768~32717,默认值0int:整型,用于存储整数,在内在中占32位,即4个字节,取值范围-214748364...

2020-02-08 00:59:10 1213

空空如也

空空如也

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

TA关注的人

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