自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 JAVA多态

在Java中,多态性是一种强大的面向对象编程概念,使得同一类型的对象在不同上下文中表现出不同行为。其中,上转型是多态性的一种具体实现方式,通过将子类对象赋值给父类类型的引用,实现了在同一类型的引用下调用不同子类的方法。这种灵活性使得代码更容易扩展和维护,同时提高了代码的可复用性。通过上转型,我们可以处理不同类型的对象,而具体执行哪个子类中的方法由对象的实际类型决定,从而展现了多态性的核心思想。学习Java多态为我带来了更加灵活和可扩展的编程技能。

2023-12-22 10:34:55 969

原创 JAVA 继承

继承在Java中是一种关键的面向对象编程机制,通过使用extends关键字,子类能够继承父类的属性和方法。在继承中,子类可以访问父类的public和protected成员,但不能访问private成员。通过方法的重写,子类可以提供特定于自身的实现。此外,继承是实现多态性的基础,允许父类引用指向子类对象。通过学习继承,我不仅理解了如何有效地组织和重用代码,还能够更灵活地运用多态性,提高代码的可扩展性和可维护性。通过掌握Java继承,我在编码中实现了更高水平的代码重用,改善了代码的可读性和可维护性。

2023-12-20 15:19:10 1044

原创 关于JAVA和C语言字符串比较相等的说明

在Java和C语言中,字符串相等性的比较涉及到选择合适的方法以确保准确性。在Java中,推荐使用 equals() 方法,它比较字符串内容而不是引用地址,确保了更可靠的比较。相反,在C语言中,使用 strcmp() 函数是比较字符串内容的常见方式,以避免比较指针而非内容的问题。在两种语言中,不推荐使用 == 运算符进行字符串比较,因为其行为可能取决于具体的编译器实现,不具备一致性。综而言之,选择适当的比较方法有助于确保字符串相等性比较的正确性和可移植性。

2023-12-18 21:13:14 1276

原创 输出鞍点的行列下标题解

通过解决矩阵鞍点问题,我深刻认识到双重循环在提升个人编程能力方面的关键性作用。通过巧妙嵌套循环,我能够遍历矩阵中的每个元素,实现对二维结构的全面探索。这锻炼了我的循环设计思维,使我能够更灵活、高效地处理复杂问题。在这个过程中,我学会了合理选择循环的起始和结束条件,以确保程序正确执行。通过理解循环嵌套的控制流,我能够更好地分析问题并设计出更优雅的解决方案。同时,我注重了对性能的优化,避免不必要的重复计算,提高代码的执行效率。

2023-12-16 23:48:30 288

原创 Java StringBuffer 和 StringBuilder

在Java编程中,字符串是一种常见的数据类型,而Java提供了两个主要的类来处理字符串的可变性:StringBuffer和StringBuilder。这两个类都允许在字符串中进行动态操作,但它们在线程安全性和性能方面有一些区别。

2023-12-14 23:31:51 321

原创 Java ArrayList

ArrayList 是Java集合框架中的动态数组实现,提供了灵活的元素操作和自动扩容机制。通过常用方法如add、remove、get等,能方便地管理列表元素。支持泛型,可以存储不同类型数据。在实际开发中,ArrayList是处理动态数据集合的常用选择。

2023-12-12 20:55:17 297 1

原创 JAVA HashSet

HashSet 基于 HashMap 来实现的,是一个不允许有重复元素的集合。HashSet是Java集合框架中实现了Set接口的一个类,它使用哈希表来存储元素。元素唯一性: HashSet保证集合中的元素是唯一的,即不允许重复元素。如果试图向HashSet中添加一个已经存在的元素,该操作将被忽略。无序性: HashSet不保证元素的顺序。与List不同,HashSet不维护元素的插入顺序。如果需要有序集合,可以考虑使用LinkedHashSet,它保留了元素的插入顺序。允许null元素。

2023-12-09 21:26:38 438

原创 JAVA 字符串集合转字符串数组

学习 toArray 方法让我更灵活地处理Java编程中的集合和数组转换。理解如何正确使用该方法提高了我的代码效率和可读性。熟悉传递适当数组参数的技巧,尤其是使用 new Type[0],确保了类型一致性并降低了内存占用。同时,了解传递过大数组可能导致的问题,有助于我避免潜在的错误。toArray 的广泛应用包括API调用和数据处理,对我在Java编程水平的提升起到关键作用。toArray 是 Java 集合类中的一个方法,用于将集合转换为数组。

2023-12-07 22:31:38 624

原创 JAVA substring() 方法

调用str.substring(beginIndex)返回[beginIndex,str.length())的字符串,下标从0开始调用str.substring(beginIndex,endIndex)返回[beginIndex,endlindex)的字符串,下标从0开始通过学习Java中的方法,我对字符串处理的灵活性有了明显提升。掌握了这一方法后,我能够更方便地截取和操作字符串,尤其是在处理文本信息、解析日期或提取关键信息时。

2023-12-04 20:32:18 266

原创 杨辉三角题解

这个题不算特别难,主要是通过这个题,学会解题思路,体会思考出代码的过程。通过编程输出杨辉三角这一学习任务,我在提升思维能力和解题思路方面取得了进步。首先,这个任务要求读懂题意,掌握杨辉三角性质,促使我在转化为编程解决方案时能够清晰地思考问题,提高了思维能力。其次,在编写生成杨辉三角的程序时,我学到了如何设计出方法,这培养了我在面对问题时寻找简洁解决方案的能力。通过思考如何在循环中生成每一行的数值,我提高了对问题的分析能力。

2023-12-01 21:28:26 240 1

原创 C语言结构体

member1member2member3...tag是结构体标签member是结构体成员是变量名例如定义学生结构体int sno;int age;member1member2member3...例如定义学生结构体int sno;int age;int age;}xiaowang;//但这样声明结构体类型后,就不可再定义新的结构体变量了int sno;int age;}stu;//stu为结构体类型//定义变量。

2023-11-30 16:11:10 172

原创 MYSQL CASE WHEN语句

当condition为真时,返回对应的result,而且一旦条件为真,它将停止读取并返回结果。如果没有条件为真,它将返回 ELSE 子句中的值。如果没有ELSE部分且没有条件为真,则返回NULL。CASE WHEN有两种语法,搜索函数WHEN后面是条件,简单函数WHEN后面是值,简单函数CASE后面有列名。MySQL中的CASE WHEN语句是一种强大的条件表达式,用于在查询中进行条件判断,根据不同情况返回相应的结果。它为数据库操作提供了灵活性和可读性,使得在单个查询中可以根据不同条件动态生成结果。

2023-11-28 19:22:30 527

原创 快速排序算法

学习快速排序算法让我深刻体会到算法设计的巧妙之处。通过选择合适的基准元素,快速排序将问题拆解成规模较小的子问题,通过递归迅速达到整体有序的效果。算法的原地排序特性使其在内存利用上更为高效。我深感基准的选择对性能的重要性,这启发我在解决问题时灵活选择关键策略。总的来说,通过学习快速排序,我对算法的设计思想和效率优化有了更深刻的理解。

2023-11-24 23:19:29 219

原创 画E-R图实例

进一步熟悉了E-R图的画法,以及数据库的基本设计。注意mysql并没有交集INTERSECT关键字,这是SQL才有的,但是可以通过表连接来实现交集。对范式进一步理解,要注意第三范式3NF中的描述,每一个非主属性既不传递依赖于码,也不部分依赖于码,若所有属性都是主属性,则直接属于第三范式。逻辑结构设计,进一步熟悉了将实体间的联系转换为关系模式,要注意1对n联系,要合并该联系的话,是与n端对应的关系模式合并,如学院和学生的“隶属于”联系,是1对n,合并联系的话,则在学生关系中加入学院的码这个属性。

2023-11-23 21:14:15 294

原创 选择排序算法

选择排序思路很明了,就是选出一个最大或者最小的元素,然后与第一个元素交换位置,接着在剩下的数据中找到最小(或最大)的元素,与第二个元素交换位置,以此类推。这个过程不断地选择剩余元素中最小的,直至所有元素有序。选择排序的优点是简单易懂,实现简单,不需要额外的存储空间。然而,其缺点是效率较低,时间复杂度为O(n^2),因此在处理大量数据时不如其他高效排序算法。尽管如此,选择排序在某些场景下仍然有其应用,尤其是对于小规模数据或者初始数据基本有序的情况。学习选择排序是我编程学习过程中的一次重要经历。

2023-11-21 20:21:09 311

原创 试试手气题解

写代码要有计算机思维,灵活运用代码能高效提升编程效率。写代码需要具备计算机思维,这是一种分析和解决问题的方式,强调逻辑思维和抽象能力。计算机思维能帮助程序员将复杂问题分解成简单的步骤,并设计有效的解决方案。它要求将问题抽象成数据结构和算法,以便计算机能够理解和处理。此外,计算机思维注重细节和精确性,防范可能的错误。编写代码时,程序员需要考虑到计算机的执行过程,明确每一步的逻辑关系。总体而言,具备计算机思维的能力有助于高效编写代码,提高问题解决的效率,培养良好的代码习惯,使得程序更加可靠、可维护。

2023-11-18 21:00:40 192 1

原创 MYSQL游标实例

我对游标的使用进一步熟悉:declare continue handler for not found SET flag=1,指的是当fetch为空,flag立马自动设置为1,所以要注意在循环体中的写法,OPEN mycur;set flag=0;set result='结果:';End WHILE;

2023-11-16 21:37:22 81 1

原创 MySQL为表增加约束中文乱码问题

如前文所述,最直接的办法就是使用在客户端登录的时候mysql -u root --default-character-set utf8mb4 -p,加上这个--default-character-set utf8mb4便能解决问题。通过写MySQL语句,我深刻理解了数据库设计、查询优化和事务管理等方面的知识。通过解决实际问题,我提高了数据库性能调优和索引设计的能力,同时学到了有效管理大型数据集的方法。锻炼了我的问题解决能力,并让我更熟练地运用SQL语言。

2023-11-14 22:52:26 111

原创 最小函数依赖集

如果函数依赖集F满足下列条件,则称F为一个极小函数依赖集,亦称为最小依赖集或最小覆盖。①F中任一函数依赖的右部仅含有一个属性。②F中不存在这样的函数依赖X→A,使得F与F-{X→A}。③F中不存在这样的函数依赖X→A,X有真子集Z使得F-{X→A}∪{Z→A}与F等价。

2023-11-11 14:12:49 932 1

原创 兔子繁衍问题

通过题目,容易想到最基础的办法,构造一个链表,结点的数量即是兔子的数量,单位为对,链表中元素的值可以设定为兔子的年龄,每生出1对兔子,新建一个结点插入链表尾部,并将其年龄月份值为0,而要能生兔子,实际上是该年龄月值到达3,由此可以见,可写一个循环,遍历链表,即可,若年龄达到3,则新建结点,插入链表尾部,否则,该结点年龄值+1。写成y+x,是可以理解为,i+2个月的兔子数(对数)=上一个月(i+1月)兔子数+i月兔子数(因为i到i+2,i看成第一个月,那么i+2就是第三个月,刚好第i月的所有兔子都能生兔子)

2023-11-09 14:19:28 51 1

原创 MySQL报错 Expression #2 of SELECT list is not in GROUP BY clause and contains nonaggregated column解决方法

因为sno属性是主码,即primary key,经测试发现group by **,**为主码的属性名时,select语句中的查询列没有在group by中出现,也是允许的。红色部分可以发现sc.sno与studen.sno都没有在GROUP BY的列中,但执行语句依旧正常,因为使用了聚集函数。执行mysql语句,select 选择的列不仅仅只有sno,为什么正常输出?存书(书号,书名,出版社,版次,出版日期,作者,书价,进价,数量)现有两表Student表以及SC表(选课表)。student表结构。

2023-11-07 22:40:00 3432

原创 冒泡排序C语言

冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法。是一种稳定的排序算法,其平均时间复杂度为O比较相邻的两个元素,若当前元素比后一个元素大(或者小,取决于要按从小到大排序还是从大到小排序),则交换,这样一轮循环都会选出一个相对最大的数,放在数组末尾,重复上述操作,直到进行了n-2次排序(要排序的元素个数)。当然,一般来说,冒泡排序是从数组开始位置扫描,即下标为0,,排序好的元素放在数组左边,更重要的是,即相邻元素的比较与交换。

2023-11-05 12:21:35 43

原创 交换二维数组的两行

数组名是数组的首地址,而指针是一个变量,存储的是一个地址。数组名不能被赋值,而指针可以被赋值。而java的数组名是可以赋值的,例如想把数组a赋值给数组b,可以直接b=a;

2023-11-04 15:22:53 1374 1

原创 C语言关键字enum的说明

enum是计算机编程语言中的一种数据类型,枚举类型。在“枚举”类型的定义中列举出所有可能的取值,被说明为该“枚举”类型的变量取值不能超过定义的范围。同时枚举类型和枚举变量省略枚举名称,直接定义枚举变量使用typedef第一种第二种赋值默认情况下,第一个枚举元素的值为0,后面依次+1运行结果若把第一个枚举元素赋值为-2,后续的枚举元素会在前一个枚举元素的值上+1运行结果若把中间某一个元素改为-2运行结果如果同时赋值两个及以上元素结果如图所示总的来说,

2023-11-03 12:01:18 67

原创 大小端存储简易

对于计算机学生来说,掌握大小端存储十分重要,一些专业课多少百度百科是这样解释大小端存储的。我们可以简记如下,大端的大,联想到高字节,小端的小联想到低字节,而地址一般从低地址开始排列。

2023-11-02 22:13:58 31

原创 拓扑排序简易版

注意拓扑排序是针对。

2023-11-01 21:46:53 32

原创 最大公约数和最小公倍数

2 3。

2023-10-31 23:20:52 40

原创 分寝室题解

24 60 10。

2023-10-30 23:34:22 710

空空如也

空空如也

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

TA关注的人

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