- 博客(17)
- 收藏
- 关注
原创 初识MySQL(安装与配置环境)
嗨!今天我们进入一个新的领域---数据库。首先来个小小铺垫。我们平时存储东西的时候,一般用到文件。为什么有文件了,还继续要这个数据库呢?很明显,文件有一些不好的地方,需要数据库来进行补充。文件有这些缺点:1.安全性问题2.不利于数据的查询和管理3.更不利于存储海量的数据4.文件在程序中控制不便正因为这样,所以专业设计出了数据库,进行数据的有效管理。ok,那么揭开下数据库的面纱吧。数据库,是一类软件,能够把很多数据组织起来,方便我们以后进行增删改查。这些软件我们拿过来就可以直接使用啦。
2024-08-14 09:42:37
600
原创 Java集合探秘:Map和Set的魔法世界
我又来啦!今天来介绍下Map和Set这两个集合类,但也是属于数据结构的那么先来揭开这个Map和Set到底是何方神圣吧Map和Set是一种专门用来进行搜索的容器或者数据结构,其搜索效率与具体的实例化子类有关。这两个是用两种模型来进行查找的分别对应的是:Key-Value模型、纯Key模型。那么刚刚这两个又是什么呢?
2024-07-15 22:51:05
863
原创 二叉搜索树大冒险:寻找-插入-删除
OK,看我们题目就可知道啦,今天要分享学习的一种数据结构就是二叉搜索树。内容题目也说了三个大概的,分别是寻找、插入、删除。讲这个之前呢,那么就先讲讲这个二叉搜索树是何方神圣呢?
2024-07-13 22:40:57
846
原创 探秘二叉深林——浅解二叉树
最近我又学习了一种数据结构。这种数据结构还挺有趣的,名叫二叉树。在了解二叉树之前,我们得先了解这个叫树的数据结构。树:一种非线性的数据结构,它是由n(n>=0)个有限结点组成一个具有层次关系的集合。把它叫做树是因为它看 起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。具有以下特点:1.有一个特殊的结点,称为根结点,根结点没有前驱结点。
2024-05-03 23:15:03
783
原创 数据结构双子星:栈与队列
最近刚好学习了数据结构中的栈与队列,让我来浅浅谈下这两个有趣的东西吧。(基于java编写)首先我们得请出第一位明星:栈(Stack)那什么是栈呢?栈是一种后进先出的数据结构。具体来说呢,栈也是一种线性表来的,其只允许在固定一端进行插入和删除。进行数据插入和删除的一端叫栈顶,另一端叫栈底。同时有两个很常见操作:压栈:栈的插入操作叫做进栈/入栈/压栈,入数据在栈顶出栈:栈的删除操作叫做出栈。出数据在栈顶。接下来,让我们一起看看有什么方法吧。
2024-05-02 21:58:47
20
2
原创 java之图书管理系统的简单实现
我们在Book类中对我们的书进行一些初始化操作:操作之前,我们先看看书籍是咋样的:里面包含了:书籍名、作者、价格、类型、是否借出@Overridepublic String toString() {//重写下toString方法", 已借出":", 未借出")+'}';Book类里面暂时写完了,后面还得加点东西。接下来我们来往BookList写//先固定数组里有10个//书籍可以随机给。
2024-03-31 09:06:56
733
1
原创 浅谈多态——继上一章
在子类构造方法中,并没有写任何关于基类构造的代码,但是在构造子类对象时,先执行基类的构造方法,然后执 行子类的构造方法,因为:子类对象中成员是有两部分组成的,基类继承下来的以及子类新增加的部分。父子父子 肯定是先有父再有子,所以在构造子类对象时候 ,先要调用基类的构造方法,将从基类继承下来的成员构造完整 ,然后再调用子类自己的构造方法,将子类自己新增加的成员初始化完整。成员方法没有同名时,在子类方法中或者通过子类对象访问方法时,则优先访问自己的,自己没有时 再到父类中找,如果父类中也没有则报错。
2024-03-17 22:33:19
802
1
原创 浅谈类和对象
his引用指向当前对象(成员方法运行时调用该成员方法的对象),在成员方法中所有成员变量的操作,都是通过该引用去访问。诶,那我们类定义好了,就先当于给计算机中定义新的一种类型,而我们所接触的,int double类型是内置类型。构造方法(也称为构造器)是一个特殊的成员方法,名字必须与类名相同,在创建对象时,由编译器自动调用,并且在整个对象的生命周期内只调用一次。而static所修饰的成员,称之为静态成员,也可以称为类成员,其不属于某个具体的对象,是所有对象所共享的。所以这是给成员变量赋值还是给形参赋值?
2024-03-09 15:16:06
751
8
原创 java的一些基本数据类型与变量
因为: byte 和 byte 都是相同类型, 但是出现编译报错. 原因是, 虽然 a 和 b 都是 byte, 但是计算 a + b 会先将 a 和 b 都提升成 int, 再进行计算, 得到的结果也是 int, 这是赋给 c, 就会出现上述错误. 由于计算机的 CPU 通常是按照 4 个字节为单位从内存中读写数据. 为了硬件上实现方便, 诸如 byte 和 short 这种低于 4 个字节的类型, 会先提升成 int, 再参与计算。讲到这里我们的一些基本的变量讲到这里,我们可以来看看这样一个的代码。
2024-02-10 01:57:16
380
1
原创 浅谈编译和链接
当我们创建一个.c文件的然后往里面写入代码,然后点击运行,然后结果呈现在我们的屏幕面前,这个过程,是不是.c文件就直接被机器识别到了呢?:将源代码程序被输⼊扫描器,扫描器的任务就是简单的进⾏词法分析,把代码中的字符分割成⼀系列 的记号(关键字、标识符、字⾯量、特殊字符等)◎ 将#include预编译指令,把里面的内容插入到该指令的位置,这个过程是存在递归过程的,因为该头文件也可能包含其他文件。当我们运行这个.c的代码的时候,并且其结果呈现在我们的屏幕中的时候,就经历两种环境——翻译环境和运行环境。
2024-01-22 10:38:27
1578
原创 浅梳文件操作所学内容
我们程序的数据需要输出到各种外部设备,也需要从外部设备获取数据,不同的外部设备的输⼊输出 操作各不相同,为了⽅便程序员对各种设备进⾏⽅便的操作,我们抽象出了流的概念,我们可以把流想象成流淌着字符的河。在我们写程序的时候,数据是存放在内存当中的,当程序结束的时候,系统就会回收内存,这时候我们的数据就不见了,所以为了数据的持久化保存,我们就用了文件进行保存。因为有缓冲区的存在,C语言在操作文件的时候,需要做刷新缓冲区或者在文件操作的时候关闭文件(这个操作也会刷新缓冲区),如果不做,可能导致读写文件出现异常!
2023-12-13 20:45:56
21
1
原创 浅梳结构体所学知识
如果我们能保证将所有的double类型的数据的地址都对⻬成8的倍数,那么就可以 ⽤⼀个内存操作来读或者写值了。4.如果嵌套了结构体的情况,嵌套的结构体成员对齐到自己的成员最大对齐数的整数倍处,结构体的整体大小就是所有最大对齐数(含嵌套结构体中成员的对齐数)的整数倍。所以,这个结构体,内存为此分配了9个字节的空间,其中空出来的也是被分配的,只是没有用,这就发生了内存的浪费。3.结构体总大小为最大对齐数(结构体中每个成员变量都有一个对齐数,所有对齐数中最大的)的。那我们这些都做好后,我们想访问它如何做呢?
2023-12-06 09:43:46
43
2
原创 浅梳数据在内存中的存储知识
E不全为0或不全为1 这时,浮点数就采⽤下⾯的规则表⽰,即指数E的计算值减去127(或1023),得到真实值,再将有效 数字M前加上第⼀位的1。但是,我 们知道,科学计数法中的E是可以出现负数的,所以IEEE 754规定,存⼊内存时E的真实值必须再加上 ⼀个中间数,对于8位的E,这个中间数是127;这时,浮点数的指数E等于1—127(或者1—1023)即为真实值,有效数字M不在加上第一位的1,而是还原为0.xxxxxx的小数,这样是为了表示±0,以及接近于0的很⼩的数字。
2023-12-03 10:53:53
15
1
原创 浅梳所学内容
因为我们知道数组的里面的元素在内存是连续存放的,同时数组名还代表着首元素的地址,所以,当我们将第一个元素地址存在指针变量里面,这样当我们想找第二个元素的时候,我们知道第一个元素地址后就顺藤摸瓜找到第二个了。举个例子,当我们创建个函数是其进行数值交换,假设我们不用指针实现,当我们完成这个函数,然后运行发现,两个数并没有交换,这是因为,不用指针的时候,函数调用是传值调用,到这里,我们就可以想象下,当我们将数组传参的时候传给一个函数时,是将首元素的地址传给函数。因为,既然是指针变量,那么变量就会有地址。
2023-11-30 20:22:54
23
1
原创 c语言简洁版的扫雷游戏实现
大小的棋盘,但是,我们每个人需求不一致,想玩的棋盘大小不一致,所以我们的头文件派上用场了,我们在头文件里进行宏定义我们的行和列,然后在函数实现源文件和游戏实现的源文件里包含头文件,当我们想修改棋盘大小时,就直接在宏定义里修改数值就行,很方便。,以及我们要在主函数中写一个随机种子函数(并使用时间戳),但是,我们我们为了简单实现,就随便布置了10个雷,但也不一定都是10个雷,我们也可以修改,所以我们在头文件了进行宏定义。然而,在布置雷的时候,我们也要判断当前是否有雷,没有雷就不布置了,所以用到了if语句。
2023-11-05 10:45:44
29
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人