自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 人机界面的风格经过了四代演变

人机界面的风格大致经过了四代的演变:①命令和询问方式②菜单式③面向窗口的点选界面④HCI技术与超文本、多任务概念结合起来

2021-01-25 22:36:28 1227

原创 串的定义

串的定义串,即字符串(String)是由零个或多个字符组成的有限序列。一般记为S = ‘a1a2……an’(n ≥ 0)其中,S是串名,单引号括起来的字符序列是串的值;ai可以是字母、数字或其他字符;串中字符的个数n称为串的长度。n = 0时的串称为空串(用∅表示)。例:S = “HelloWorld!”T = ‘iPhone 11 pro Max?’【注】有的地方用双引号,如Java、C有的地方用单引号,如Python子串:串中任意个连续的字符组成的子序列。 eg.‘

2021-01-24 22:22:44 531

原创 中缀表达式的计算

中缀表达式的计算(用栈实现)用栈实现中缀表达式的计算:初始化两个栈,操作数栈和运算符栈若扫描到操作数,压入操作数栈若扫描到运算符或界限符,则按照“中缀转后缀”相同的逻辑雅鹿运算符栈(期间也会弹出运算符,每当弹出一个运算符时,就需要在弹出两个操作数栈的栈顶元素并执行相应运算,运算结果再压回操作数栈)...

2021-01-23 20:30:10 200

原创 中缀表达式转后缀(机算)

中缀表达式转后缀表达式(机算)初始化一个栈,用于保存暂时还不能确定运算顺序的运算符。从左到右处理各个元素,直到末尾。可能遇到三种情况:①遇到操作数。直接加入后缀表达式。②遇到界限符。遇到“(”直接入栈;遇到“)”则依次弹出栈内运算符并加入后缀表达式,直到弹出“(”为止。注意:“(”不加入后缀表达式。③遇到运算符。依次弹出栈中优先级高于或等于当前运算符的所有运算符,并加入后缀表达式,若碰到“(”或栈空则停止。之后再把当前运算符入栈。按上述方法处理完所有字符后,将栈中剩余运算符依次弹出,并加入后缀表

2021-01-22 21:42:09 80

原创 软件生产发展的三个时代

软件生产的发展划分成三个阶段:程序设计时代:这一时期,软件的生产主要是个体手工劳动的生产方式。程序系统时代:由于计算机的应用领域不断扩大,需求不断增长,软件由于处理问题域不断扩大而变复杂。设计者形成小作坊生产方式小集团合作生产的程序系统时代。软件工程时代:生产方式是采用工程的概念、原理、技术和方法,使用数据库、开发工具、开发环境、网络、分布式、面向对象技术来开发软件。...

2021-01-21 00:48:33 4622

原创 多态注意事项

多态注意事项多态,即同一方法可以根据发送对象的不同而采取多种不同的行为方式。 一个对象的实际类型是确定的,但可以指向对象的引用的类型有很多(父类,有关系的类)多态存在的条件有继承关系子类重写父类方法子类引用指向父类对象多态注意事项:①多态是方法的多态,属性没有多态②只能在父类和子类之间 类型转换异常:ClassCastException③存在条件:继承关系,方法需要重写,父类引用指向子类对象 Father f1 = new Son()instanceof (类型转换

2021-01-17 21:16:23 80

原创 风险管理

风险管理现代项目管理与传统项目管理的不同之处就是引入了风险管理技术。风险:在给定情况下和特定时间内,那些可能发生的结果与预期结果之间的差异,差异越大,风险越大。风险的两个特性: ① 不确定性:可能发生,可能不发生② 损失风险管理的整个过程可以分为四个步骤:风险识别、风险估算、风险分析、风险驾驭风险的类别项目风险:可能对项目的预算、进度、人力、资源、顾客和需求等方面产生不良影响的潜在问题。技术风险:潜在的设计、实现、接口、验证和维护等方面的问题,此外,规约的二次性、技术的不确定性、陈旧或不成熟

2021-01-16 20:20:11 129

原创 Java中this关键字的三种用法

Java中this关键字的三种用法:在本类成员方法中,访问本类的成员变量。在本类的成员方法中,访问本类的另一个成员方法。在本类的构造方法中,访问本类的另一个构造方法。此时注意:①this(…)调用也必须是构造方法的第一个语句,唯一一个。②super和this两种构造调用,不能同时使用。...

2021-01-13 21:00:43 118

原创 Java中super关键字的三种用法

Java中super关键字的三种用法:在子类的成员方法中,访问父类的成员变量。在子类的成员方法中,访问父类的成员方法。在子类的构造方法中,访问父类的构造方法。

2021-01-13 21:00:11 147

原创 Java继承中构造方法的访问特点

Java继承中构造方法的访问特点子类构造方法当中有一个默认隐含的“super()”调用,所以一定是先调用的父类构造,后执行的子类构造。子类构造可以通过super关键字来调用父类重载构造。super的父类构造调用,必须是子类构造方法的第一语句。不能一个子类构造调用多次super构造。总结:子类必须调用父类构造方法,不写则赠送super();写了则用写的制定的super调用,super只能有一个,还必须是第一个。...

2021-01-12 18:11:10 73

原创 21.1.12Java继承的方法覆盖重写

Java继承的方法覆盖重写在父类的继承关系当中,创建子类对象,访问成员方法的规则:创建的对象是谁,就优先用谁,如果没有则向上找。无论是成员方法还是成员变量,如果没有都是向上找父类,绝对不会向下找子类。重写(Override)概念:在继承关系当中,方法的名称一样,参数列表也一样。又叫覆写、覆盖。注意事项:①必须保证父子类之间方法的名称相同,参数列表也相同。@Override:写在方法前面,用来检测是不是有效的正确覆盖重写。这个注释就算不写,只要满足要求,也是正确的方法覆盖重写。②子类方法的

2021-01-12 18:10:43 73

原创 Java中的Math工具类

Java中的Math工具类java.util.Math类是数学相关的工具类,里面提供了大量的静态方法,完成与数学运算相关的操作。常用方法有:*public static double abs(double num);*获取绝对值。有多种重载。*public static double ceil(double num);*向上取整*public static double floor(double num);*向下取整*public static long round (double num);*

2021-01-11 22:29:28 101

原创 Java中的Arrays工具类

Java中的Arrays工具类java.util.Arrays是一个与数组相关的工具类,里面提供了大量静态方法,用来实现数组常见的操作。public static String toString(数组):将参数数组变成字符串(按照默认格式:[元素1,元素2,元素3…])public static void sort(数组):按照默认升序(从小到大)对数组的元素进行排序。备注:①如果是数值,sort默认按照升序从小到大②如果是字符串,sort默认按照字母升序③如果是自定义的类型,那么这个自定义的

2021-01-11 22:28:59 71

原创 Java继承中的成员方法与变量

Java继承中的成员方法与变量成员变量的访问特点:在父类的继承关系当中,如果成员变量重名,则创建子类对象时,访问有两种方式。直接通过子类对象访问成员变量:等号左边是谁,就优先用谁,没有则向上找。间接通过成员方法访问成员变量:​ 该方法属于谁,就优先用谁,没有则向上找。成员方法的访问特点:在父子类的继承关系当中,创建子类对象,访问成员方法的规则:创建的对象是谁,就优先用谁,如果没有则向上找。⚠️注意事项:无论是成员方法还是成员变量,如果没有都是向上找父类,绝对不会向下找子类

2021-01-11 22:27:04 137

原创 Java中的static关键字

Java中的static关键字基本概念:一旦使用static修饰成员方法,那么这就成为了静态方法。静态方法不属于对象,而是属于类。如果没有static关键字,那么必须首先创建对象,然后通过对象才能使用它。如果有了static关键字,那么不需要创建对象,就能直接通过类名称来使用它。无论是成员变量,还是成员方法。如果有了static,都推荐类名称进行调用。根据类名称访问静态成员变量的时候,全程和对象就没有关系,只和类有关系,只和类有关系。静态变量:类名称.静态变量静态方法:类名称.静态方法()⚠

2021-01-10 22:15:04 63

原创 Java中String类

Java中String类基本概念:java.lang.String类代表字符串,API当中说:Java程序中的所有字符串字面值(如“abc”)都作为此类的实例实现。其实就是说:程序当中所有的双引号字符串,都是String类的对象。(就算没有new,也照样是。)字符串的特点:字符串的内容永不可变。⚠️【重点】正是因为字符串不可改变,所以字符串是可以共享使用的。字符串效果上相当于是char[]字符数组,但是底层原理是byte[]字节数组。创建字符串的常见3+1种方式:三种构造方法:pu

2021-01-09 15:36:43 247

原创 Java中ArrayList集合

Java中***ArrayList***集合1.基本概念:数组的长度不可以发生改变。但是***ArrayList***集合的长度是可以随意变化的。对于***ArrayList***来说,有一个尖括号代表泛型。泛型:也就是装在集合中的所有元素,全都是统一的某个类型。注意:泛型只能是引用类型,不能是基本类型。⚠️ 输出:对于***ArrayList***集合来说,直接打印得到的不是地址值,而是内容。如果内容是空,得到的是空的中括号:[]2.常用方法:***public boolean ad

2021-01-08 22:51:24 100

原创 局部变量与成员变量

局部变量和成员变量定义的位置不一样⚠️【重点】局部变量:在方法的内部成员变量:在方法的外部,直接写在类当中作用范围不一样⚠️【重点】局部变量:只有方法当中才可以使用,出了方法就不能再用成员变量:整个类全都可以通用默认值不一样⚠️【重点】局部变量:没有默认值,如果要想使用,必须动手进行赋值成员变量:如果没有赋值,会有默认值,规则和数组一样内存的位置不一样(了解)局部变量:位于栈内存成员变量:位于堆内存生命周期不一样(了解)局部变量:随着方法进栈而诞生,随着方法出栈而消失成员变量

2021-01-07 17:29:34 60

原创 Java中的浮点类型

Java中的浮点类型浮点类型用于表示有小数部分的数值。在Java中有两种浮点类型:float 4字节 大约±3.402 823 47E+38F (有效位数为6~7位)double 8字节 大约±1.797 693 134 862 315 70E+308(有效位数为15位)double表示这种类型的数值精度是float类型的两倍(有人称之为双精度数值)。绝大部分应用程序都采用double类型。在很多情况下,float类型的精度很难满足需求。实际上,只有很少的情况适合使用float类型,例如

2021-01-06 19:13:04 965

原创 传统方法学中涉及到的文档

传统方法学中涉及到的文档根据用途对文档进行分类:用户文档:操作手册、用户手册、软件需求说明书开发文档:软件需求说明书、概要设计说明书、详细设计说明书、数据要求说明书、数据设计说明书、项目开发报告、测试计划、测试报告分析报告管理文档:可行性分析报告、项目开发计划、项目开发总结报告生命周期各阶段涉及到的文档:软件计划阶段:可行性分析报告、项目开发计划需求分析阶段:项目开发计划、软件需求说明书、确认测试计划、用户手册、操作手册总体设计阶段:系统说明、用户手册、测试计划、详细的实现计划、数据库设计结

2021-01-05 19:46:11 113

原创 结构化测试

G.Myers给出了关于测试的一些规则,这些规则也可以看作是测试的目标或定义。①测试是为了发现程序中的错误而执行程序的过程。②好的测试方案是极可能发现至今为止尚未发现的错误的测试方案。③成功的测试是发现了至今为止尚未发现的错误的测试。单元测试:集中对用源代码实现的每一个程序单元进行测试。把每一个模块作为一个**单独的实体来测试,而且通常比较容易**设计验证模块正确性的测试方案。单元测试的目的是保证每个模块作为一个单元能正常运行。单元测试的**重点**:①模块接口②局部数据结构③重要执行通

2021-01-04 22:09:41 1337 1

原创 super注意点

super注意点:super调用了父类的构造方法,必须在子类构造方法的第一个。super必须只能出现在子类的方法或者构造方法中!super和this不能同时调用构造方法!VS this:​ 代表的对象不同:​ this:本身调用者这个对象​ super:代表父类对象的应用​ 前提:​ this:没有继承也可以使用​ super:只能在继承条件才可以使用​ 构造方法:​ this():本类的构造​ super():父类的构造...

2021-01-04 20:38:25 130

原创 异常体系结构

Java把异常当做对象来处理,并当做对象来处理,并定义一个基类java.lang.Throwable作为所有异常的超类。在Java API中已经定义了许多异常类,这些异常类分为两大类,**错误Error**和异常Exception。

2021-01-04 20:21:00 99

原创 Java异常简单分类

要理解Java异常处理是如何工作的,需要掌握三种类型的异常:检查性异常:最具代表的检查性异常是用户错误或问题引起的异常,这是程序员无法预见的。例如要打开一个不存在文件时,一个异常就发生了,这些异常在编译是不能被简单地忽略。运行时异常:运行时异常是可能被程序员避免的异常。与检查性异常相反,运行时异常可以在编译时被忽略。错误:错误不是异常,而是脱离程序员控制的问题。错误在代码中通常被忽略。例如,当栈溢出时,一个错误就发生了,它们在编译也检查不到的。...

2021-01-04 20:19:53 64

原创 与矩阵的秩有关的结论

与矩阵的秩有关的结论A为m行n列矩阵,则有0 ≤ r(A) ≤ min{m,n}AT为A的转置,则有r(A) = r(AT) = r(AAT) = r(ATA)若A与B相似即A~B,则有r(A) = r(B)若P,Q可逆,则有r(PAQ) = r(A)max{r(A),r(B)} ≤ r(A,B) ≤ r(A) + r(B)当B为非零列向量时,有r(A) ≤ r(A,B) ≤ r(A) + 1r(A + B) ≤ r(A) + r(B)r(AB) ≤ min{r(A),r(B)}A为m行

2021-01-03 22:04:51 8543 5

原创 重写

重写:需要有继承关系,子类重写父类的方法。①方法名必须相同②参数列表必须相同③修饰符:范围可以扩大 public > protected > default > private④抛出的异常:范围,可以被缩小,但不能扩大ClassNoteFoundExpection < Exception重写,子类的方法和父类必须要一致,方法体不同为什么需要重写:父类的功能子类不一定需要,或不一定满足。...

2021-01-03 21:40:00 64

原创 不能被重写的修饰符

不能被重写的修饰符①static 方法,属于类,他不属于实例;②final 常量,不可修改;③private 方法,父类私有,没法被子类继承;

2021-01-03 21:34:33 398

原创 构造器的特点

构造方法特点:必须和类的名称相同必须没有返回值,也不能写void使用new关键字,本质是在调用构造器用来初始化值如果在类中没加入任意构造器,编译后会自动加入空构造(无参构造器);若已加入构造器,编译后则不会自动加入构造器可以存在return,return有选择的跳出构造器alt+insert 自动生成构造器注意点:定义有参构造之后,如果想使用无参构造,显示的定义一个无参的构造...

2021-01-02 21:58:30 429

原创 稀疏数组Java实现

稀疏数组当一个数组中大部分的元素为0,或为同一个值的数组时,可以使用稀疏数组来保存该数组。稀疏数组第一行记录原数组的行数、列数、非零个数稀疏数组代码实现有一数组array1代码定义://原始数组int[][] array1 = new int[11][11];array1[1][2] = 1;array1[2][3] = 9;array1[3][5] = 8;array1[4][5] = 5;输出原始数组:System.out.println("输出原始的数组");for

2021-01-01 20:01:48 84

原创 软件工程

软件工程整理基于张海藩老师出版的《软件工程导论(第六版)》,简单整理软件工程各章知识。第一章 软件工程学概述1.1软件危机1.1.1软件危机的介绍软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。软件危机包括下述两个方面:如何开发软件,以满足软件日益增长的需求。如何维护数量不断膨胀的已有软件。软件危机主要有一下一些典型表现:对软件开发成本和进度的估计常常不准确用户对“已完成的”的软件系统不满意的现象时常发生软件的质量往往靠不住软件常常是不可维护的软件通常没

2021-01-01 00:42:24 5755

原创 变量的命名规范

变量的命名规范所有变量、方法、类名:见名知意类成员变量:首字母小写和驼峰原则。eg. monthSalary局部变量:首字母小写和驼峰原则常亮:大写字母和下划线。eg. MAX_VALUE类名:首字母大写和驼峰原则。eg. Man,GoodMan方法名:首字母小写和驼峰原则。eg. run(),runRun()...

2020-12-31 00:40:52 117

空空如也

空空如也

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

TA关注的人

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