自定义博客皮肤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)
  • 收藏
  • 关注

原创 数据库的约束

数据库约束(Constraints):数据库管理系统中用于保证数据和的规则。

2025-11-22 21:26:29 782

原创 增删改查操作

INSERT INTO 目标表名 (列1, 列2, ...) SELECT 列A, 列B, ... FROM 源表名 WHERE 条件;• NULL进⾏排序时,视为⽐任何值都⼩,升序出现在最上⾯,降序出现在最下⾯。<=>,对于NULL比较安全,NULL<=>NULL结果TRUE(1)=,对于NULL比较不安全,NULL=NULL结果NULL,SELECT DISTINCT 列名 FROM 表名;执⾏Delete时不加条件会删除整张表的数据,谨慎操作。SElECT 表达式 AS 别名 FROM 表名;

2025-11-09 18:27:25 1005

原创 数据库基础

SQL(Structured Query Language)结构化查询语言,用于管理和操作关系型数据库的标准编程语言。

2025-10-27 19:19:19 754

原创 排序(Sort)

选择排序:原址比较排序算法,在每一轮迭代中,都会在未排序的元素中找到最小(升序排序)或最大(降序排序)的元素,然后将其与未排序部分的第一个元素交换位置,逐步将未排序部分的元素减少,已排序部分的元素增加,最终完成整个数组的排序。冒泡排序:逐轮遍历数组,比较相邻元素并交换逆序对(前元素 > 后元素,升序排序时),每完成一轮遍历,至少有一个 “未归位的最大元素” 会移动到最终位置(数组末尾),因此每轮遍历的范围会逐渐缩小,直到所有元素有序。System.out.println("排序顺序的耗时:");

2025-10-03 14:57:30 615

原创 二叉树(Two-pronged tree)

完全二叉树:对于深度 为K的,有n个结点的⼆叉树,当且仅当其每⼀个结点都与深度为K的满⼆叉树中编号从0⾄n-1的结 点⼀⼀对应。NLR“PreorderTraversal”:前序遍历(先序遍历)⸺访问根结点--->根的左⼦树--->根的右⼦树。LRN“PostorderTraversal”:后序遍历⸺根的左⼦树--->根的右⼦树--->根节点。LNR“InorderTraversal”:中序遍历⸺根的左⼦树--->根节点--->根的右⼦树。2. ⼆叉树的⼦树有左右之分,次序不能颠倒,⼆叉树是有序树。

2025-09-23 15:54:54 748

原创 队列(Queue)

队列:只允许在一端进行插入数据的操作,在另一端进行删除数据的操作的特殊线性表,队列具有先进先出FIFO(First In Firs Out)- 每次入队检查end 是否与 front 重合,如果重合设置 isFull = true,表示队列已满,否则,正常入队并移动end。- 初始状态:队列为空时,front = end = 0,标志位 isFull = false。//获取头元素——获取链表中的第一个节点的值域。//入队列——向双向链表位置插入新节点。//出队列——将双向链表第一个节点删除。

2025-09-12 21:46:52 675

原创 栈(Stack)

System.out.println("栈是否为空:"+stack.empty());System.out.println("获取栈顶的元素后的栈:"+stack);System.out.println("第一次出栈后的栈:"+stack);System.out.println("栈的元素个数:"+size);输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序。栈:栈一种特殊的线性表,只允许在固定的⼀端进⾏插⼊和删除元素操作。出栈:栈的删除操作,出数据在栈顶。

2025-09-06 14:24:32 561

原创 链表(LinkedList)

System.out.println("下标位置不合法:"+index);System.out.println("下标位置不合法:"+index);//只有一个节点的情况下。//只有一个节点的情况下。//只有一个节点的情况下。//只有一个节点的情况下。// 查找是否包含关键字 key 是否在单链表当中。// 查找是否包含关键字 key 是否在单链表当中。// 任意位置插入,第一个数据节点为 0 号下标。// 任意位置插入,第一个数据节点为 0 号下标。

2025-08-29 11:22:43 889

原创 顺序表(ArrayList)

1. ArrayList 是泛型实现的,使用前需实例化2. 实现了 RandomAccess 接口,支持随机访问3. 实现了 Cloneable 接口,支持克隆4. 实现了 Serializable 接口,支持序列化5. 与 Vector 不同,ArrayList 非线程安全,单线程可用,多线程可选择 Vector 或 CopyOnWriteArrayList6. 底层是连续空间,支持动态扩容,是动态顺序表。

2025-08-23 12:45:00 631

原创 数据结构初始知识

O(1) O(logN)"2为底" O(N) O(n*logN) O(N^2)类型擦除:编译时,Java编译器将泛型类型信息从代码中擦除,擦处后,泛型类型替换为边界类型/指定类型。空间复杂度(空间效率):衡量⼀ 个算法所需要的额外空间,算法在运⾏过程中临时占⽤存储空间⼤⼩的量度。算法:对特定问题求解步骤的一种描述,是为解决一个或一类问题给出的一个确定的、有限长的操作序列。// 实例化⼀个泛型类对象。时间复杂度(时间效率):衡量的是⼀个算法的运⾏速度,,算法中的基本操作的执⾏次数。

2025-08-17 12:30:00 804

原创 异常(Exception)

if (!System.out.println("⽤户名错误!");return;if (!System.out.println(" 密码错误!");return;System.out.println(" 登陆成功 ");if (!throw new UserNameException("⽤户名错误!");if (!throw new PassWordException("⽤户名错误!");System.out.println(" 登陆成功");try {

2025-08-12 14:45:00 1802

原创 字符串(String类)

System.out.println("所有字符串替换:"+s1.replaceAll("aaaccc", "dddeee"));//前k个字符完全相同,输出⻓度差值-3。System.out.println("从第一个字符串开始替换:"+s.replaceFirst("aaa", "ccc"));System.out.println("字符串的替换:" + s.replace("aaa", "AAA"));1. 字符"|"、"*"、"+"都得加上转义字符,前面加上 "\\\" 同理上述示例的点号。

2025-08-07 14:30:00 787

原创 抽象类与接口

System.out.println("修改money前的结果:");System.out.println("修改money后的结果:");System.out.println("修改money前的结果:");System.out.println("修改money后的结果:");System.out.println(name+"正在奔跑!System.out.println(name+"正在奔跑!System.out.println(name+"正在奔跑!

2025-08-02 14:30:00 910

原创 多态(Polymorphism)

System.out.println("未知动物类型: " + type);System.out.println(name+"正在吃狗粮!System.out.println(name+"正在吃狗粮!System.out.println(name+"正在吃狗粮!System.out.println(name+"正在吃猫粮!System.out.println(name+"正在吃狗粮!System.out.println(name+"正在吃猫粮!System.out.println(name+"正在吃狗粮!

2025-07-28 14:32:50 688

原创 继承(Inheritance)

System.out.println("Derive的a="+a);System.out.println("Derive的b="+b);System.out.println("Derive的c="+c);System.out.println("Derive的a="+a);System.out.println("Derive的b="+b);System.out.println("Derive的c="+c);System.out.println("Derive的a="+a);

2025-07-23 15:26:43 711

原创 类与对象(二)

面向程序的三大特性:封装、继承、多态封装:通过将数据(属性)和操作数据的方法(行为)绑定在一起,隐藏内部实现细节,仅对外提供可控的访问接口。

2025-07-18 14:45:50 16575

原创 类与对象(一)

类:对一个实体(对象)进行描述的,描述实体(对象)的属性、功能类是对象的模板,对象是类的实例定义一个类,计算机中定义了一个新的类型//属性/成员变量/字段(field)//行为/成员方法class定义类的关键字类中包含的内容称为类的成员Class{//注意:类名大驼峰定义System.out.println("吃饭");System.out.println("睡觉");System.out.println("玩耍");注意:一般一个文件只定义一个类。

2025-07-14 19:38:41 565

原创 数组(Java)

数据类型 [ ][ ] 数组名称 = new 数据类型 [ ⾏数 ][ 列数 ] { 初始化数据 };arr.length 代表⼆维数组的⾏数 arr[row].length 代表⼆维数组的列数。System.out.println("main中的"+arr[0]);System.out.println("main中的"+num);System.out.println("f1中的"+a[0]);数组类型:数组类型[ ] 数组名。

2025-07-08 22:04:25 1005

原创 方法的使用

swap方法中的a、b形参在swap的栈中,main方法中的x、y实参在main的栈中,两队参数无任何关系,只是调用swap是临时拷贝了值,形参作为。//10是实参,方法调用,n=10。2.参数列表必须不同(参数的个数不同、参数的类型不同、类型的次序必须不同)System.out.println("闰年");总结:如果⽅法有返回值,需要接收返回值结果,否则将出现调用后不会输出。Java中,方法必须在类当中,方法不能嵌套定义,方法没有声明。方法重载:在Java中,如果多个⽅法的名字相同,参数列表不同。

2025-07-03 15:32:53 584

原创 初始Java

public static void main通过main+enter快捷输出System.out.println通过sout+enter快捷输出1.源⽂件(扩展名为*.java):源⽂件带有类的定义,类⽤来表⽰程序的⼀个组件,⼩程序或许只会有 ⼀个类。类的内容必须包含在花括号⾥⾯2.类:类中带有⼀个或多个⽅法,⽅法必须在类的内部声明3.⽅法:在⽅法的花括号中编写⽅法应该执⾏的语句类存在于源⽂件⾥⾯;⽅法存在于类中;语句存在于⽅法中。

2025-06-30 17:24:35 780

原创 函数的递归

递归调用时,每次调用都会生成一个新的栈帧。若递归层次过深(如未设置终止条件或条件不合理),栈帧会持续累积,占用大量栈空间,超出栈的容量时,会导致。在递归的过程中会有重复计 算,⽽且递归层次越深,冗余计算就会越多。递归存在限制条件,当满⾜这个限制条件的时候,递归便不再继续。每次递归调⽤之后越来越接近这个限制条件。(2)顺序打印⼀个整数的每⼀位。迭代的⽅式——循环的⽅式。

2025-05-31 13:16:39 494

原创 函数(Function)

static修饰局部变量改变了变量的⽣命周期本质是改变变量的存储类型,本 来⼀个局部变量是存储在内存的栈区的,但是被 static 修饰后存储到了静态区,存储在静态区的变 量和全局变量是⼀样的,⽣命周期就和程序的⽣命周期⼀样了,只有程序结束,变量才销毁,内存才 回收,但是作⽤域不变的。作⽤域(scope)⼀段程序代码中所⽤到的名字并不总是有效(可⽤) 的,⽽限定这个名字的可⽤性的代码范围就是这个名字的作⽤域。⼀般情况下,函数的声明、类型的声明放在头⽂件(.h)中,函数的实现放在源⽂件(.c)⽂件中。

2025-05-24 09:53:01 463

原创 数组(Array)

/省略行但不省略列的初始化。//按照行的不完全初始化。C语言规定数组下标从0开始的,数组的n个元素,元素最后一个下标n-1。随着下标的增长,地址是由小到大变换的,且数组在内存中的存储是连续的。数组[常量值1]表示行,[常量值2]表示列。二维数组的每个元素也是连续存放的。数组:一组相同类型元素的集合。

2025-05-17 15:52:49 900

原创 猜数字游戏

rand函数会返回⼀个伪随机数,,伪随机数不是真正 的随机数,是通过某种算法⽣成的随机数,and函 数是对⼀个叫“种⼦”(默认1)的基准值进⾏运算⽣成的随机数。printf("注意电脑将在1分钟后之后关机,输入exit,取消关机\n");printf("-----------菜单-------------\n");printf("-----------菜单-------------\n");

2025-05-10 20:35:07 626

原创 循环语句——while、for与do while

do while 循环则是先直接进⼊循环体,执⾏循环语句,然后再执⾏while后的判断表达式为,表达式为真,会进⾏下⼀次循环,表达式为假,则不再继续循环。推论:要判断i是否为质数,只需要检查从2到√i之间的整数是否能整除i即可,如果在2到√i之间找不到能整除i的数,那么在√i到i-1之间也一定找不到。判断n=5,遇到break就结束,直接打印0,1,2,3,4。判断i=5,遇到break就结束,直接打印0,1,2,3,4。判断n=5,遇到break结束,直接打印0,1,2,3,4。for( 表达式 1;

2025-05-03 21:07:17 655

原创 分支语句——if与switch

代码排版:else 和第⼀个 if 语句对⻬,语句不成⽴的时候,执⾏ haha,但 else 总是是和最近if匹配的, 但if...else 语句是嵌套在第⼀个 成⽴,嵌套 if 和 else 是和第⼆个 if 语句中的,如果第⼀个 if 语句就不 else 就没机会执⾏了,最终都不打印。先使用a=0后++,虽a=1,a++部分结果为假,||继续判断++b的结果3为真,后面的结果不须计算,a=1,b=3,c=3,d=4。表达式为真,则语句执行,表达式为假,则语句不执行,在C语⾔中,0为假,⾮0表⽰真。

2025-05-02 20:01:27 735

原创 操作符解释

二进制转为十六进制以0x开头的数字,会被当作十六进制,从二进制序列中右边低位开始向左每4个二进制位换算一个十六进制位,剩余不够的4个2进制位直接换算。二进制转为八进制,0开头的数字,会被当作八进制,从二进制序列中右边低位开始向左每3个二进制位换算一个八进制位,剩余不够的3个2进制位直接换算。二进制中,最高位是符号位,剩余的为数值位(0为正1为负)负数反码:原码的符号位不变,其他的按位取反得到反码。&按位与:数值中有一个0就为0,数值均为1才为1。|按位或:数值中有一个1就为1,数值均为0才为0。

2025-04-28 20:51:19 1030

原创 C语言常见的概念

sizeof 的计算结果是 size_t 类型的,⽤来统⼀表⽰ sizeof 的返回值类型,对应当前系统的sizeof 的返回值类型, unsigned int 或 unsigned long long。//x30 中的 30 是 16 进制,转换成 10 进制是 48 ,以 48 作为 ASCII 码值 的字符是 '0'除 %c 以外,都会⾃动忽略起⾸的空⽩字符,强制跳过字符前的空⽩字符,可以写成 scanf(" %c", &ch)char ch1[] = { 'a','b','c' };

2025-04-24 19:47:49 756

空空如也

空空如也

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

TA关注的人

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