自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 JAVA中枚举类详解

综上所述,每一个枚举常量就相当于枚举类的一个实例,不同的枚举常量通过传递不同的参数调同一个方法输出相同格式的结果。// 输出 "200: Success"在JAVA中,所定义的枚举类应该首先定义一个或几个枚举常量,这些枚举常量就是对枚举类的实例化。所以这就是为什么要在首先定义枚举常量了,通过枚举常量我们才能访问枚举类中所定义的一些变量或方法。如果我们定义了有参构造方法,枚举常量也应该传递相应的参数。

2025-04-18 20:53:38 63

原创 包装类的作用,装箱和拆箱及其意义

拆箱:是将包装类对象转换为基本数据类型的过程。- 装箱:是将基本数据类型转换为对应的包装类对象的过程。- 提供了一些实用的方法:每个包装类都提供了一些有用的方法,例如 Integer 类的 parseInt() 方法可以将字符串解析为整数, Double 类的 valueOf() 方法可以将字符串转换为串转换为双精度浮点数等。- 将基本数据类型视为对象:在Java中,很多地方需要使用对象,如集合框架中只能存储对象,使用包装类可以将基本数据类型包装成对象,以便在这些场景中使用。

2025-04-09 08:15:01 218

原创 try-catch-finally执行顺序

如果有匹配的 catch 代码块(即 catch 代码块捕获的异常类型与实际抛出的异常类型一致或者是其超类),则执行该 catch 代码块中的代码。执行完 catch 代码块后,无论 catch 代码块中是否有 return 语句,都会接着执行 finally 代码块中的代码。如果在 try 代码块中没有发生异常, try 代码块中的代码会正常执行完毕,接着会执行 finally 代码块中的代码。在异常抛出之前, finally 代码块仍然会被执行。

2025-04-09 08:10:26 178

原创 JAVA中的四种内部类

例如,在一个方法中,根据不同的参数值创建不同的匿名内部类对象来实现不同的功能,而这些对象都可以通过相同的接口或父类类型进行统一处理,进一步体现了多态的优势。比如,当一个类的内部有多个相互关联的静态类,且这些静态类需要有一定的封装性和独立性时,就可以使用静态内部类。匿名内部类是Java中一种特殊的内部类,它没有显式的类名,并且通常是在需要使用某个类的实例的地方直接定义并创建。- 外部类可以通过静态内部类的类名直接访问静态内部类的静态成员,也可以通过创建静态内部类的对象来访问其非静态成员。

2025-04-05 18:45:33 420

原创 JAVA中的多态特性

父类的引用可以指向子类的对象,通过这个父类引用调用方法时,会调用子类中重写后的方法。,其中 Parent 是父类, Child 是子类,当调用 p 的方法时,如果 Child 类重写了该方法,就会执行 Child 类中的方法。通过接口的引用可以指向不同的实现类对象,在调用接口方法时,会根据实际指向的对象类型来执行相应实现类中的方法。- 子类重写父类的方法,即子类中定义了与父类中方法签名(方法名、参数列表、返回类型)完全相同的方法。在运行时,根据对象的实际类型来决定调用哪个类的重写方法。

2025-04-04 23:16:11 111

原创 Java中的封装,继承和多态

在这三种特性中,对this和super的使用十分重要,this主要是访问本类中的属性和方法,super主要是访问父类中的属性和方法,仔细来说,①(子类构造器中默认有此方法)super()访问父类中的无参构造器,如果没有,要给super传递参数访问父类中的有参构造器②可以访问父类中与子类重名的属性或重写的方法,总之在重载和重写中要善于利用super和this。多态 ①向上转型,将子类对象转换为父类类型,是自动进行的,因为子类是父类的一种特殊类型,所以可以安全地将子类对象赋值给父类变量。

2025-03-22 15:21:54 177

原创 快速排序要点

2. 次函数找枢轴位置,要排序的数和枢轴数据进行比较,不断替换位置,直到low = high.1. 主函数利用递归不断执行找枢轴的操作,进行此操作的同时,对数据进行排序。快速排序只要注意两个方面。

2025-03-06 17:11:48 101

原创 Java中常用的array函数

如 int[] arr = {1, 2, 3, 4, 5};,会复制 arr 中索引从 1 (包含)到 4 (不包含)的元素,即 {2, 3, 4}。如 int[] arr = {1, 2, 3, 4, 5};如 int[] arr = {5, 3, 1, 4, 2};,会将数组 arr 按升序排列为 [1, 2, 3, 4, 5]。如 String[] arr = {"a", "b", "c"};

2025-03-03 08:35:42 275

原创 插入排序(折半插入和希尔排序)

利用for循环依次设立一个哨兵放入数组r[0],接下来就是利用二分法进行查找,每次查找让r[0]与中间数值r[mid]进行比较,最后可以用low或high+1来表示r[0]要插入的位置,因为我们找到high这个位置时,其后面的数据要依次往后移(插入操作),把r[0]放在high+1的位置刚好合适,此时low = high+1。

2025-03-02 13:43:12 193

原创 解引用操作符*

当对指针进行加法运算时,如 arr + 1 ,指针移动的字节数取决于指针所指向的数据类型的大小。- 数组指针:定义一个指向数组的指针 int (*p)[5] ,当 p 指向一个 int 类型的数组时, *p 得到的是整个数组,在表达式中数组会退化为指向首元素的指针,所以此时 *p 相当于得到了数组的首地址。对 arr + 1 进行解引用 *(arr + 1) ,根据数组名与指针的关系,数组的行名也会转换为指向该行首元素的指针,所以 *(arr + 1) 得到的是第二行的首元素地址,而不是第二行首元素的值。

2025-01-21 14:56:26 305

原创 在c语言中,在不同类型的变量中,其加1的区别

arr 是指向 int 的指针, arr + 1 指向 arr[1] ,偏移量为一个 int 的大小。, arr 是指向包含4个 int 元素的一维数组的指针, arr + 1 会跳过一行4个 int 元素,偏移量为4倍 int 大小。- 指向基本数据类型的指针: 如 int 、 char 、 float 等,指针加1时,地址会根据所指类型的大小进行偏移。- 指向函数的指针:函数指针指向函数的入口地址,加1操作无实际意义,C语言标准未对其定义具体行为,可能导致程序错误或未定义的行为。

2025-01-21 00:24:07 363

原创 对数组名不同操作下的区别

对于 int arr2[3][4] , arr2 是一个指向包含4个 int 元素的一维数组的指针。如果要访问元素,像 arr2[i][j] ( i 是行索引, j 是列索引)。在一些运算和传参场景下,这种指针性质的差异会导致它们的行为有所不同。例如,在函数参数传递时,一维数组名作为参数会退化为指针,而二维数组名作为参数,需要正确指定第二维的大小才能正确传递。可以用它来访问数组元素,像 arr[i] ( i 是索引)。arr为首元素的地址,&arr[0]也为首元素地址,&arr为整个数组的地址。

2025-01-12 14:44:40 220

原创 指针详解

3. 指针在数组中的应用。1. 指针的详细概念。2. 解应用操作符*

2025-01-12 12:55:36 527

原创 算术转化基础知识

a + b ,b会被转换为无符号整数,然后再相加,这可能会导致意外的结果,因为-5在无符号数表示下是一个很大的值。- 在两个不同精度的同类型操作数(如float和double)进行运算时,较低精度的操作数会转换为较高精度的操作数。- 如果一个操作数是浮点数,另一个是整数,整数会被转换为浮点数,运算将以浮点数的规则进行。在表达式中,比 int 小的类型会先转换成 int再计算,然后再将结果转化为原有的类型。在C语言中,算术转换是指在进行算术运算时,编译器会将不同类型的操作数转换成同一类型,然后再进行运算。

2024-11-26 20:27:10 478

原创 字符读取时遇到的问题

下一次循环:继续读取下一个字符,重复上述判断过程,直到 getchar 读取到 \n ,此时循环条件 (ch = getchar())!= '\n' 不成立,循环结束,从而将输入缓冲区中的字符一直读取到换行符为止,也就相当于把 \n 以及它之前可能遗留的其他不需要的字符都处理掉了。- 当 scanf 读取某些格式的数据时,它的行为是不同的。- 当用户输入“123\n”后, scanf 读取“123”, getchar 会读取 \n ,然后程序打印出 getchar 读取的 \n 字符。

2024-11-26 11:28:39 545

原创 P,P->next,P->data的区别以及相应的应用

3. 当说“通过 P 所指向节点中的 next 指针来引用”时,就是指可以使用 P->next 这种表达式来获取下一个节点的地址,然后可以对下一个节点进行各种操作,比如读取下一个节点的数据( (P->next)->data )或者继续通过下一个节点的 next 指针找到再下一个节点等。- 在删除节点时,需要将当前节点的 next 指针赋值给前一个节点的 next 指针,以跳过要删除的节点。来获取当前节点的数据值。- 表示当前节点(由 P 所指向的节点)的下一个节点的地址。

2024-10-13 11:43:10 1010

空空如也

空空如也

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

TA关注的人

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