自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Java_27_File类

File类:代表操作系统的文件对象。File类:是用来操作操作系统的文件对象的,删除文件,获取文件信息,创建文件(文件夹)…广义来说操作系统认为文件包含(文件和文件夹)File类的创建文件对象的API:包:java.io.File构造器:– public File(String pathname):根据路径获取文件对象– public File(String parent , String child):根据父路径和文件名称获取文件对象!

2023-07-27 08:45:51 127

原创 Java_26_Stream流

什么是Stream流?在Java 8中,得益于Lambda所带来的函数式编程,引入了一个全新的Stream流概念 ,用于Stream流能解决什么问题?可以Stream认为集合和数组操作的API很不好用,所以采用了Stream流简化集合和数组的操作!!小结:Stream流是用来简化集合类库或者数组API的弊端。Stream流其实就一根传送带,元素在上面可以被Stream流操作。需求:从集合中筛选出所有姓张的人出来。然后再找出姓名长度是3的人。传统写法Stream流写法。

2023-07-26 17:54:18 600

原创 Java_25_方法引用

方法引用:方法引用是为了的写法。方法引用的格式:类型或者对象::引用的方法。关键语法是:“::”

2023-07-26 16:36:18 687

原创 Java_24_Lambda表达式

什么是Lambda表达式?Lambda表达式是JDK1.8开始之后的新技术,是一种代码的新语法。是一种特殊写法,作用:“Lambda表达式的格式:(匿名内部类被重写方法的形参列表) -> {被重写方法的方法体代码。-> 就是一个新语法,没有实际含义,但是不能省略!Lambda表达式的使用前提:(1)Lambda表达式并不能简化所有匿名内部类的写法。(2)Lambda表达式Lambda表达式只能简化函数式接口的匿名内部类写法:a.首先必须是接口。

2023-07-26 11:59:14 94

原创 Java_23_并发包

并发包的来历:在实际开发中如果不需要考虑线程安全问题,大家不需要做线程安全,因为如果做了反而性能不好!但是开发中有很多业务是需要考虑线程安全问题的,此时就必须考虑了。否则业务出现问题。Java为很多业务场景提供了性能优异,且线程安全的并发包,程序员可以选择使用!Map集合中的经典集合:HashMap它是线程不安全的,性能好小结:HashMap是线程不安全的。Hashtable线程安全基于synchronized,综合性能差,被淘汰了。

2023-07-25 23:10:54 200

原创 Java_22_多线程02

线程通信:多个线程因为在同一个进程中,所以互相通信比较容易的。线程通信的经典模型:生产者与消费者问题。生产者负责生成商品,消费者负责消费商品。生产不能过剩,消费不能没有。(即时生产,即时消费)模拟一个案例:小明和小红有一个共同账户:共享资源他们有3个爸爸(亲爸,岳父,干爹)给他们存钱。模型:小明和小红去取钱,如果有钱就取出,然后等待自己,唤醒他们3个爸爸们来存钱他们的爸爸们来存钱,如果发现有钱就不存,没钱就存钱,然后等待自己,唤醒孩子们来取钱。做整存整取:10000元。

2023-07-25 20:25:16 137

原创 Java_21_多线程01

什么是进程?程序是静止的,运行中的程序就是进程。并行:同一个时刻同时有多个在执行。什么是线程?线程是属于进程的。一个进程可以包含多个线程,这就是多线程。线程是进程中的一个独立执行单元。线程创建开销相对于进程来说比较小。线程也支持“并发性”。线程的作用:可以提高程序的效率,线程也支持并发性,可以有更多机会得到CPU。多线程可以解决很多业务模型。大型高并发技术的核心技术。设计到多线程的开发可能都比较难理解。

2023-07-24 16:26:16 45

原创 Java_20_异常

引入:Java已经为开发中可能出现的异常都设计了一个类来代表.但是实际开发中,异常可能有无数种情况,Java无法为这个世界上所有的异常都定义一个代表类。假如一个企业如果想为自己认为的某种业务问题定义成一个异常就需要自己来自定义异常类.需求:认为年龄小于0岁,大于200岁就是一个异常。自定义异常:自定义编译时异常.a.定义一个异常类继承Exception.b.重写构造器。c.在出现异常的地方用throw new 自定义对象抛出!

2023-07-14 22:30:52 145

原创 Java_19_图书管理系统项目

类型 书名 价格 作者。(2)定义一个集合表示图书馆用于存储书本信息数据:Map<String,List>。《神雕侠侣》 98.2 金庸。《三少爷的剑》 98.2 古龙。功能:主要是让Map中的键作为橱柜,值作为书本信息。(3)删除书本信息。(4)修改书本信息。(1)查看全部书籍。(2)添加书本信息。(1)定义一个书本类。(3)展示操作界面。(4)完成相应功能。

2023-07-13 18:10:51 105

原创 Java_18_Map集合

Map集合的键和值都可以存储自定义类型。小结:Map集合的键和值都可以存储自定义类型。如果希望Map集合认为自定义类型的键对象重复了,必须重写对象的hashCode()和equals()方法Orange类作存储类型} }MainOranges o1 = new Oranges("黄橘子" , 20.3 , "贼便宜!");Oranges o2 = new Oranges("黑橘子" , 30.3 , "坏了");

2023-07-07 16:17:32 124

原创 Java_17_斗地主游戏思想

要创建一个牌组数组牌组加入新牌。

2023-07-06 14:37:42 160

原创 Java_集合_16

什么是集合?集合是一个大小可变的容器。容器中的每个数据称为一个元素。数据==元素。集合的特点是:类型可以不确定,大小不固定。集合有很多种,不同的集合特点和使用场景不同。数组:类型和长度一旦定义出来就都固定了。集合有啥用?在开发中,很多时候元素的个数是不确定的。而且经常要进行元素的增删该查操作,集合都是非常合适的。开发中集合用的更多!!Java中集合的代表是:Collection.Collection集合是Java中集合的祖宗类。

2023-06-25 00:14:51 222

原创 Java_泛型_15

引入:我们之前用的泛型都是别人写好的,接下来我们来自定义泛型类使用。泛型类的概念:使用了泛型定义的类就是泛型类。泛型类的格式:修饰符 class 类名<泛型变量>{泛型变量建议使用 E , T , K , V需求:模拟ArrayList集合自定义一个集合MyArrayList集合。泛型类的核心思想:是把出现泛型变量的地方全部替换成传输的真实数据类型。小结:自定义泛型的核心思想:是把出现泛型变量的地方全部替换成传输的真实数据类型。//自定义泛型类 需要的类型全为E。

2023-06-24 11:57:20 262

原创 Java_正则表达式_14

正则表达式的作用:是一些特殊字符组成的校验规则,可以校验信息的正确性,校验邮箱是否合法,电话号码,金额等。需求:演示不用正则表达式和用正则表达式校验QQ号码。小结:正则表达式很适合做校验,代码简单,优雅!

2023-06-23 21:16:29 456

原创 Java_类的介绍_13

Math用于做数学运算。Math类中的方法。方法:方法名 说明public static int abs(int a) 获取参数a的绝对值:public static double ceil(double a) 向上取整public static double floor(double a) 向下取整。

2023-06-22 20:03:38 62

原创 Java_日期时间类_12

Java是面向对象的,会用一个类代表一个事物。Date类在Java中代表的是系统当前此刻日期时间对象。时间记录的两种方式:a.Date日期对象。b.时间毫秒值:从1970-01-01 00:00:00开始走到此刻的总的毫秒值。小结:Date可以代表系统当前此刻日期时间对象。时间记录的两种方式:Date日期对象。时间毫秒值:从1970-01-01 00:00:00开始走到此刻的总的毫秒值。

2023-06-16 14:15:03 43

原创 Java_Object类_11

引入1. 包:java.lang.Object2. Object类是Java中的祖宗类。3. 一个类要么默认继承了Object类,要么间接继承了Object类。4. Object类的方法是一切子类都可以直接使用的,所以我们要学习Object类的方法。Object类的常用方法:com.itheima._12Object类的详细使用.Student@735b478– 默认的地址信息格式:类的全限名@内存地址。

2023-06-16 09:32:33 53

原创 Java_内部类_10

内部类是类的五大成分之一:成员变量,方法,构造器,代码块,内部类。什么是内部类?定义在一个类里面的类就是内部类。内部类有什么用?可以提供更好的封装性, 内部类有更多权限修饰符 , 封装性有更多的控制。可以体现出组件的思想。内部类的分类:(1)静态内部类。(2)实例内部类。(成员内部类)(3)局部内部类。(4)匿名内部类。(重点)小结:匿名内部类是我们的重点。

2023-06-15 21:59:12 33

原创 Java_多态_9

面向对象的三大特征:封装,继承,多态。多态的形式:父类类型 对象名称 = new 子类构造器;接口 对象名称 = new 实现类构造器;父类类型的范围 > 子类类型范围的。多态的概念:同一个类型的对象,执行同一个行为,在不同的状态下会表现出不同的行为特征。多态的识别技巧:对于方法的调用:编译看左边,运行看右边。对于变量的调用:编译看左边,运行看左边。多态的使用前提:(1) 必须存在继承或者实现关系。(2) 必须存在父类类型的变量引用子类类型的对象。

2023-06-15 16:40:34 39

原创 Java_枚举_8

枚举是Java中的一种特殊类型。枚举的作用:是为了做信息的标志和信息的分类。定义枚举的格式:修饰符 enum 枚举名称{第一行都是罗列枚举实例的名称。枚举类的编译以后源代码:枚举的特点:1.枚举类是用final修饰的,枚举类不能被继承!2.枚举类默认继承了java.lang.Enum枚举类。3.枚举类的第一行都是常量,存储都是枚举类的对象。4.枚举类的第一行必须是罗列枚举类的实例名称。。

2023-06-14 19:47:04 250

原创 Java_单例设计模式_7

单例模式的含义: 单例模式,是一种常用的软件设计模式。通过单例模式可以保证系统中,应用该模式的。。单例是为了,单例在有些业务场景下还必须用到!!单例的应用场景:在实际开发中,有很多业务对象永远只需要一个,无论启动多少次,只需要一个对象。节约内存和性能。因为对象越多内存占用越大,极有可能出现内存溢出!实现单例模式目前提供两种方式:饿汉单例设计模式在用类获取对象的时候,对象已经提前为你创建好了。设计步骤:a.定义一个类,把构造器私有。b.定义一个静态变量存储一个对象。

2023-06-14 17:19:28 34

原创 Java_final_6

final是最终的含义。final用于修饰:类,方法,变量。1.final修饰类,类不能被继承了。2.final可以修饰方法,方法就不能被重写了。3.final修饰变量总规则:变量有且仅能被赋值一次。拓展:final和abstract的关系?互斥关系,不能同时修饰类或者同时修饰方法!!

2023-06-14 12:09:33 26

原创 Java_代码块_5

代码块是类的成分之一:成员变量,方法,构造器,代码块,内部类。代码块按照有无static修饰分为:1.静态代码块。2.实例代码块。静态代码块的格式:static { }静态代码块特点:– 必须有static修饰。– 会与类一起优先加载,且自动触发执行一次。静态代码块作用:– 可以在执行类的方法等操作之前先在静态代码块中进行静态资源的初始化操作。静态代码块的作用:可以用于在静态代码块中进行静态资源的初始化操作。常见的使用例子,静态东西先初始化!!!逼格高!!!

2023-06-13 22:39:46 25

原创 Java_接口_4

一般修饰符public static final 缺一不可名称全部大写,可用下划线连接变量值只有一个!!!

2023-06-13 22:06:48 37

原创 Java_抽象类_3

抽象类不能创建对象,如果创建,编译无法通过而报错。只能创建其非抽象子类的对象。理解:假设创建了抽象类的对象,调用抽象的方法,而抽象方法没有具体的方法体,没有意义。抽象类一定有而且是必须有构造器,是供子类创建对象时,初始化父类成员使用的。理解:子类的构造器中,有默认的super(),需要访问父类构造器。抽象类中,不一定包含抽象方法,但是有抽象方法的类必定是抽象类。抽象类的子类,必须重写抽象父类中所有的抽象方法,否则子类也必须定义成抽象类。

2023-06-06 23:52:59 28

原创 Java_继承_2

this代表了当前对象的引用(继承中指代子类对象):this.子类成员变量。this.子类成员方法。this(…):可以根据参数匹配访问本类其他构造器。super代表了父类对象的引用(继承中指代了父类对象空间)super.父类成员变量。super.父类的成员方法。super(…):可以根据参数匹配访问父类的构造器。拓展:this(…)根据参数匹配访问本类其他构造器。注意:this(…)借用本类其他构造器。super(…)调用父类的构造器。

2023-06-06 17:04:48 64

原创 Java_成员变量和方法_1

按照有无static修饰成员变量分为:(1)静态成员变量:有static修饰,属于类本身与类一起加载一次,直接用类名访问即可。(2)实例成员变量:无static修饰,属于类的每个对象的,必须先创建对象,再用对象来访问。

2023-06-05 16:18:49 148

原创 (8)数据结构与算法-有空头链表的查找、修改与删除

有空头链表

2021-08-14 15:22:06 89

原创 (7)数据结构与算法-有空头链表的创建与添加

有空头链表介绍特点链表的创建空头的创建节点计数器的建立链表的添加尾添加释放链表介绍特点1)第一个节点不装数据作为链表头(永远不变),从第二个节点开始有数据2)不使用尾指针,涉及尾部,循环寻找;目的是与之前写的不一样,更有意思!3)操作原理和操作逻辑和无空头链表基本一样,多了空头,代码部分也会稍有不同4)与无空头链表的区别:有空头一些操作会比无空头的简单一些链表的创建空头的创建 //单独创建空头链表节点 struct Chain Head = {0,NULL}; //或者 struct

2021-08-11 14:15:12 349

原创 (6)数据结构与算法-无空头链表的节点交换

无空头链表的节点交换交换数据根据数据查找交换利用中间变量交换利用mencpy内存拷贝交换根据下标查找交换交换节点交换数据根据数据查找交换注意:若有几个相同的数据,是交换第一个数据利用中间变量交换数据的交换,对于指针指向是不变的,所以传一级指针就可1.找到数据一的节点地址,找到数据二的节点地址,判断两个是否为空2.不为空则交换,结构体允许直接交换或者节点直接互相赋值字符串必须调用strcpy或者循环赋值3.为NULL,无法交换void SwopiData(struct Chain *pH

2021-06-24 20:22:58 175

原创 (5)数据结构与算法-无空头链表的删、改、查

无空头链表的删、改、查

2021-06-20 13:50:46 132

原创 (4)数据结构与算法-无空头链表的添加

单向链表基本概括二级目录三级目录基本概括链表的常用结构主要成分有空头有链表与无空头链表二级目录三级目录

2021-06-16 12:36:48 131

原创 (3)数据结构与算法-伪链表

链表伪链表数组与动态数组概念链表由来伪链表数组与动态数组概念数组:固定长度,空间连续,一次性申请好,为保证够用申请非常多的空间,会造成空间浪费!动态数组:动态的增加或删除节点,也是重新申请更大的空间,会严重降低效率链表由来如果不想一次性申请太多空间,只申请一个,并保证原数据不变,怎么做? 数组访问各个元素的原理:下标运算(空间连续,直接首地址做加法)由于后加的元素不是和原数组一起申请的,所以各元素地址不一定连续,就无法通过下标来进行访问,所以要通过前一个元素记录下一个元素的地址,这样就可以

2021-06-11 17:05:04 260

原创 (2)数据结构与算法-动态数组(2)

动态数组中间插入元素回顾上节添加步骤回顾上节上节是在动态数组的尾部添加一个元素方式是再申请一个更大的空间,代替原空间现在要在中间插入元素,该怎么办呢?添加步骤1.将该节点后面的所以元素全部往前挪动一个覆盖该节点...

2021-05-26 20:00:56 96

原创 数据结构与算法-前言

初识数据结构与算法数据结构概念物理结构逻辑结构两种结构区别4种结构操作步骤算法概念主要算法学习目标学会使用基本数据结构和算法提高编码能力重要性数据结构概念存储数据的逻辑结构分为两种大概念的结构物理结构在物理内存上存储的结构逻辑结构代码表现出来的就是逻辑结构,代码上写的逻辑结构实际上是操作系统存储在物理结构中的两种结构区别逻辑结构有面型,x,y坐标的形式操作元素;而转到物理结构中只有操作系统存储的线性的排布。4种结构4种结构:集合型结构:一堆在一起,彼此间没什么关系线性结构:一个连

2021-05-25 16:36:22 159

原创 (1)数据结构与算法-动态数组(1)

线性表顺序表回顾数组基本概念基本操作创建与初始化节点改、查节点增加节点顺序表回顾数组基本概念1)根据空间分,可分为栈区数组和堆区数组栈区数组:系统自动管理堆区数组:我们自己管理malloc/free new/delete基本操作节点装的是数据创建与初始化节点栈区:int a[4] = {0,1,2,3};堆区:int *p = (int*)malloc(sizeof(int)*4); free(p);改、查节点a.下标运算:[ ]b.指针运算:*(p+n) = p[n]增加节点

2021-05-25 16:31:07 94

原创 (13)C++模板

模板作用函数模板概念形式实例多个参数作用域模板具体化问题引入概念形式实现原理模板实例化举栗作用节省非常多的代码,用同样的代码,实现不同的功能,也就是泛型思想,多态也是其中一种。STL就是利用模板实现的一个具体的实例。函数模板概念函数名可以相同,参数不同,调用的时候传参是什么类型的,就调用哪个函数传递什么类型的值,就生成什么类型的函数定义。void print(int a){ cout << a << endl;}void print(float b){ co

2021-05-23 19:52:31 79

原创 (12)C++联编、异常、单例、内部类、新式类型转换

其他联编1.概念理解联编1.概念将模块(每个文件单独的编译,就是单独的模块)或者函数合并到一起生成可执行代码的处理过程,(函数调用),按照联编所进行的阶段不同,可分为两种联编方法:静态联编和动态联编理解就比如说函数://函数实现void print(){ cout << "联编" << endl;}//函数调用print();(1)联编就是将函数实现和函数调用联系在一起,关联在一起。程序走到print()处,就知道要调用函数实现那一块,这就叫做联编。(2

2021-05-21 17:53:35 97

原创 (11)C++多态与虚函数

多态与虚函数多态:父类的一个指针,可以有多种执行状态或结果,即多态1.多态与虚函数的关系:多态是一种泛型编程思想,虚函数是实现这个思想的语法基础(类比类和面向对象的关系)泛型编程思想:同样的代码实现不同功能;宏观体现:父类的指针,调用子类的函数 。2.父类指针调用子类函数,代码实现:思路:在父类声明一个指针,指向子类的函数Cfarther *farther = new Cson;farther->print1();//只能调用父类函数成员farther指针只能读父类的成员,.

2021-05-18 19:56:33 155

原创 (10)C++继承初始

继承基础涵盖1.作用:增加代码的重用性2.形式:包括基类/父类和派生类/子类class CPeolpe//声明基类/父类{public: void study() cout << "goto study" << endl;};class Cchlid : public CPeolpe //继承父类的形式{public: void school() cout << "goto school" << endl;};3.可.

2021-05-17 19:56:04 390

空空如也

空空如也

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

TA关注的人

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