自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 编译原理实验报告(源程序的预处理)

本次实验我通过实践学习了源程序的预处理问题、掌握了相关的算法,对课堂上的知识学以致用,同时通过调试对汇编编译过程也有了一定了解,程序运行结果正确符合题意,总体来说受益匪浅。

2022-12-24 00:26:08 2419 1

原创 黑马程序员Java基础入门(十七)异常处理(包含try...catch和throws的用法)

引文:数组索引越界异常就是程序出现了不正常的情况。Error:严重问题,不需要处理。Exception:称为异常类,它表示程序本身可以处理的问题。RuntimeException:在编译期是不检查的,出现问题后,需要我们回来改代码。非RuntimeException:编译期就必须处理的,否则程序不能通过编译,就更不能正常运行了。

2022-12-13 23:47:43 358

原创 黑马程序员Java基础入门(十六)常用API(包含Math类、System类、Object类、Arrays类及冒泡排序、基本类型包装类、日期类)

Math包含执行基本数字运算的方法没有构造方法,如何使用类中的成员?看类的成员是否都是静态的,如果是,通过类名就可以直接调用。Object是类层次结构的根,每个类都可以将Object作为父类。所有类都直接后者间接的继承自该类。构造方法:public Object()回想面向对象中,为什么说子类的构造方法默认访问的是父类的无参构造方法?因为它们的顶级父类只有无参构造方法。将基本数据类型封装成对象的好处在于可以在对象中定义更多的功能方法操作该数据常用的操作之一:用于基本数据类型与字符串之间的转换。

2022-12-13 22:26:44 397

原创 黑马程序员Java基础入门(十五)内部类&形参和返回值

内部类就是在一个类中定义一个类。举例:在一个类A的内部定义一个类B,类B就被称为内部类。内部类的定义格式public class 类名{修饰符 class 类名{}}}}内部类可以直接访问外部类的成员,包括私有。外部类要访问内部类的成员,必须创建对象。没创建对象导致报错创建内部类对象后可以使用内部类对象。

2022-12-12 23:11:58 321

原创 数据结构-二叉树(包含二叉树的层次建树、前中后序遍历、层次遍历解析及代码)

树是n(n>=0)个结点的有限集。当n=0时,称为空树。在任意一棵非空树中应满足:1)有且仅有一个特定的结点称为根的结点。2)当n>1时,其余结点可以分为m(m>0)个互不相交的有限集T1,T2,......,Tm,其中每个集合本身又是一棵树,并且称为根的子树。二叉树是另一种树形结构。其特点是每个结点至多只有两棵子树(即二叉树中不存在度大于二的结点),并且二叉树的子树有左右之分,其次序不能任意颠倒。与树相似,二叉树也以递归的形式定义。

2022-12-11 17:08:13 2053

原创 数据结构-链表基础详解(超详细代码)

链表的定义及代码包含顺序表和单链表目录一、线性表 1.线性表定义2.线性表特点二、线性表的顺序表示(顺序表)1、顺序表的优缺点2.插入操作3.删除操作4.练习三、线性表的链式表示(单链表)1.单链表定义2.单链表优缺点3.插入操作4.删除操作 5.查找操作5.1按序号查找结点 5.2按值查找结点 6.练习1、顺序表的优缺点1.优点:最好情况:在表尾插入元素,不需要移动元素,时间复杂度

2022-12-04 14:10:30 2949

原创 Java期末大作业-工资系统平台(实验报告内附代码)

目录一、实践目的二、实验环境使用三、实验内容第一阶段(基础信息维护):第二阶段(工资数据维护):第三阶段(报表管理):四、实验步骤(图文方式叙述)第一阶段(基础信息维护):第二阶段(工资数据维护):第三阶段(报表管理):五、实验结果及分析(遇到的问题与解决)六、实验体会熟练掌握Java、JavaFX、数据库基础知识,并应用IntelliJ IDEA 2021.2、JavaFX Scene Builder 2.0、SQLyog Community 技术开发实现项目“东软工资管理系统”。开发技术:Java基础知

2022-10-07 17:28:38 3138

原创 黑马程序员Java基础入门(十四)接口

接口就是一种公共的规范标准,大家都可以通用Java中的接口更多的体现在对行为的抽象。

2022-08-18 17:21:51 1272

原创 黑马程序员Java基础入门(十三)抽象类

在Java中,一个没有方法体的方法应该定义为抽象方法,而类中如果有抽象方法,该类必须定义为抽象类1.2抽象类的特点抽象类和抽象方法必须使用abstract关键字修饰public abstract class 类名()抽象类中不一定有抽象方法,有抽象方法的类一定是抽象类抽象类不能实例化抽象类如何实例化呢?参照多态的方式,通过子类对象实例化。这叫抽象类多态抽象类的子类要么重写抽象类中的所有抽象 方法要么是抽象类1.3抽象类的成员特点成员变量可以是变量也可以是常量。...

2022-08-16 23:52:20 143

原创 黑马程序员Java基础入门(十二)多态

同一个对象,在不同时刻表现出来的不同形态举例:猫我们可以收猫是猫:猫 cat = new 猫();我们也可以说猫是动物:动物 animal = new 猫();这里猫在不同的时刻表现出来了不同的形态,这就是多态多态的前提和体现有继承/实现关系有方法重写有父类引用指向子类对象。......

2022-08-16 17:40:22 87

原创 黑马程序员Java基础入门(十一)修饰符

其实就是文件夹作用:对类进行分类管理包的定义格式格式:package包名:(多级包用.分开)范例:package com.itheima;使用不同包下的类时,使用的时候要写类的全路径,写起来太麻烦了为了简化带包的操作,Java就提供了导包的功能导包的格式格式:import包名;范例:import cn.itcast.Teacher;...

2022-08-15 22:23:37 96

原创 黑马程序员Java基础入门(十)继承

继承是面向对象三大特征之一,可以使得子类具有父类的属性和方法,还可以在子类中重新定义,追加属性和方法继承的格式格式:public class 子类名extends父类名()范例:public class ZiextendsFu()Fu:是父类,也被称为基类,超类Zi:是子类,也被称为派生类继承中子类的特点子类可以有父类的内容子类还可以有自己特有的内容。...

2022-08-15 14:04:11 106

原创 黑马程序员Java基础入门(九)集合基础(包含ArrayList类的使用)

编程的时候如果要存储多个数据,使用长度固定的数组存储格式,不一定满足我们的需求,更适应不了变化的需求,那么,此时该如何选择呢?集合类的特点:提供一种存储空间可变的存储模型,存储的数据容量可以发生改变集合类有很多,目前我们先学习一个 :ArrayList可调整大小的数组实现是一种特殊的数据类型,泛型。那怎么用?在出现E的地方我们使用引用数据类型替换即可举例:ArrayList,ArrayList...

2022-08-12 21:42:13 1482

原创 黑马程序员Java基础入门(八)字符串

1.API1.1API概述1.2如何使用帮助文档2.String2.1String概述2.2String构造方法2.3String对象的特点2.4字符串的比较3.StringBuilder3.1StringBuilder概述3.2StringBuilder构造方法3.3StringBuilder的添加和反转方法3.4StringBuilder和string相互转换...

2022-08-10 23:02:50 115

原创 黑马程序员Java基础入门(七)面向对象基础

1.类和对象1.1什么是对象1.2什么是面向对象1.3什么是类1.4什么是对象的属性1.5什么是对象的行为1.6类和对象的关系1.7类的定义1.8对象的使用2.对象内存图2.1对象内存图(单个对象)2.2对象内存图(多个对象)​编辑2.3对象内存图(多个对象指向相同)3.成员变量和局部变量3.1什么是成员变量和局部变量3.2成员变量和局部变量的区别4.封装4.1private关键字4.2private关键字的使用4.3this...

2022-08-08 00:12:09 228

原创 黑马程序员Java基础入门(六)方法

1.方法概述1.1什么是方法2.方法的定义和调用2.1方法定义2.2方法调用2.3方法调用过程2.4方法练习3.带参数方法的定义和调用3.1带参数方法定义3.2带参数方法调用3.3形参和实参3.4带参数方法练习4.带返回值方法的定义和调用4.1带返回值方法定义4.2带返回值方法调用4.3带返回值方法练习5.方法的注意事项5.1方法注意事项5.2方法的通用格式6.方法重载6.1方法重载概述6.2方法重载的特点6.3方法重载练习7.方法的参数传递7.1方法参数传递(基本类型)7.2方法参数的传递(...

2022-08-04 17:08:25 1244

原创 黑马程序员Java基础入门(五)数组

1.数组定义格式1.1数组概述1.2什么是数组1.3数组的定义格式2.数组初始化之动态初始化2.1数组初始化概述2.2数组初始化方式2.3动态初始化3.数组元素访问4.内存分配4.1java中的内存分配4.2数组内存图(单个数组)4.3数组内存图(多个数组)4.4数组内存图(多个数组指向相同)5.数组初始化之静态初始化5.1数组初始化之静态初始化6.数组操作的两个常见小问题6.1数组操作的两个常见小问题7.数组常见操作7.1遍历7.2获取数组元素数量7.3获取最值...

2022-07-22 18:49:36 157

原创 黑马程序员Java基础入门(四)循环语句

1.for循环语句1.1循环结构1.2for循环语句的格式2.while循环语句3.do...while循环语句3.1do...while循环语句3.2三种循环的区别4.控制跳转语句4.1跳转控制语句概述5.循环嵌套5.1循环嵌套概述6.Random6.1Random的作用和使用步骤...

2022-07-21 14:24:34 567

原创 黑马程序员Java基础入门(三)分支语句

目录学分支语句前先学习一下数据输入语句1.数据输入1.1数据输入概述1.2Scanner使用的基本步骤(1)导包(2)创建对象(3)接收数据例子:2.流程控制2.1流程控制概述 2.2流程控制语句分类3.if语句3.1if语句格式13.2if语句格式2 3.3if语句格式34.switch语句4.1switch语句格式 import java.util.Scanner; 导包的动作必须出现在类定义的上边 Scanner sc = new Scanner(Syste

2022-07-20 16:18:51 325

原创 黑马程序员java基础入门(二)运算符

1.算术运算符1.1运算符和表达式1.2算术运算符1.3字符的“+”操作1.4字符串的“+”操作2.赋值运算符2.1赋值运算符3.自增自减运算符3.1自增自减运算符4.关系运算符4.1关系运算符5.逻辑运算符5.1逻辑运算符概述5.2逻辑运算符5.3短路逻辑运算符6.三元运算符6.1三元运算符...

2022-07-19 22:44:36 432

原创 黑马程序员java基础入门(一)基础语法

注释是在程序指定位置添加的说明性信息。注释不参与程序允许,仅起到说明作用。就是被java语言赋予了特殊含义的单词。常量在程序运行过程中,其值不可以发生改变的量。变量在程序运行过程中,其值可以发生改变的量。从本质上讲,变量是内存中一小块区域。格式数据类型变量名=变量值范例inta=10;标识符就是给类、方法、变量等起名字的符号。6.2标识符定义规则1.由数字、字母、下划线(_)和美元符($)组成。2.不能以数字开头3.不能是关键字4.区分大小写。...

2022-07-18 23:30:58 766

原创 c语言学习(十三)c语言文件操作

目录什么是文件程序文件数据文件文件名文件类型文件缓冲区文件指针文件的打开和关闭文件的顺序读写文件的随机读写文件结束的判定硬盘上的文件是文件。但是在程序设计中,我们一般谈的文件有两种:程序文件、数据文件包括源程序文件(后缀为.c)目标文件(windows环境后缀为.obj)可执行程序(windows环境后缀为.exe)。文件的内容不一定是程序,而是程序运行时读写的数据,比如程序运行需要从中读取数据的文件,或者输出内容的文件。我们后面要讨论的是数据文件。在以前各章所处理数据的输入输出都是以终端为对象的,即从终端

2022-07-09 21:10:13 61

原创 c语言学习(十二)动态内存分配

目录为什么存在动态内存分配动态内存函数的介绍mallor和freecallocrealloc常见的动态内存错误对NULL指针的解引用操作对动态开辟内存的越界访问 对非动态开辟内存使用free释放 对同一块动态内存多次释放动态开辟内存忘记释放(内存泄漏)几个经典的笔试题 c/c++程序的内存开辟c/c++程序内存分配的几个区域:柔性数组我们已经掌握的内存开辟方式有:int val = 20;//在栈空间上开辟四个字节char arr[10] = {0};//在栈空间上开辟10个字节的连续空间但是上述的开辟空间

2022-07-05 21:59:25 124

原创 c语言学习(十一)自定义数据类型-结构体

目录结构体结构体类型的声明结构的基础知识结构的声明结构的自引用结构体变量的定义和初始化结构体内存对齐修改默认对齐数结构体传参结构体实现位段(位段的填充&可移植性)什么是位段位段的内存分配 位段的跨平台问题位段的应用枚举枚举类型的定义枚举的优点枚举的使用联合(共用体)联合类型的定义联合的特点联合大小的计算结构是一些值的集合,这些值称为成员变量,结构的每个成员可以是不同类型的变量。struct tag{ member-list;}variable-list;例如描述一个学生:特殊声明 :

2022-06-29 19:11:51 425

原创 c语言学习(十)字符串函数和内存函数使用和剖析

目录本章重点函数介绍求字符串长度strlen长度不受限制的字符串函数strcpystrcatstrcmp长度受限制的字符串函数介绍strncpystrncatstrncmp字符串查找strstrstrtok错误信息报告strerror字符分类函数:字符转换函数:内存操作函数memcpymemmovememset--内存设置memcmp重点介绍处理字符和字符串的库函数的使用和注意事项size_t sstrlen(const char* str);返回字符串str的字符串个数字符串以'\0'作为结束标志,str

2022-06-21 22:02:48 198

原创 c语言学习(九)指针详解

目录 1.字符指针2.数组指针数组指针的定义3.指针数组 &数组名VS数组名数组指针的使用4.数组传参和指针传参一维数组传参二维数组传参 一级指针传参二级指针传参 5.函数指针阅读两段有趣的代码:6.函数指针数组7.指向函数指针数组的指针8.回调函数9.指针和数组练习题指针的主题我们在初始指针中接触过了,我们知道了指针的概念:1.指针是变量,用来存放地址,地址唯一标识一块内存空间。2.指针的大小是固定的4/8个字节(32位平台/64位平台)。3.指针是有类型的,指针的类型决定了指针的+-整数的步长,指针解

2022-06-09 10:24:28 609

原创 c语言学习(八)数据的存储

目录1.数据类型介绍类型的基本归类:整型在内存中的存储原码、反码、补码大小端介绍浮点型在内存中的存储2.整型在内存中的存储,原码,反码,补码3.大小端字节序介绍及判断4.浮点型在内存中的存储解析前面我们已经学习了基本的内置类型char //字符数据类型short //短整型int //整型long //长整型long long //更长整型float //单精度浮点数double //双精度浮点型//c语言有没有字符串类型?以及他们所占存储空间的大小。类型的意义:1.使用这个类型开辟内存空间的大小(大小决定

2022-06-02 21:48:43 90

原创 c语言学习(七)初识结构体

目录结构体类型的声明结构的基础知识结构的声明结构成员的类型结构体变量的定义和初始化结构体成员的访问结构体传参结构是一些值的集合,这些值成为成员变量,结构的每个成员可以是不同类型的变量。例如描述一个学生:结构成员的类型结构的成员可以是标量,数组,指针,甚至是其他结构体。有了结构体类型,那如何定义变量,其实很简单。结构体成员的访问结构体变量访问成员 结构体变量的成员是通过点操作符(.)访问的。点操作符接受两个操作数。例如: 我们可以看到s有成员name和age;那我们如何访问s的

2022-05-31 14:51:14 67

原创 c语言学习(六)初始指针

目录 1.指针是什么2.指针和指针类型指针+-整数指针的解引用3.野指针 野指针成因1.指针未初始化2.指针越界访问 3.指针指向的空间释放 如何规避野指针4.指针运算指针+-整数 指针-指针指针的关系运算 5.指针和数组6.二级指针7.指针数组在计算机科学中,指针是编程语言中的一个对象,利用地址,他的值直接指向存在电脑存储器中另一个地方的值。由于通过地址能找到所需的变量单元,可以说,地址指向该变量单元。因此,将地址形象化的称为“指针”。意思是通过它能找到以它为地址的内存单元。那我们就可以这样理解:内存指针

2022-05-30 00:32:29 56

原创 c语言学习(五)操作符详解

目录操作符算数操作符移位操作符(移动的是二进制位)左移操作符 移位规则:右移操作符 移位规则:位操作符 赋值操作符 复合赋值符单目操作符关系操作符逻辑操作符条件操作符逗号表达式下标引用、函数调用和结构成员1.[]下标引用操作符2.()函数调用操作符 接收一个或者多个操作符:第一个操作数是函数名,剩余的操作数是传递给函数的参数。3.访问一个结构的成员 表达式求值隐式类型转换整型提升的意义算术转换操作符的属性操作符优先级1.除了%操作符之外,其他的几个操作符可以作用于整数和浮点数。2.对于/操作符如果两个操作

2022-05-28 21:57:43 208

原创 c语言学习 (四) 数组

目录1.一维数组的创建和初始化1.1数组的创建1.2数组的初始化2.一位数组的使用3.一位数组在内存中的存储4.二维数组的创建和初始化4.1二维数组的创建4.2二维数组的初始化5.二维数组的使用6.二维数组在内存中的存储7.数组作为函数参数8.数组的应用实例1.三子棋9.数组的应用实例2.扫雷游戏数组是一组相同类型的元素的集合。数组的创建方式:type_t arr_name[const_n];type_t 是指数组的元素类型。arr_name 是数组名const_n 是一个常量表达式,用来指定数组的大小。

2022-05-25 23:31:55 229

原创 c语言学习(三) 函数和递归

本章主要掌握函数的基本使用和递归目录1.函数是什么?2.c语言中的分类2.1 库函数2.2 自定义函数3.函数参数3.1实际参数(实参)3.2形式参数(形参)4.函数的调用:4.1传值调用4.2传址调用练习:5.函数的嵌套调用和链式访问5.1嵌套调用5.2链式访问 6.函数的声明和定义6.1函数的声明6.2函数的定义7.函数的递归7.1函数递归7.1.1什么是递归?7.1.2递归的两个必要条件7.2 递归与迭代数学中我们常见到函数的概念。但是你了解c语言中的函数吗?维基百科中对函数的定义:子程序在计算机科学

2022-05-22 23:18:26 168

原创 c语言学习作业(一)学完了分支和循环做几道题巩固一下

目录1. 打印100~200之间的素数2. 输出乘法口诀表3. 判断1000年---2000年之间的闰年1. 打印100~200之间的素数素数,就是除了1和他本身,不能被其他数整除的数字。#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>int main(){ for (int i = 100; i <= 200; i++) { int a = 1; for (int j = 2; j &l...

2022-05-20 14:33:07 89

原创 c语言学习 (二)分支和循环和getchar的使用注意

目录二、分值语句和循环语句1.什么是语句2.分支语句(选择结构)2.1 ifif练习2.2 switchswitch练习3.循环语句3.1 while3.1.1break介绍3.1.2 continue介绍我们在这补充两点知识:EOF和getchar()(很重要!缓冲区问题)、putchar()3.2 for3.3 do while前言:c语言是一门结构化的程序设计语言1.顺序结构、2.选择结构、3.循环结构我们生活中所有的情况也就这三种本章我们重点学习分值语句和循环语句c语言中由一个分号,隔开的就是一条语

2022-05-19 18:37:34 501

原创 c语言学习(基础知识后半部分)

目录5.字符串+转义字符+注释6.选择语句7.循环语句8.函数9.数组10.操作数10.1算术运算符10.2移位操作符10.3赋值操作符 10.3.1单目操作符 10.3.2 双目操作符 10.3.3 三目操作符10.4复合赋值符10.5 关系操作符---比较两数直接大小之类的一些关系10.6 逻辑操作符10.7 逗号表达式 --- 逗号表达式的运算过程为:从左往右逐个计算表达式。10.8 下标引用、函数调用和结构成员11.常见关键字11.1关键字typedef11

2022-05-17 17:54:55 322

原创 c语言学习(前言+前半部分基本知识)系统学习关注我的c语言专栏

今天准备开始写博客,先从c语言开始,进行系统学习,c写完之后会进行数据结构、c++等等的学习更新我用的vs2019版本,如果不会下载可以在其他博客去找,或者b站上去查,有很多注意:vs2019的scanf需要加入宏定义#define_CRT_SECURE_NO_DEPRECATE如果觉得麻烦可以在vs的文件里搜索newc++File将其拉复制到桌面(直接改是改不了的,需要管理员权限),把#define _CRT_SECURE_NO_WARNINGS 1复制到第一行保存,把桌面的复制到所在路径,替换就好了 。

2022-05-15 13:38:17 510

空空如也

空空如也

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

TA关注的人

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