自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Java----简单的洗牌算法

一张牌需要有花色和数字,并且我们需要将一张牌的信息显示出来定义一个Card类表示一张牌,Card的成员变量rank表示牌的大小,suit表示牌的花色,toString是将牌的信息通过格式化为字符串的形式返回这是一副没有大小王的牌,有52张遍历每一张牌的位置,将当前位置的牌随机与其他位置的牌交换交换方法:参数为装有52张牌的顺序表和需要交换位置的两张牌的下标·洗牌算法:

2024-07-21 12:40:36 172

原创 Java-----顺序表

在集合框架中,ArrayList是一个普通的类,实现了List接口,具体框架图如下:【说明】1. ArrayList是以泛型方式实现的,使用时必须要先实例化2. ArrayList实现了RandomAccess接口,表明ArrayList支持随机访问3. ArrayList实现了Cloneable接口,表明ArrayList是可以clone的4. ArrayList实现了Serializable接口,表明ArrayList是支持序列化的。

2024-07-20 12:58:31 859

原创 学习C++第三天——对引用的深入了解

当返回值用引用接收时,ret指向引用的那块空间,在不被清理的时候,ret的值侥幸正确,当被清理时,就会ret的值就会变成随机值,就算没被清理,当调用其他函数时,栈帧会被覆盖,那就毫无疑问的变成随机值了。引用相当于给这个变量取别名,在西游记中孙悟空是孙悟空,齐天大圣也是孙悟空,弼马温也是孙悟空,孙行者也是孙悟空,斗战胜佛也是孙悟空,这些别名都是在指同一个猴子。当引用做参数时,实参传过来,相当于x,y就是实参的别名,对引用进行修改也就是对实参进行修改。1. 引用概念上定义一个变量的别名,指针存储一个变量地址。

2024-06-25 19:34:20 651 14

原创 学习C++第二天

缺省参数的概念:缺省参数是声明或定义函数时为函数的参数指定一个缺省值。在调用该函数时,如果没有指定实参则采用该形参的缺省值,否则使用指定的实参。// 没有传参时,使用参数的默认值10,即输出10// 传参时,使用指定的实参,即输出20什么都不输入即全使用默认值1. 半缺省参数必须从右往左依次来给出,不能间隔着给2. 缺省参数不能在函数声明和定义中同时出现3. 缺省值必须是常量或者全局变量在声明定义函数时,如果想要使用省缺参数,声明不能省略省缺参数,定义可以。

2024-06-23 22:19:54 889 8

原创 学习C++第一天

因为stdlib.h的头文件里包含了rand命名的函数,我们在全局域里定义了rand与函数名冲突就会报错,C语言无法解决这个问题,C++就有了命名空间来解决1.c是命名空间的名字,一般在开发过程中用项目的名字2.命名空间中可以定义变量,函数,结构体,类型3.命名空间支持嵌套4.同一个工程中允许存在多个相同名称的命名空间,编译器最后会合成同一个命名空间中。(当相同名称的命名空间中有变量名相同时,在调用时会报错)

2024-06-23 00:55:20 692 2

原创 大一期末——写程序100道

23. 定义一个接口A,有一个String的常量值为Java的 s,有void 的print()方法,定义一个接口B,B是A的子接口,B接口有String 的getInfo()方法,类X是接口A和B的实现类,类X的print()方法输出常量s,方法getInfo()返回“Hello!定义它的子类Dog类,子类有自己的color和构造方法和info(),测试类里创建Dog对象并调用它的info()方法,要求能输出dog对象的name、age和color。编写测试类,分别创建两件衣服对象,输出销售数量。

2024-06-14 00:08:19 719 1

原创 JDK17新增的特性

从Java13开始引入,yield关键字用于从case的代码块中获取返回值。简化后的switch-case语句接收返回值,改用了箭头指向返回值与不简化的switch-case接收返回值相比,少了break语句,有了返回值使用var可以使代码更简洁。有时候,类型名称可能会非常长,例如泛型。var就像是一个简化器,让你不必反复写出繁琐的类型名。使用注意事项:1. 不能使用var来声明字段2. 不能使用var来声明方法参数3. 不能使用var来声明方法返回类型。

2024-06-06 19:27:00 385 5

原创 Java——泛型

泛型:就是适用于许多许多类型。从代码上讲,就是对类型实现了参数化。泛型的主要目的:就是指定当前的容器,要持有什么类型的对象。让编译 器去做检查。此时,就需要把类型,作为参数传递。需要什么类型,就传入什么类型。1. 类名后的 代表占位符,表示当前类是一个泛型类了解: 【规范】类型形参一般使用一个大写字母表示,常用的名称有:E 表示 ElementK 表示 KeyV 表示 ValueN 表示 NumberT 表示 TypeS, U, V 等等 - 第二、第三、第四个类型。

2024-06-05 23:40:27 377 15

原创 Java——基础快速过

/ 方法定义修饰符 返回值类型 方法名称([参数类型 形参 ...]){方法体代码;[return 返回值];【注意事项】1. 修饰符:现阶段直接使用public static 固定搭配2. 返回值类型:如果方法有返回值,返回值类型必须要与返回的实体类型一致,如果没有返回值,必须写成 void3. 方法名字:采用小驼峰命名4. 参数列表:如果方法没有参数,()中什么都不写,如果有参数,需指定参数类型,多个参数之间使用逗号隔开5. 方法体:方法内部要执行的语句。

2024-06-05 18:07:20 1817 41

原创 Java——异常

Java中虽然定义了许多异常,但是在各种业务中,为了满足业务的需求需要,我们需要自定义异常来满足业务需求我们在处理用户名密码错误的时候可能就需要抛出两种异常. 我们可以基于已有的异常类进行扩展(继承), 创建和我们业务相关的异常类.private static String name="张三";if (!throw new nameExpection("用户名错误");throw new passwordExpection("登录密码错误");

2024-06-02 20:59:26 645 8

原创 时间复杂度和空间复杂度

算法效率是衡量一个算法好坏的标准,算法效率又分为时间效率和空间效率,时间效率又叫时间复杂度,空间效率又叫空间复杂度。时间复杂度:是衡量一个算法的运行时间空间复杂度:是衡量一个算法所需要的额外空间。

2024-06-02 13:57:33 386 2

原创 Java——String类

要尽量避免对String类型的对象进行修改,因为String类型的对象时不能修改的,所有Sting类型对象修改的结果都是需要创建新的String对象,这样效率是非常低下的。字符串不可变性的真正原因是被private修饰,被private修饰的变量只能在本类中使用,而String里没有getter和setter方法,所以外界就不能对其修改。final修饰的数组表示value这个变量指向的地址不能被修改,而地址指向的字符元素是可被修改的。对于引用类型来说,存储的内容在堆区,而栈区存储的是堆区对象的地址。

2024-05-31 16:55:57 816 4

原创 Java——简易图书管理系统

本个图书管理系统的功能主要分为两个方面:1.管理员的:查找图书,新增图书,删除图书,显示图书,退出系统2.普通用户的:查找图书,借阅图书,归还图书,显示图书,退出系统。

2024-05-28 20:45:19 990 15

原创 Java——接口后续

在Java中,我们对一个元素是数字的数组可以使用sort方法进行排序,如果要对一个元素是对象的数组按某种规则排序,就会用到Comparable接口当实现Comparable接口后,sort会自动调用Comparable接口里的compareTo 方法. compareTo 的参数是 Object如果当前对象应排在参数对象之前, 返回小于 0 的数字;如果当前对象应排在参数对象之后, 返回大于 0 的数字;如果当前对象和参数对象不分先后, 返回 0;

2024-05-26 11:19:52 997 22

原创 IDEA壁纸和主题设置

在File里点击settings.....

2024-05-22 09:59:50 611 2

原创 Java——内部类

重点。

2024-05-20 20:41:27 1000 24

原创 Java——抽象类和接口

抽象类:如果一个类里面有抽象方法,那么这个类一定是抽象类抽象方法:将行为(方法)抽取到父类之后,由于每一个子类执行的内容不一样,所以,在父类中不能确定具体的方法体那么这个方法就是抽象方法。

2024-05-19 22:24:35 1022 14

原创 Java——多态

接下来简单的实现一个球类信息查看的系统成员变量:成员方法:优势:1.在多态形式下,右边对象可以实现解耦合,便于扩展和维护举例:2.定义方法的时候,使用父类类型作为参数,可以接收所有的子类对象,体现多态的扩展性和便利弊端:1.不能调用子类的特有方法解决方案:强制转换,将调用者变回子类类型,转换时不能瞎转,即Animal dog=new Dog();不能将dog转成Cat类型,瞎转会报类型转换异常补充:instanceof关键字

2024-05-17 21:17:53 1177 38

原创 Java--类和对象第三节--继承

是面向对象语言的三大特征之一说到继承,网文爽剧里面经常会写到继承老爷子的百亿家产,刨根到底分析,是不是继承后,你就可以使用老爷的所拥有的东西了?在Java中,这种现象就叫做继承,老爷子叫做基类也叫做父类和超类,而你我的朋友叫做派生类也叫做子类。

2024-05-17 09:09:00 1273 8

原创 Java——类和对象第二节——封装

封装是面向对象程序的三大特性之一,面向对象程序的三大特性分别是封装,继承,多态而封装简单来说就是套壳隐藏细节打个比方:在一些电脑厂商生产电脑时,仅对用户提供开关机键,键盘输入,显示屏和USB插口,而使用电脑的人不必关心电脑内部硬盘,CUP,芯片等核心组件,就可以通过键盘鼠标显示屏进行交互完成各种功能封装:将数据和操作数据的方法进行有机结合,隐藏对象的属性和实现细节,仅对外公开接口来和对象进行交互。

2024-05-14 16:30:44 674 32

原创 8种常见的CMD命令

步骤1:win+r步骤2:在弹出的窗口输入cmd,然后点击确认,就会出现一个cmd的窗口。

2024-05-13 17:42:58 667 27

原创 Java---类和对象第一节

Java是一门纯面向对象的语言(Object Oriented Program,简称OOP),在面向对象的世界里,一切皆为对象。面向对象是解决问题的一种思想,主要依靠对象之间的交互完成一件事情。用面向对象的思想来涉及程序,更符合人们对事物的认知,对于大型程序的设计、扩展以及维护都非常友好。类是对一个实物(对象)的属性以及功能进行描述的对比于现实生活中产品的说明书在这个说明书里有产品的属性:产品名称,产品部件,型号等等产品的功能:使用方法,安装,拆卸,清洁。

2024-05-12 12:19:57 1381 38

原创 Java--方法的使用

方法顾名思义就是解决问题的办法,在程序员写代码的时候,会遇到很多逻辑结构一样,解决相同问题时,每次都写一样的代码,这会使代码看起来比较绒余,代码量也比较多,为了解决这个问题,我们把代码逻辑相同的代码写成一个方法,当我们解决相同问题时,直接调用这个方法,这会使代码看起来简洁明了。方法:在Java中就是一个代码片段,与C语言中的函数类似。方法存在的意义:1. 是能够模块化的组织代码(当代码规模比较复杂的时候 ).2. 做到代码被重复使用,一份代码可以在多个位置使用3. 让代码更好理解更简单.

2024-05-04 13:02:16 1703 45

原创 Java——数组的定义和使用

为什么要使用数组呢?有人会说,我想要什么数据类型直接定义不就完了,我们要使用数组呢?打个比方,在疫情防控期间,是对每一个人进行管理好,还是对某个集体进行管理好,当然是集体。所以通过数组我们能更好的管理更多的数。

2024-05-04 12:58:45 581 23

原创 “饕餮之路:贪吃蛇编程精粹“

贪吃蛇是一款很经典的小游戏,也是大家童年里的记忆,当你是一个计算机专业相关的学生,学完了C语言一定和我一样也想自己做一个小游戏在同学面前炫耀一番,证明一波自己的N13之处,接下来看完这篇文章,我相信你可以实现这波N13。

2024-04-22 16:30:46 1152 52

原创 C语言——自定义类型——结构体(从零到一的跨越)

在学习结构体之前,我们还学习了char ,int,short,float,double等内置类型,他们可以描述一些事物的某一项属性,但是如果我想描述一本书的某些属性,而不是单单的一种属性,该怎么办呢?这时候就会用到自定义类型——结构体,我们就可以创造出属于我们自己的类型。结构是一些值的集合,这些值称为成员变量。结构的每个成员可以是不同类型的变量,如:标量、数组、指针,甚至是其他结构体。也就是说结构体是由一些内置类型构成的,这些类型表示事物的某些属性。

2024-03-20 17:06:49 939 22

原创 整数和浮点数在内存中是如何存储的?

首先数据在内存中都是以二进制的形式存储的,而整数在内存中也是以二进制的形式存储的,而整数的表示形式有三种,分别是源码,反码,补码,而整数在内存中是以的形式存放的。三种表示方法均有符号位和数值位两部分,符号位用0表示“正”,用1表示“负”,而源码反码补码的二进制序列的最高位表示符号位,剩余序列表示数值位。鱼哥带大家先来看看正数的源码反码补码怎么表示。

2024-03-17 09:05:44 1045 14

原创 字符串函数(C语言详解)

字符串是一串连续的且以\0结尾的字符常量字符串不可以被修改。

2024-03-15 22:56:16 1337 21

原创 手撕指针第一页

内存,顾名思义就是电脑用来存储数据的,当CPU(中央处理器)在工作时,不仅需要从内存中拿取数据也需要将数据放入内存当中,当把内存引入到现实当中,就像学校里面的宿舍楼一样,每个宿舍楼有许多间宿舍,每一间宿舍住着8个人,内存里面有许多的内存单元,每一个内存单元就像一间宿舍一样,而这个内存单元叫做字节,每个字节又相当于8个比特位,每一个比特位对应8人间的每一个人。

2024-03-07 00:15:32 1176 37

原创 冒泡排序(C语言详解)

从左到右一次比较,如果左侧数字比右侧数字大(小),则两数交换,否则比较下一 组数字,每一次大循环比较可以将乱序的最右侧数字改为最大(最小),每一次小循环的比 较次数相对于前一次要减一。每一次大循环,我们都将tmp设置为0,在每一次小循环里面,如果两个数进行了交换,我们就将tmp改为1,出这次大循环判断一下tmp是否为0,如果为0,那么本次循环没有进行交换,也就是数组已经排好序,直接退出大循环,否则继续进行循环。

2024-03-03 17:40:41 896 25

原创 不用加减乘除做加法

在计算十进制的加法时,我们将相同数位对其,然后进行10以内的加法,如果满10,我们就往前进1在计算二进制的加法时,我们也是将相同数位对其,然后进行2以内的加法,如果满2,我们就往前进1。

2024-02-24 23:48:18 489 27

原创 三分钟学懂C语言关键字——const

这两种写法表示a的值不能够改变当我们直接改变const修饰的普通变量时,编译器会报警告显然,const具有防止变量被修改的功能虽然被const修饰的普通变量不能被直接修改,却可以被可以通过普通变量的地址去修改。注意:1.被const修饰的变量在C语言中具备了常属性,但是并不是常量解释:在定义数组时,vs中并不支持变长数组,所以数组的元素个数必须为常量,所以n不是常量2.在c++中被const修饰的普通变量是常量。

2024-02-03 22:40:46 613 17

原创 JAVA——数据类型与运算符

结论: 当 int 和 long 混合运算的时候, int 会提升成 long, 得到的结果仍然是 long 类型, 需要使用 long 类型的变量来接收结果. 如果非要用 int 来接收结果, 就需要使用强制类型转换.6.计算机中的字符本质上是一个整数. 在 C 语言中使用 ASCII 表示字符, 而 Java 中使用 Unicode 表示字符. 因此一个字符占用两个字节, 表示的字符种类更多, 包括中文.2.逻辑与(&&)和逻辑或(||)都是双目操作符,只有逻辑非(!

2024-01-19 13:43:53 1094 19

原创 双指针——复写零

第一步:利用双指针,找到修改后最后一个数,即cur扫描,如果扫描的数为0,dest往后走两步,为非0,dest往后走一步。第三步:cur往回走,遇到非0,将dest所指修改为cur所指的数,cur为0,就连续两次修改dest所指的数为0。第二步:处理末尾,dest可能为n,也可能为n-1,如果dest为n,那么修改后的末尾为0。时间复杂度:O(n) ,其中 n 为数组 arr 的长度,需要遍历两遍数组。只需要把末尾修改为0,dest+2即可。:O(1) ,仅使用常量空间。

2024-01-04 20:47:10 679 6

原创 双指针——移动零

【代码】双指针——移动零。

2024-01-01 21:48:45 549 20

原创 每日一题求和

只得了91分,所以显然时间复杂为o(n^2),导致超时,有没有更优化的方案呢。显然时间复杂度从o(n^2)降到了o(n),来看看测试结果。下面来看看优化后的方案。

2023-12-29 21:52:00 544 18

原创 每日一题回文数字

观察数字:12321,123321 都有一个共同的特征,无论从左到右读还是从右向左读,都是相同的。这样的数字叫做:回文数字。

2023-12-27 16:45:44 491 17

原创 扫雷游戏的简单实现

今天分享一个简易版扫雷游戏怎么用C语言实现。

2023-12-13 20:38:52 159 18

原创 C语言实现猜数字游戏

我们都玩过各种电竞游戏吧,如王者荣耀,英雄联盟,金铲铲等游戏吧。我们要玩游戏是不是得先进入游戏页面,才看自己是玩游戏还是退出游戏,如果玩玩一把不过瘾,想再玩一把,就属于一个循环过程。总的来说,这是一个先执行后循环的过程,所以我们选择do while来搭建游戏框架。

2023-12-10 19:54:03 159 16

原创 c语言入门——循环语句

while(判断语句),如果判断语句为真则执行循环,为假则不执行我们先来看一看while的流程图:其中使用了break和continue语句,在后面的内容我们会学到下面是while在程序中的写法这是最简单的循环,也是一个死循环打印一个1~10的整数。

2023-12-02 19:16:57 96 8

空空如也

空空如也

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

TA关注的人

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