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

原创 小白学习笔记(泛型)

泛型只能用引用类型充当,不能使用基本数据类型。

2025-11-30 14:45:05 141

原创 小白学习笔记(Java集合框架)

1.内存层面需要针对多个数据进行存储,此时,可以考虑的容器有:数组,集合类Collection:retainAll方法是:保留原集合和coll的交集方法测试:上面剩的一个方法:Iterator:用于遍历集合增强for循环:流程:从要遍历的数组或集合中,轮流把数组或集合的元素赋给临时变量,然后操作临时变量输出List接口常用方法测试:方法测试:List不同实现类的对比以及练习:练习1:练习2:方法:测试:Set不同实现类的对比:Set中无序性和不可重复性的理解:Tre

2025-11-30 14:43:22 283

原创 小白学习笔记(常用类和基础API)

可以看到,对StringBuffer和StringBuilder类已创建的对象使用方法时,会对已创建的对象进行修改,这就是StringBuffer和StringBuilder的可变性。从底层代码上看StringBuffer和StringBuilderB并没有什么太大的区别,就是因为StringBuffer()是线程安全的,意思就是说:假设如果想改变某个字符串变量,就要重新在内存中开辟一个位置去保存修改后的字符串,不能在原来的位置修改。情况1中的常量:可能是字面量,也可能是final修饰的常量。

2025-11-25 16:46:12 276

原创 小白学习笔记(Java多线程)

实现类的用方式二就是把上面方式一中while()中的代码完全声明在一个方法中,然后再重写的run()方法中调用这个方法。第二个注意点就是三个方法的调用者要和监视器一样(就是synchronized()括号里的)只是从概率上说,高优先级的会抢占低优先级的cpu,不是高优先级就一定比低优先级要先执行。第一个注意点就是说三个方法都要在synchronized修饰的代码块或方法中使用。线程的创建方式之一:继承Thread类。线程:运行中的进程的一条或多条执行路径。start:有两个作用:1:开启线程。

2025-11-20 19:10:34 180

原创 小白学习笔记(Java异常处理)

子类重写的方法抛出的异常类型可以与父类被重写的方法抛出的异常类型相同,或是父类被重写的方法抛出的异常类型的子类。子类重写父类抛出异常的方法,不能抛出比父类更高级别的异常类,只能抛出和父类一样的异常类,或者是父类异常类的子类。抛到main方法中就到头了,不能再往上throws,必须再main里try-catch。方式一:捕获异常(try-catch-fianlly)4.方法的重写的要求(针对编译时的异常来说)方式一:try-catch-finally。方式二:throws+异常类型。

2025-11-20 19:08:30 84

原创 小白学习笔记(Java面向对象高级)

static关键字修饰属性,方法:梗概:用static修饰的属性在整个类中只有一份,也叫类变量,随着类的创建而创建,随着类的消亡而消亡static的使用:static修饰属性:用static修饰的成员变量(实例变量),在类中只有一份;不用static修饰的成员变量,每个对象各有一份c1和c2,共用nation这个类变量,只要一个给nation赋了值,另一个也会被影响对比静态变量(类变量)和实例变量(属性):举例的内存解析:static修饰方法(类方法,静态方法):staticthis。

2025-11-16 16:49:24 526

原创 小白学习笔记(Java面向对象进阶)

一般情况下,我们可以考虑省略“super.”的结构,但是,如果出现子类重写了父类的方法或子父类中出现了同名的属性时(不过实际开发中要避免这种情况的出现),则必须使用“super.”的声明,显示的调用父类被重写方法或父类中声明的同名的属性。父类被重写的方法的返回值类型是引用数据类型(比如类),则子类重写的方法的返回值类型可以与被重写的方法的返回值类型相同,或是被重写方法的返回值的子类。4.子类重写的方法抛出的异常类型可以与父类被重写的方法抛出的异常类型相同,或是父类被重写的方法抛出的异常的子类。

2025-11-11 15:56:55 615

原创 小白学习笔记(面向对象(基础篇))

当元素是引用数据类型中的类( 类(class),数组(array),接口(interface),枚举(enum),注解(annotation), 记录(record))时,我们称为对象数组。说明:创建类的多个对象时,每个对象在对空间中有一个对象实体,每个对象实体中保存着一分类的属性,如果修改某一个对象的某个属性值时,不会影响其他对象此属性的值。7.同一个包名下可以声明多个结构(类,语句),但是不能定义同名的结构(类,接口),不同的包下可以定义同名的结构(类,接口)此时,我们就可以使用可变个数形参的方式。

2025-11-05 18:51:51 428

原创 小白学习笔记(Java数组)

kn,这样的一种操作被称为排序。4.递归的最底部的情形,是数列的大小是零或一,也就是永远都已经被排序好了,虽然一直递归下去,但是这个算法总会结束,因为在每次的迭代中,他至少会把一个元素摆到它最后的位置去。4.递归的最底部的情形,是数列的大小是零或一,也就是永远都已经被排序好了,虽然一直递归下去,但是这个算法总会结束,因为在每次的迭代中,他至少会把一个元素摆到它最后的位置去。数组的索引,表示了数组元素距离首地址元素的偏移量,因为第一个元素的地址与首地址相同,所以偏移量为0,所以从0开始。

2025-10-30 15:33:01 693

原创 小白学习笔记(结构体)

上例中,name属性变成了一个字符指针,这时a赋值给b,此时b变量仍然是新开辟的内存空间,但是,a和b的name成员保存的指针相同,也就是说两个属性共享一个BWM。node4的指针指向node3,node3的指针指向2,2的指针指向1,1的指针指向NULL值,由此可以得到一个单链表,并且通过node3可以遍历整个列表。结构体的成员可以是基本数据类型,也可以是数组,指针,结构体等,如果结构体的成员是另一个结构体,这就构成了结构体嵌套。也就是说,结构体的复制是将结构体变量完全复制一份,给新的结构体变量。

2025-10-19 19:05:34 825

原创 小白学习笔记(函数)

一个函数本身就是一段内存里面的代码,也会占用一段连续的空间,这段空间也有首地址,把函数的这个首地址(或称入口地址)赋予一个指针变量,是指针变量指向函数所在的内存区域,然后通过指针变量就可以找到并调用这个函数,这种指针就是函数指针。2.用函数名调用函数,只能调用所指定的一个函数,而通过指针变量调用函数就比较灵活,可以根据不同情况先后调用不同的函数(可以用在赋值操作这一步,以上述例子为例,可以在赋值时,可以把别的函数的地址赋值给pointer)其他函数中使用exit函数,就是终止整个程序的运行,没有别的作用。

2025-10-17 11:21:06 504

原创 学习笔记(指针与数组)

指向数组元素的指针变量也可以带下标,如p[i].p[i]被处理成*(p +i),如果p是指向一个整形数组的元素a[0],则p[i]代表a[i],但要搞清楚p当前值是什么,比如p指向a[3],则p[2]代表的是a[5]一个字符数组,因为他有确定的内存地址,所以字符数组名是一个常量,而定义一个字符指针变量时,它在指向某个确定的字符串数据的情况下,也可以多次赋值。注意:此时定义的是一个指针变量,并非是一个指针数组。2.*(p + i)或*(a + i)是p + i或a + i所指的元素的值,即a[i]的值。

2025-10-12 19:00:40 641

原创 【无标题】小白学习笔记(指针)

二级指针(多重指针):一个指针p1记录一个变量的地址,由于指针p1也是变量,那么也会有地址,那p1的地址就可以用另一个指针变量p2表示,则p2就是二级指针。指针变量:一个变量专门用来存放另一变量在内存中数据的地址(即指针),则他被称为“指针变量”,我们可以通过访问指针变量达到访问内存中另一个数据的目的(有时为了方便直接将指针变量称为指针)指针间的比较运算,比如:==,!指针变量在定义时,如果未初始化,其值就是随机的,此时操作指针就是去访问一个不确定的地址,所以结果是不可知的,此时指针就是野指针。

2025-10-10 17:02:12 899

原创 小白学习笔记(数组)

多维数组也可以使用单层大括号赋值,不管数组有多少维度,在内存里都是线性存储,对于a[2][2]来说,a[0][0]后面是a[0][1],再后面是a[1][0],以此类推。数组,是指多个相同类型的数据,按一定顺序排列的集合,并使用一个名字命名,并通过编号的方式对这些数据进行统一管理。2.创建数组对象会在内存中开辟一整块连续的空间,占据的空间的大小,取决于数组的长度和数组中元素的类型。对数组部分元素赋初值,如果大括号里面的值,少于数组的元素数量,那么未赋值的元素自动初始化为0。

2025-10-01 21:10:52 531

原创 小白学习笔记(流程控制结束)

因此这段代码会实现无限循环。do-while是while的变体,它会先执行一次循环体,然后再判断是否满足条件,如果满足的话,就继续执行循环体,否则跳出循环。do-while是while的变体,它会先执行一次循环体,然后再判断是否满足条件,如果满足的话,就继续执行循环体,否则跳出循环。但在for外不可以使用括号内部的初始化部分,想使用的话只能在循环外定义一个变量,并且初始化部分使用这个变量。但在for外不可以使用括号内部的初始化部分,想使用的话只能在循环外定义一个变量,并且初始化部分使用这个变量。

2025-09-30 10:14:06 717

原创 小白学习笔记(接前文)

注意:观察语句块后是否有break,如果有,在找到真语句块后,直接跳出分支,只输出该一个语句;如果没有,则输出包括该真语句及后面的所有语句块(包括default)(也称为case穿透)结束循环的情况:情况1:循环条件部分为假,导致循环结束情况2:满足某个条件的情况下,执行break(开发中,如果循环不能正常结束,就陷入死循环,要避免死循环)要素:初始化部分(只执行一次),循环部分(一定是布尔类型的结果),循环体部分(即为要反复执行的代码),迭代部分(相关代码会更新,迭代)执行过程:1234,234,……

2025-09-25 22:38:01 129

原创 小白学习笔记(接前文)

流程控制结构:顺序结构:从上到下,逐行执行分支结构:根据条件,选择性的执行某处代码,有if-else和switch-case两种分支语句循环结构:有for,while,do-while三种循环语句if-else:单分支:if(表达式){语句块;}(当语句块为真时,执行)双分支:if(条件表达式){语句块;}else{语句块;}(如果为真,执行1;为假,执行2)多重分支:if(表达式1){语句块1;}else if(表达式2){语句块2;…………

2025-09-22 22:34:56 179

原创 小白学习笔记(接前文)

>(二进制右移,将一个数的各二进制位全部右移指定位置,正数左补0,负数左补1,右边丢弃)<<(二进制左移,将一个数的各二进制位全部左移指定位置,左边的二进制位丢弃,右边补零)运算规则:在一定范围内,数据每向左移动1位,相当于原数据*2(正负数都适用)^(按位异或,两个二进制位一个为0,一个为1,结果为1,否则为0)~(按位取反,将每一个二进制位变成相反值,即0变1,1变0)|(两个二进制位只要有一个为1,结果为1,否则为0)&(两个二进制位都为1,结果为1,否则为0)比如:1 & 1结果为1。

2025-09-21 22:55:00 81

原创 小白学习笔记(运算符与流程控制)

(大于),>=(大于等于),<(小于),<=(小于等于),!=(不等于),==(等于)(=是赋值,不是等于)*比较运算的结果只有两个取值,要么是真(非0表示,默认使用1),要么是假(0表示)则n2=11,n3 =11(先n2加1,再把加过后的值给n3)||:当a为真时,因为a || b结果必定为1,所以不再执行b。一元(单目)运算符:+,-,++,--,!改:前面全不动,i=f=l=d=20.0/3。比较运算符:>,<,>=,<=,==,!逻辑运算符:&&,||,!位运算符:&,|,~,<<,>>

2025-09-20 22:34:54 266

原创 小白学习笔记(接上节变量)

scanf()是格式输出函数,可接收任意类型的函数;格式:scanf("格式控制字符",参数地址列表),比如:scanf("%d%d%d",&a,&b,&c)scanf()的作用:把从键盘上输入的数据根据找到的地址存入内存中,即给变量赋值。*:如果是char类型,short类型之间做运算,运算的结果是int类型。十六进制:满十六进一,以0x或0X开头表示,此处的a-f不区分大小写。情况2:宽类型转化为窄类型会警报,为了避免警报,要采用强制类型转化。显示的将宽类型转化为窄类型,需要用强制符号:()

2025-09-19 21:54:16 203

原创 小白学习记录(变量与进制)

数据类型1:基本数据类型:整形【短整型(short),整形(int),长整型(long)】,浮点型,字符型(char-) 2:构造类型:数组,结构体,共用体,枚举类。char类型中的每一个字符对应着一个ASCII码,因为ASCII码是一个数值,所以char类型的变量可以参与加减乘除运算。3:习惯上,所有宏定义,常量,枚举常量全用大写字母命名,用下划线分割单词。变量的分类:可以按“数据类型”分类,也可以按“申明的位置“分类。关于后缀:声明long类型变量时,可以以后缀“l”和“L”结尾。

2025-09-16 22:34:46 245

原创 小白学习笔记

限定小数位数: printf("float is %f\n",12.3);显示正负号: printf("num is %-5d\n",-123);改为左对齐: printf("num is %-5d\n",123);输出为:num is 123。

2025-09-14 21:59:17 188

空空如也

空空如也

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

TA关注的人

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