自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 操作数组的工具类

它里面的每一个方法基本上都是static静态修饰的,如果想要调用里面的方法,不需要创建对象,直接用类名.就可以了。

2025-04-09 21:35:36 807

原创 告别循环!用Stream优雅处理集合

也叫Stream流,是jdk8新增的一套API(java.util.stream.*)可以用于操作集合或者数组的数据。优势:Stream流大量的结合了Lambda语法的风格编程,提供了一种更加强大,更加简单的方式操作或者数组中的数据,代码更简洁,可读性更好。

2025-04-08 22:56:38 850

原创 Java时间处理入门:从老Date到新LocalDate

用Instant.now()获取当前时间对象,再用时间对象调用atZone方法,因为atZone方法不是静态的,我们只能用对象去调用。原子钟:利用铯原子的震动的频率计算出来的时间,作为世界标准时间(UTC)9,192,631,720次 = 1秒。3.获取到时间的毫秒值之后,我们可以对时间进行计算操作,接着在此基础上我们要加上一年的毫秒值即可。Calendar代表了系统当前时间的日历对象,可以单独修改,获取时间中的年月日。会把时间中的纪元,年,月,日,时,分,秒,星期,等等的都放在一个数组当中。

2025-03-05 10:28:10 608

原创 认识接口和适配器设计模式

接口用关键字interface来定义public interface 接口名{}接口不能实例化(创建对象)接口和类之间是实现关系,通过implements关键字表示public class 类名 implements 接口名 {}作用:解决接口升级问题public default 返回值类型 方法名(参数列表){}范例接口默认方法的注意事项默认方法不是抽象方法,所以不强制被重写,但是如果被重写,重写的时候去掉default关键字。代码演示创建一个接口,包含默认方法和抽象方法。

2025-01-26 19:52:59 998

原创 抽象类和抽象方法

public abstact 返回值类型 方法名(参数列表);public abstract class 类名{}抽象类和抽象方法的注意事项抽象类不能实例化(创建对象)我们先创建了一个抽象类进行测试,在测试类中尝试创建对象,明显代码显示错误。//创建对象抽象类中不一定有抽象方法,有抽象方法一定是抽象类我们将抽象方法注释掉,在抽象类中创建了一个有方法体的方法,代码没报错。但是如果把抽象类中的abstract删掉,那么抽象方法在里面就会报错。可以构造方法//可以构造方法。

2025-01-23 22:52:57 598

原创 Java升级版的学生成长管理系统

为了学生管理系统书写一个登录、注册、忘记密码的功能。只有用户登录成功之后,才能进入学生管理系统中进行增删查改操作。

2025-01-22 23:31:59 985

原创 Java简易版的学生成长管理系统

采取控制台的方式去书写学生成长管理系统。

2025-01-11 15:36:42 526

原创 自定义类型:结构体

4.如果嵌套了结构体的情况,嵌套的结构体成员对齐到自己的成员中最大对齐数的整数倍处,结构体的整数大小就是所有最大对齐数(含嵌套结构体中成员的对齐数)的整数倍。显然不行,因为Node是对前面的结构体类型的重命名产生的,但是在匿名结构体内部提前使用Node类型来创建成员变量,这是不行的。要想知道S4结构体总大小,就要先知道S3里面的最大对齐8,S3对齐数到8的倍数就行,S3的总体(结构)为16,输出:32。3.对齐数总大小为最大对齐数(结构体中每个变量成员都有一个对齐数,所有对齐数中最大的)的整数倍。

2024-12-16 23:31:20 830

原创 C语言内存函数

函数memcpy从source的位置开始向后复制num个字节的数据到destination指定的内存位置。这个函数在遇到‘\0’的时候并不会停下来如果source和destination有任何的重叠,复制的结果都是未定义的。多余的空间用0补齐重叠的情况:arr+2:首元素地址向后移动两个元素,3,4会被1,2覆盖对于重叠的内存,交给memmove来处理memcpy函数的模拟实现memcpy函数拷贝结束之后,会返回目标空间的起始地址void*的指针什么地址都能接收。

2024-05-20 10:29:19 344

原创 认识指针(4)

如果你把函数的指针(地址)作为参数传给另一个函数,当这个指针被用来调用其 所指向的函数,被调用的函数就是回调函数。回调函数不是由该函数的实现方直接调用,而是在待定的事件或条件发生时有另外的一方调用的,用于对该事件或条件进行响应。两个整数可以直接使用(大于号,小于号)比较,但是两个字符串,结构体不能使用(大于号,小于号)比较。对于重复的代码,虽然执行计算的逻辑是有区别的,但是输入输出是多余的,可以进行适当的简化。void*base:指针,指向的是待排序的数组的第一个元素。库函数:底层使用的是快速排序的方式。

2024-05-15 15:08:31 229

原创 字符函数与字符串函数

在编程的过程中,我们经常要处理字符和字符串,为了方便操作字符和字符串,C语言标准库提供了一系列库函数。

2024-04-11 15:38:28 900

原创 认识指针(3)

补充:int*p[10] //存放指针变量的数组int(*p)[10] //指向数组的指针。

2024-04-09 16:27:33 616

原创 认识指针(2)

使用指针访问数组的内容时,我们使用了以下方法访问我们使用&arr[0]的方式拿到了数组第一个元素的地址,但要知道数组名本来就是地址,而且是数组首元素的地址。结论:数组名就是数组首元素地址但是有两个例外除此之外,任何地方使用数组名都表示首元素的地址。三个打印的结果一模一样,arr和&arr有什么区别呢这里我们发现&arr[0]和&arr[0]+1相差4个字节,arr和arr+1相差4个字节,是因为&arr[0]和arr都是首元素的地址,+1就是跳过一个元素。

2024-04-04 16:11:16 680 1

原创 认识指针(1)

要知道计算机CPU在处理数据的时候,需要的数据是在内存中读取的,处理后的数据也会放回内存中,就相当于一个仓库。可以把内存划分为一个个的内存单元,每个内存单元的大小取1个字节(1byte=8bit)。每个内存单元也都有编号(相当于门牌号),便于CPU的快速访问。生活中我们把门牌号叫地址,在计算机中我们把内存单元的编号也叫地址。C语言中给地址起的名字叫:指针。

2024-03-20 15:50:36 943 1

原创 分支与循环

使用if,switch实现分支结构,使用for,while,do while实现循环结构。

2024-02-19 16:04:01 854 1

原创 认识与运用数组

数组是一组相同类型元素的集合;(1)数组中存在的是一个或者多个数据,但是数组元素个数不能为0.(2)数组中存在的多个数据,类型是相同的。数据分为一维数组和多维数组,多维数组一般比较多见的是二维数组。

2024-01-08 19:31:57 352

原创 初步认识函数

函数定义的一般格式数据类型 函数名(形式参数说明)//数据类型指函数返回值的类型,不能是数组,也不能是函数,可以是:char、int、long、float、指针或结构。函数的类型可以省略,默认为int类型。{ 说明语句执行语句形式参数说明的两种形式://函数定义的头部,进行形式参数说明{......}或://函数定义的头部,给出形式参数列表int x , y;//单独进行参数说明{......}用{}括起来的部分是函数的主体,称为函数体。

2024-01-06 14:25:04 950 1

原创 编程小白,初来乍到

学习编程

2023-11-19 16:08:14 55

空空如也

空空如也

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

TA关注的人

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