自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Java学习【String类详解】

Sring类的详解

2024-06-01 16:35:31 664 20

原创 Java学习【面向对象综合练习——实现图书管理系统】

接下来就是创建书架的类,书架上肯定不止一本书,所以这里选择数组来存储多个book对象,因为在一开始就有了一部分书,所以在创建书架的对象时,就要把图书的对象放进去。用户分为普通用户和管理员,登录进系统之后可以对图书进行一系列操作,此时我们要明白,对图书的操作是通过书架来执行的,我们平常在图书馆上借书就是在书架上。接着创建用户,而用户又分为普通用户和管理员,就可以通过继承来实现这种关系,这两种用户的菜单也不相同,就可以抽取出来,在子类进行重写。菜单里的操作可以通过接口来实现这个业务逻辑,

2024-05-27 12:53:15 514 14

原创 Java学习【接口的使用实例,浅克隆与深克隆】

这就用到了Comparable接口,接口中定义的就是一种规范,通过重写接口中的compareTo方法,定义比较规则,就实现了自定义类型的比较。当把之前的注释取消,源码底层就会把Man强转为Comparable,调用compareTo方法,而此时由于compareTo重写了,就会调用重写后的方法,排序也会根据重写之后的compareTo方法进行排序。点进源码发现Cloneable接口没有写任何方法,是一个空接口,空接口也叫做标记接口,表示当前类是可以被克隆的。谁调用compareTo方法,this就代表谁。

2024-05-24 09:26:29 1077 13

原创 Java学习【抽象类和接口】

抽象类,接口,内部类

2024-05-20 11:27:42 1172 27

原创 Java学习【类与对象—继承与多态】

继承,多态,方法的重写,final关键字

2024-05-17 16:59:24 1072 23

原创 Java学习【类与对象—封装】

封装的概念,类与对象,导包,static的使用,代码块

2024-05-14 16:51:25 1056 25

原创 Java学习【类与对象】

开始我们就不讲那些把大象放冰箱需要几步来引入面向对象的例子了,直接上干货。在Java中,类是对现实世界中某一类事物的抽象描述。它包含了该类事物的属性和方法。属性用于描述事物的状态,而方法则用于描述事物可以做的事情。对象也就时类的实例,通过关键字new出来一个具体的对象。

2024-05-10 16:04:48 973 13

原创 c语言实现贪吃蛇小游戏

用于检测指定的键是否被按下或释放,接受一个虚拟键码作为参数,并返回一个short类型的值,如果指定的键被按下,则返回一个负数,表示该键此前被按下并一直保持按下状态;再启动就可以了,之后也可以自己自定义控制台的样式,例如颜色,字体,还是右键点击控制台顶端,再点击属性,就可以找到设置了。设置本地化之后,就可以打印一些本地化的符号了,例如中文宽字符的打印,也可以明显的看出,宽字符要占用两个普通字符的宽度。用于改变程序的行为以适应不同的文化和语言环境,例如,中文的一个文字是宽字符,需要占用两个单字符。

2024-05-10 09:34:51 577 2

原创 深入理解编译和链接:从翻译环境到运行环境

define 也可以用于定义宏,宏是一种可以带有参数的代码片段。

2024-04-21 16:53:31 784 3

原创 用c语言实现文件操作

在以w的方式打开之后写入字符,再以r的方式打开读取字符,讲函数返回值接受并以字符形式打印,读取是按照顺序依次往下读取,根据读取到文件末尾返回值为EOF,可以用一个循环来实现对文件中所有字符进行遍历。fgets需要传入三个参数,第一个是接受字符串的指针,第二个是读取的字节数,第三个是读取的流,读取成功的话返回字符串的指针,读取失败或者读取到文件末尾,返回NULL。接下来介绍一下fgetc()函数,如果读取成功,返回的是字符的ASCII码值,如果读取到文件末尾或者读取失败,返回EOF(-1)

2024-04-21 16:38:02 913 2

原创 数据在内存中的存储

我们都知道,数据在内存中是以二进制的方式进行存储的,整数的二进制有原码,反码和补码三种,而真正在内存中存放的就是补码。我们先简单了解一下这三种表示方式:正整数的原、反、补码都相同。负整数的三种表⽰⽅法各不相同。原码:直接将数值按照正负数的形式翻译成⼆进制得到的就是原码。反码:将原码的符号位不变,其他位依次按位取反就可以得到反码。补码:反码+1就得到补码。为了方便,我们简单用8个比特位来解释一下,我们主要说一下负数-6 的二进制表示:原码:10000110。

2024-04-01 08:37:30 542 1

原创 【c语言学习】结构体

结构体是通过关键字struct来定义的。struct 结构体名 {数据类型 成员变量1;数据类型 成员变量2;...数据类型 成员变量n;int age;

2024-03-24 20:03:50 687 1

原创 c语言内存函数

从函数的参数来看,memcpy函数是从source的位置开始向后复制num个字节的数据(注意是num个字节)到destination指向的内存位置,是从内存直接操作的,如果是进行字符串的复制时,我们都知道,字符串的结束标志是’\0’ 但memcpy函数遇到’\0’并不会停止,这一点也需要注意。具体来说,memcmp首先将s1指向的内存区域的第一个字节的值减去s2指向的内存区域的第一个字节的值,若差值为0,则继续比较下一个字节,直到比较完n个字节或遇到不相等的字节为止。这是一个内存比较的函数。

2024-03-22 08:29:55 594 1

原创 盘点算法竞赛中C++常用的stl库函数

next_permutation()用于生成当前序列的写一个序列,按照字典序对序列重新进行排列,如果存在下一个序列,就将当前序列改为下一个序列,并返回true,如果当前序列就是最后一个序列,就将序列改为第一个序列,并返回false。这个函数的作用就是进行部分排序,返回值为void,传入的是3个地址或迭代器,排序之后, k 的处于正确的位置,其他元素可能是任意的,也就是不一定有序,但是k前面都是比k小的,后面都是比k大的。这是一个二分查找的库函数,用于在已排序的序列(数组,容器等)中查找元素,返回值为。

2024-03-10 09:24:56 1182 1

原创 【c语言学习】深入理解指针(1)

相信大家在学习c语言的过程中都被指针所折磨过吧,的确,指针作为c语言学习的一大难点,确实比较难以理解,我在学习的过程中也是跟不上学校老师的思路,哇,这是什么,这地址那地址的,取地址又解引用的,真烦,后来经过一段时间的学习,对指针的理解也更加清晰,之前的疑惑也都解开了,那么本篇文章就我自己的理解给大家介绍一下指针。

2024-03-10 09:23:06 862 1

原创 递归介绍及练习

盘子的数量大于 1 时,把除了最下面的盘子看作一个整体,以 C 为辅助塔,移动到目标塔 B ,再将蓝色的盘子放入C,此时最大的蓝色盘子正确归位,每次放置时,这三个柱子谁是开始塔,目标塔,辅助塔都是在不断变化的,这个需要仔细去思考明白。通俗点来讲呢,比如说刚开学,你不知道校长在哪,就去问另一个同学,他也不知道,他就再去问另一个同学,就这样一直循环,终于有个同学知道,他就把答案告诉上一个同学,最终,这个答案顺着这个链条给到了你。1 ~ 2 ,以及为1的时候的情况,也就是递归的出口。

2024-01-05 18:09:50 1003 2

原创 位运算的妙用 2

如图所示,在32个比特位表示的数中,左移之后低位补0,原来的1100 1000变为了11 0010 0000,也就是由200变为了800,不难发现左移一次,原来的数字乘以2,这个小技巧在以后的学习中也非常有用,右移也是一样的道理,只不过变为了高位补0,右边舍去,数值等于原来的数字乘以1/2。减去之后再和原来的数字做& 运算,参与借位的部分就都变为了 0 ,从而每次都消掉一个最低位的1,依次循环,直到最后结果为0,减去1的个数就是原来数字中1的个数。与方法一类似,这次我们选择右移要比对的数字,1 保持不动。

2024-01-04 10:30:53 406 3

原创 位运算的妙用 1

这个方法呢,巧妙的利用了下标的关系来进行求解,因为是1~1000的数字加上一个重复的数字,那么 arr[ i ] 中所记录的元素作为数组helper 的下标 ,也不用担心数组越界的问题,最终helper数组中最后一个位置并没有被赋值,为0,其他位置都被赋值为了1,而因为有一个重复的元素,所以helper。看到这道题,大家会考虑怎么做,我第一次想出的答案就是直接求和,然后减去真正的1~1000数字的和,最后得到的那个数字就是所求,直接暴力求解,哈哈,但是具有局限性,所以就来给大家分享一个很巧妙的方法。

2024-01-02 11:04:41 467

原创 用C语言实现的简易版扫雷小游戏

接下来,我们需要定义两个二维数组,一个用来存储具体的数值,另一个打印出来最为游戏的界面。

2023-12-29 21:08:02 887

原创 通过递归和迭代两种方式实现斐波那契数列

比如说刚开学,你不知道校长在哪,就去问另一个同学,他也不知道,他就再去问另一个同学,就这样一直循环,终于有个同学知道,他就把答案告诉上一个同学,最终,这个答案顺着这个链条给到了你。大概就是这么个意思,每一层递归都是带着问题去找答案,而原始答案就是递归的出口,在实际的问题中需要去找到每一层之间的规律,将原始答案通过规律,一步一步计算,最终得到所要的值。例如:本题中要求第n项的值,也就是第(n - 1)和(n - 2)的和 ,那么(n - 1)项的值就是 (n - 2)和(n - 3)的 和。

2023-12-11 21:39:47 204

原创 分支循环语句的介绍

以上对分支和循环语句的简单语法结构进行了说明,后续还会更新对此的更细节的问题,上面没有提到 do-while 语句是因为在实际应用中应用场景较少,所以也就没有提到,希望本次分享对大家有帮助。

2023-12-04 14:25:00 125

原创 常见排序算法

本文章对四种常见的排序算法进行了简单的解读及代码实现

2023-11-28 17:33:06 226

空空如也

空空如也

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

TA关注的人

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