- 博客(23)
- 收藏
- 关注
原创 杨辉三角(Java版)
仔细观察发现杨慧三角类似于一个二维数组,第0列和对角线上的元素全部都是1 其余位置都是上一行正对元素 与 上一行正对元素的前一个元素之和
2023-03-27 19:17:35 176
原创 关于Java | String、StringBuilder和StringBuffer
由于String的不可更改特性,为了方便字符串的修改,Java中提供了内容可以修改的StringBuilder和StringBuffer类。final修饰类表明该类不想被继承,final修饰引用类型表明该引用变量不能引用其他对象,但是其。,不是因为String类自身,或者其内部value被final修饰而不能被修改。【注】:字符串不可变因为其内部保存字符的数组被final修饰了,因此不能改变。String类在设计时就是不可改变的,String类实现描述中已经说明了。
2023-03-23 18:30:41 186
原创 关于Java|多态
将一个子类对象经过向上转型之后当成父类方法使用,再无法调用子类的方法,但有时候可能需要调用子类特有的方法,此时:将父类引用再还原为子类对象即可,即向下转换。子类的访问修饰限定权限要大于等于父类的权限。例如:如果父类方法被public修饰,则子类中重写该方法就不能声明为 protected。当我们发生向上转型之后,通过父类的引用只能访问父类特有的成员,子类特有的无法访问。方法重载是一个类的多态性表现,而方法重写是子类与父类的一种多态性表现。被final修饰的方法(密封方法)是不能重写的。实例(下文依次讲解)
2023-03-16 12:04:42 604 7
原创 关于Java|super关键字
1. super.data 在子类当中访问父类的成员变量2. super.func()在子类当中 访问父类的成员方法。
2023-03-15 11:16:13 167 2
原创 关于Java|this关键字
this.data 访问当前对象的实例成员变量this.func() 访问当前对象的实例成员方法this(参数列表) 访问当前对象的构造方法1. this的类型:对应类类型引用,即哪个对象调用就是哪个对象的引用类型2. this只能在"成员方法"中使用3. 在"成员方法"中,this只能引用当前对象,不能再引用其他对象4. this是“成员方法”第一个隐藏的参数,编译器会自动传递,在成员方法执行时,编译器会负责将调用成员方法,对象的引用传递给该成员方法,this负责来接收
2023-03-14 10:28:02 80 1
原创 VS中scanf函数报错scanf‘: This function or variable may be unsafe.
VS中有一个叫newc++file.cpp文件找到这个文件,在文件中加入#define _CRT_SECURE_NO_WARNINGS 1这样以后只要创建的源文件都会包含这句话(仅奏效于VS)这里建议大家安装一个叫everything(本地电脑的搜索)软件由于可能会出现没有更改权限的情况,建议先将newc++file.cpp先拷贝到桌面,然后用记事本打开桌面的那份,在文件中加入#define _CRT_SECURE_NO_WARNINGS 1拖回原来路径替换原文件
2022-12-06 17:33:11 362
原创 【C语言】结构体大小如何计算
量为0的地址处 ** 2. **i,c2对齐到对齐数的整数倍的地址处 c2的自身大小为 1, VS中默认对齐数为8,所以c2的对齐数为1 ,所以i需要对其到1而这样的结果又是从何而来呢?有第一段我们可知S1 S2中各个变量的偏移量如下图自己练习一道8给出答案:根据刚刚我们所学,有的同学会计算出48这样的答案,而正确答案是32,这是因为我们忽略了结构体对齐规则的第四点,嵌套结构体时的情况,下面我们一步一步进行分析。结构体的对齐规则:关于为什么存在内存对齐?大部分的参考资料都是如是说的:
2022-12-04 15:43:35 303 1
原创 【c语言】strcpy、strncpy与memcpy三者的区别
strcpy只能复制字符串,并且是整个字符串strncpt只能复制字符串,但可以指定个数memcpy可以复制任意类型的数据,并且可以指定个数**strcpy遇到被复制字符的串结束符"\0"才结束,所以容易溢出。strncpy,memcpy则是根据其第3个参数决定复制的长度。strncpy一旦遇到0以后,后面被拷贝的字节就全部是 0。memcpy 是不关注被拷贝的内容是什么的。复制字符串时用strcpy,strncpy,而需要复制其他类型数据时则一般用memcpy。
2022-11-24 19:09:56 916 1
原创 C语言库函数的实现(strlen strcpy strcmp strcat strstr)
用于判断字符串str2是否是str1的子串。如果是,则该函数返回 str1字符串从 str2第一次出现的位置开始到 str1结尾的字符串;否则,返回NULL。strstr返回一个指针,指向str2在str1中首次出现的位置。
2022-11-23 10:21:44 590
原创 数组笔试题及相关解析
printf("%zu\n", sizeof(&arr + 1)); // 4/8 &arr是数组的地址,&arr+1是跳过整个数组,指向'f'后边,本质还是地址 printf("%zu\n", sizeof(&arr[0] + 1)); // 4/8 &arr[0]是数组的第一个元素'a'的地址,&a[0]+1是数组的第二个元素''b'的地址,地址大小也就是4/8 printf("%d\n", strlen(arr)); // 随机值 arr是数组名,但是没有放在sizeof内部,也没有&,
2022-11-20 15:58:17 132
原创 打印图案系列(菱形、X形、箭形、空心正方形)
仔细观察图形,可以发现,图形都中是由空格和*按照不同个数的输出组成的。在菱形图案和箭型图案中我们可分上部分和下部分分别输出而X形和,空心正方形视作整体一次性输出
2022-11-12 21:09:27 407 2
原创 杨辉三角(C语言)
题目要求:打印出杨辉三角中的每一项- 数字规律为:d[i][j] = d[i - 1][j] + d[i - 1][j - 1]- 步骤:首先我们可以将第一行作为种子,从第二行开始填每一行的第一列都为1,直接赋值为1后面根据d[i][j] = d[i - 1][j] + d[i - 1][j - 1]进行递堆最后打印即可
2022-11-08 20:54:12 1669 4
原创 深度剖析数据在内存中的存储(C语言)
计算机中的整数有三种2进制表示方法,即原码、反码和补码。三种表示方法均有**符号位**和**数值位**两部分符号位:用**0表示“正”,1表示“负”**数值位:**正数**的**原、反、补码都相同**。 负整数的三种表示方法各不相同。 **负数**的原反补码: **原码:数值的二进制 反码:符号位不变,其他位按位取反 补码:反码+1** 大小端介绍大端(存储)模式:数据的低位保存在内存的高地址中,而数据的高位保存在内存的低地址中。 小端(存储)模式:数据的低位保
2022-11-04 18:37:10 161
原创 头歌 初识Redis
第1关:Redis中的数据结构第2关:使用 Python 与 Redis 交互第3关:使用Python+Redis实现文章投票网站后端功能
2022-10-26 15:25:13 4517
原创 头歌 初识MongoDB
第1关:启动 MongoDB 第2关:启动 MongoDB 多实例第3关:退出客户端和关闭 MongoDB 服务
2022-10-26 14:28:16 14581 9
原创 扫雷游戏(C语言)
分别定义ROW 9 COL 9 扩大后的ROWS11,COLS11 并且设置地简单版雷数EASY_COUNT 10。用宏定义方式 分别定义行列 ROW COL 以及地雷的数量COUNT方便更改扫雷区域大小以及地雷数 一改全改。由于考虑到扫雷边界越界问题 将两个数组都扩大一圈 由9。主函数调用菜单函数 选择是否进入游戏。主函数中设置随机种子 随机布置雷。9棋盘扩大为11*11。
2022-10-21 17:27:02 457
原创 三子棋游戏(C语言)
打印菜单 是否进入游戏初始化棋盘玩家下棋电脑下棋判断输赢继续下棋?赢?输?平局?//game.h # define _CRT_SECURE_NO_WARNINGS 1 # include # include # include # define ROW 3 # define COL 3 //初始化棋盘 void init_Board(char board , int row , int col);
2022-10-18 21:38:12 711
原创 打印100~200之间的素数(C语言)4种方法
/方法一:试除法 int main() {// 外层循环用来获取100~200之间的所有数据,100肯定不是素数,因此i从101开始 for(i = 101;i
2022-10-06 19:18:16 2083 2
原创 手把手教你安装注册使用gitee
选择一个你想要存储仓库的文件夹,右击空白部分。可以发现文件夹里已经有了刚刚的仓库。显示success即克隆成功。确认一下地址及文件夹。
2022-09-30 20:13:53 1782 8
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人