- 博客(31)
- 收藏
- 关注
原创 java学习笔记——09内部类与异常类
一个类的内部又完整的嵌套了另一个类结构。被嵌套的类称为内部类,嵌套其他类的类称为外部类。是我们类的第五大成员【思考:类的五大成员是哪些?属性,方法,构造器,代码块,内部类】,内部类最大的特点就是可以直接访问私有属性,并且可以体现类与类之间的包含关系在编写程序时可以扩展Exception类定义自己的异常类,然后根据程序的需要来规定哪些方法产生这样的异常。
2024-01-05 20:40:48
1008
原创 java学习笔记——08接口与实现
3.接口回调是指可以把实现某一接口的类创建的对象的引用赋值给该接口声明的接口变量,那么该接口变量就可以调用被类实现的接口方法以及接口提供的default方法或类重写的default方法。接口的思想在于它可以要求某些类有相同名称的方法,但方法的具体内容(方法体的内容)可以不同,即要求这些类实现接口,以保证这些类一定有接口中所声明的方法(即所谓的方法绑定)。使用接口进行程序设计的核心思想是使用接口回调,即接口变量存放实现该接口的类的对象的引用,从而接口变量就可以回调类实现的接口方法。比如:int a=1;
2024-01-05 18:53:50
1133
原创 java学习笔记——07继承与多态
继承可以解决代码复用,让我们的编程更加靠近人类思维.当多个类存在相同的属性(变量)和方法时,可以从这些类中抽象出父类,在父类中定义这些相同的属性和方法,所有的子类不需要重新定义这些属性和方法,只需要通过extends来声明继承父类即可。
2024-01-05 18:48:52
979
原创 java学习笔记——06 类与对象
类的定义包括两部分,及类声明和类体,基本格式是class 类名{类体的内容//class 类名 是类的声明部分,花括号里面是类体抽象的关键是抓住事物的两个方面——属性和行为,即数据以及在数据上进行的操作。因此,类体的内容包括两部分:1)变量的声明(用来存储属性的值,体现对象的属性)2)方法的定义(方法可以对类中声明的变量进行操作,即给出算法,体现了对象的行为)
2023-12-07 18:53:22
89
原创 数据结构笔记——05串和递归
递归:在定义一个过程或函数时出现调用本过程或本函数的成分。直接递归:调用自身间接递归:若过程或函数p调用过程或函数q,而q又调用p任何间接递归算法郁可以转换为直接递归算法来实现。一些与递归有关的概念(1)递归数列指的是由递归关系所确定的数列。(2)递归过程指的是直接或间接调用自身的过程。(3)递归算法指的是包含递归过程的算法。(4)递归程序指的是直接或间接调用自身的程序。
2023-11-12 22:03:39
110
原创 数据结构笔记——04栈和队列
栈: 一种只能在一端进行插入或删除的线性表栈顶:表中允许进行插入、删除操作的一端栈底:表的另一无法进行上述操作的端栈顶指针:栈顶的当前位置空栈:栈中没有数据元素进栈\入栈:栈的插入操作出栈\退栈:栈的删除操作栈的主要特点:后进先出栈的抽象数据类型ADT Stack{数据对象:D={aii为ElemType类型}数据关系:R={ | ai, ai+1∈D且ai≤ai+1基本运算:InitStack(&S):初始化栈,构造一个空栈。
2023-11-03 20:42:49
84
原创 数据结构笔记——03线性表
线性表:零个或多个数据元素的有限序列若将线性表记为(a1,…,ai-1,ai,ai+1,…,an),则表中ai-1领先于ai,ai领先于 ai+1,称ai-1是ai的直接前驱元素,ai+1是ai的直接后继元素。当i=1,2,…,n-1时,ai有且仅有一个直接后继,当i=2,3,…,n时, a有且仅有一个直接前驱。线性表元素的个数n(n≥0)定义为线性表的长度,当n=0时,称为空表。在非空表中的每个数据元素都有一个确定的位置,如a1是第一个数据元素,an是最后一个数据元素,ai。
2023-11-03 15:56:53
88
原创 数据结构笔记——02算法
算法是解决特定问题求解步骤的描述,在计算机中表现为指令的有限序列,并且每条指令表示一个或多个操作。1)计算算法的频度T(n)一个算法是由控制结构(顺序、分支和循环)和原操作(指基本数据类型的操作)构成的。一个算法的执行时间由其中原操作的执行次数,即算法的频度来计量。假设算法的问题规模为 n,如果对10个整数排序,问题规模 n就是 10。算法时间分析的就是求出算法所有原操作的执行次数即算法的频度,它是问题规模n的函数,用T(n)表示。2)T(n)用"O"表示。
2023-09-30 15:30:00
68
原创 java学习笔记——05数组
由map[0]是一个含有两个元素的一维数组,map[1]是一个含有三个元素的一维数组构成,我们也称为列数不等的二维数组。1)定义类型数组名[] []={{值1,值2…1)语法:类型[] [] 数组名=new 类型[ 大小 ] [ 大小 ]数组名[下标/索引/index]比如:你要使用a数组的第3个数a[2]int[] [] y或者int[] y[]或者int y[] []2)再定义(开辟空间) 数组名 = new 类型[大小] [大小]2)比如:int a[] []=new int[2] [3]
2023-09-28 18:45:00
48
原创 java学习笔记——04程序控制结构
当只有内层循环的循环条件为false时,才会完全跳出内层循环,才结束外层的当次循环,开始下一次的循环。continue语句出现在多层嵌套的循环语句体中时,可以通过标签指明要跳过的是哪一层循环,这个和前面的标签的使用的规则一样.表达式数据类型,应和case后的常量类型一致,或者是可以自动转成可以相互比较的类型,比如输入的是字符,而常量是int。说明:当条件表达式成立,即执行代码块1,否则执行代码块2.如果执行代码块只有一条语句,则可以省略,否则,不能省略。特别说明,如果{}中只有一条语句,则可以不用{}。
2023-09-26 20:30:00
52
原创 java学习笔记——03运算符
运算符介绍运算符是一种特殊的符号,用以表示数据的运算、赋值和比较等1.算术运算符2.赋值运算符3.关系运算符[比较运算符]4.逻辑运算符5.位运算符[需要二进制基础]6.三元运算符。
2023-09-25 20:00:00
97
原创 java学习笔记——02变量
变量是程序的基本组成单位//变量有三个基本要素(类型+名称+值)int a=1;//定义了一个变量,类型int整型,名称a,值1int b=3;//定义了一个变量,类型int整型,名称b,值3b=89;//把89值赋给b变量System.out.printIn(a): //输出a变量的值System.out.printIn(b): //输出b变量的值概念变量相当于内存中一个数据存储空间的表示,你可以把变量看做是一个房间的门牌号,通过门牌号我们可以找到房间,而通过变量名可以访问到变量(值)。
2023-09-24 20:34:46
44
1
原创 java学习笔记——01java快速入门
了解即可(md[创建目录],rd[删除目录].copy[拷贝文件],del[删除文件],echo[输入内容到文件],type,move[剪切])=> Linux。1.注释内容可以被JDK提供的工具javadoc所解析,生成一套以网页文件形式体现的该程序的说明文档,一般写在类。2.非Java Doc的注释,往往是给代码的维护者看的,着重告述读者为什么这样写,如何修改,注意什么问题等。Java语言是健壮的。2.JDK =JRE +java的开发工具[java, javac,javadoc,javap等]
2023-09-24 20:33:33
50
1
原创 数据结构笔记——01数据结构绪论
既然数据对象是数据的子集,在实际应用中,处理的数据元素通常具有相同性质,在不产生混淆的情况下,我们都将数据对象简称为数据。数据:是描述客观事物的符号,是计算机中可以操作的对象,是能被计算机识别,并输入给计算机处理的符号集合。链式存储结构:是把数据元素存放在任意的存储单元里,这组存储单元可以是连续的,也可以是不连续的。2.元素之间的逻辑关系用结点之间的连线表示,如果这个关系是有方向的,那么用带箭头的连线表示。顺序存储结构:是把数据元素存放在地址连续的存储单元里,其数据间的逻辑关系和物理关系是一致的。
2023-09-23 18:00:00
72
1
原创 C++学习笔记——标准库类型vector的使用
初始化 vector对象的方法v1是一个空vector,它潜在的元素是T类型的,执行默认初始化v2中包含有v1所有元素的副本等价于v2(v1),v2中包含有v1所有元素的副本v3包含了n个重复的元素,每个元素的值都是valv4包含了n个重复地执行了值初始化的对象v5包含了初始值个数的元素,每个元素被赋予相应的初始值等价于v5{a,b,c. …}//默认初始化,s不含任何元素程序在运行时可以很高效地往vector对象中添加元素。
2023-08-10 15:30:00
114
1
原创 C++学习笔记——标准库类型string的使用
如何初始化类的对象是由类本身决定的。一个类可以定义很多种初始化对象的方式,只不过这些方式之间必须有所区别:或者是初始值的数量不同,或者是初始值的类型不同。//初始化string对象的方式string s1;//默认初始化,s1是一个空串//s2是s1的副本//等价于s2(s1),s2是s1的副本//s3是字面值"value"的副本,除了字面值最后的那个空字符外//等价于s3 ("value"),s3是字面值"value"的副本//把s4初始化为由连续n个字符c组成的串。
2023-08-09 20:49:33
154
原创 C++学习笔记——05 C++的多态性
1.静态多态性 编译时的多态性 函数重载和运算符重载2.动态多态性 运行时的多态性 虚函数不用来定义对象而只作为一种基本类型用作继承的类,称为抽象类。由于常用作基类也称为抽象基类。凡是包含纯虚函数的类都是抽象类,因为纯虚函数不能被调用,包含它的类无法建立对象。抽象类的作用是作为一个类族的共同基类,或者说,为一个类族提供一个公共接口。如果在抽象类的派生类中对基类的所有纯虚函数进行了定义,那么这个类就是可以用来定义对象的具体类。
2023-08-05 14:00:00
97
1
原创 C++学习笔记——04 类的继承
如果基类和子对象类型的声明中都没有定义带参数的构造函数,而且也不需对派生类自己的数据成员初始化,则不必显式的定义派生类构造函数。希望在执行派生类的构造函数时,使派生类和基类的数据成员都被初始化,可以在执行派生类的构造函数时,调用基类的构造函数。派生类包括:从基类继承来的成员,以及在声明派生类时增加的部分,这两个部分都包含了数据成员和成员函数。3.如果两个基类的基类是同一个:用它们的基类的直接派生类名限定,即两个基类的类名。基类的公有成员和保护成员在派生类中成为私有成员,其私有成员仍为基类私有。
2023-08-04 14:00:00
88
1
原创 C++学习笔记——03 对运算符进行重载
如果运算符左侧的操作数是C++标准类型(如int)或是一个其他类的对象,则运算符重载函数不能作为成员函数,只能作为非成员函数。用户自己定义的类型的数据(如类对象),是不能直接用““输入和输出的,如果想用它们输出和输入自己声明的类型的数据,必须对它们重载。C++规定运算符“
2023-08-03 14:00:00
97
原创 C++学习笔记——02 怎样使用类和对象
定义常对象的一般形式:类名 const 对象名 [(实参表)];const 类名 对象名 [(实参表)];常对象必须要有初值,初始化之后不能再改变如果一个对象被声明为常对象,则通过该对象只能调用它的常成员函数,而不能调用该对象的普通成员函数(除了系统自动调用的隐式的构造函数和析构函数)。常成员函数是常对象对外的唯一接口。引用常对象中的数据成员,只需将该成员函数声明为const即可。常成员函数可以访问常对象中的数据成员,但不允许修改常对象中数据成员的值。
2023-08-02 14:00:00
64
原创 C语言笔记——第10章 位运算
🌿前言:在我看来,书应该越读越薄的,所以我的笔记尽量记录了每一个点,可供复习与查阅,但没有详细的解释。我的C语言的笔记是在谭浩强老师的C程序设计(第五版)的基础上总结归纳的,结合了一些我自己的见解。一个位段必须存放在同一个存储单元,不能跨单元,如果第一个单元放不下,则该空间不用,从下一个单元起存放。宽度应该是一个整型常量表达式,其值为非负,小于或等于指令类型的长度。参加位运算的对象只能是整型或者字符型的数据,不能为实型数据。位段长度不能大于存储单元的长度,也不能定义位段数组。类型名 [成员名]:宽度。
2023-02-19 16:00:00
91
原创 C语言笔记——第9章 预处理指令
1.不带参数的宏定义#define 标识符 字符串使用户能以一个简单的名字代替一个长的字符串,因此把这个标识符称为宏名,在预处理时将宏名替换成字符串的过程称为宏展开。#define就是宏定义指令宏名习惯用大写字母表示,以便与变量名相区别。宏定义只是用宏名代替一个字符串,也就是只做简单的置换不做正确性检查,预处理时不做任何语法检查。宏定义不是c语句,不必在行末加分号。宏名的有效范围为该指令行起到本源文件结束。可以用#undef指令终止宏定义的作用域。
2023-02-18 19:30:00
128
原创 C语言笔记——第8章 对文件的输入输出
C的数据文件有一连串的字符或字节组成,而不考虑行的界限,两行数据间不会自动加分隔符,对文件的存取是以字符(字节)为单位的。(1)每个被使用的文件都在内存中开辟一个相应的文件信息区,用来存放文件的有关信息,如文件的名字,文件状态及文件当前位置等,这些信息会保存在一个结构体变量中,该结构体类型是由系统声明的,取名为FILE。因为在向文件写数据时,是先将数据输出到缓冲区,待缓冲区充满后才正式输出给文件,如果当数据未充满缓冲区时,程序就结束运行,就有可能使缓冲区中的数据丢失。以文本方式保存的数据便于阅读。
2023-02-17 19:30:00
500
原创 C语言笔记——第7章 用户自己建立数据类型
1.建立结构体类型(1)结构体:用户自己建立的由不同类型数据组成的组合型的数据结构(2)结构体类型:一个关键字struct和结构体名构成的(3)声明一个结构体类型的一般形式为:struct 结构体名{成员表列};花括号内,即成员表列中,要对各成员进行类型声明即类型名 成员名成员表列:又名域表,每一个成员是结构体中的一个域。2.定义结构体类型变量(1)先声明结构体类型,再定义该类型的变量int num;char sex;int age;(2)在声明的同时定义struct 结构体名。
2023-02-16 19:30:00
472
原创 C语言笔记——第6章 指针
🌿前言:在我看来,书应该越读越薄的,所以我的笔记尽量记录了每一个点,可供复习与查阅,但没有详细的解释。我的C语言的笔记是在谭浩强老师的C程序设计(第五版)的基础上总结归纳的,结合了一些我自己的见解。如果是有其他见解 ,也欢迎大家提出。
2023-02-15 19:30:00
149
原创 C语言笔记——第5章 函数
1.定义无参函数(1)类型名 函数名()函数体(2)类型名 函数名(void)函数体2.定义有参函数类型名 函数名(形参表列)函数体3.定义空函数建立存储空间的声明称为定义不需要建立存储空间的声明称为声明。
2023-02-14 19:30:00
125
原创 C语言笔记——第4章 数组
类型说明符 数组名[常量表达式]下标是从0开始的(数组a[10]中没有a[10]这个数)常量表达式中可以包括常量和符号常量(a[3+5]是合法的)类型说明符 数组名 [常量表达式] [常量表达式 ](1)用字符串常量使字符数组初始化"i am happy" } //也可以省略花括号(2)其余元素自动定为空字符(‘/0’) 其余同。
2023-02-13 17:29:35
68
原创 C语言笔记——第3章 循环结构程序设计
🌿前言:在我看来,书应该越读越薄的,所以我的笔记尽量记录了每一个点,可供复习与查阅,但没有详细的解释。我的C语言的笔记是在谭浩强老师的C程序设计(第五版)的基础上总结归纳的,结合了一些我自己的见解。2.表达式2一般是关系表达式或逻辑表达式,但也可以是数值表达式或字符表达式,只要其值为非零,就执行循环体。结束点之前,接着执行for语句中的表达式3,然后进行下一次是否执行循环的判定。(2)结束本次循环,即跳过循环体中下面尚未执行的语句,转到循环体。(2)使流程跳到循环体之外,接着执行循环体下面的语句。
2023-02-12 21:20:09
93
1
原创 C语言笔记——第2章 选择结构程序设计
🌿前言:在我看来,书应该越读越薄的,所以我的笔记尽量记录了每一个点,可供复习与查阅,但没有详细的解释。我的C语言的笔记是在谭浩强老师的C程序设计(第五版)的基础上总结归纳的,结合了一些我自己的见解。如果是有其他见解 ,也欢迎大家提出。
2023-02-11 23:25:16
132
1
原创 C语言笔记——第1章 简单的c程序设计
🌿前言:在我看来,书应该越读越薄的,所以我的笔记尽量记录了每一个点,可供复习与查阅,但没有详细的解释。我的C语言的笔记是在谭浩强老师的C程序设计(第五版)的基础上总结归纳的,结合了一些我自己的见解。如果是有其他见解 ,也欢迎大家提出。
2023-01-30 19:49:34
309
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人