自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 软件构造博客final

软件构造虽然结课了,但是给我的一个巨大收获之一就是使用git管理代码。Git是目前世界上最先进的分布式版本控制系统。其基本原理大概如下图所示Workspace:工作区Index / Stage:暂存区Repository:仓库区(或本地仓库)Remote:远程仓库在电脑上安装好git后,只需在一个你想要的工作目录右键点击git bash here如果不是clone下来的项目,没有.git文件,需要第一步进行初始化本地仓库,输入git init指令。然后使用git ad.

2021-07-09 23:23:07 88

原创 2021-07-08

明天软件构造就期末考试了,今晚也是复习完了最后一章,重点是异常。java中Throwable这个类可以被作为异常抛出的类,继承它的分为异常Exception和错误Error.Exception表示程序需要捕捉和处理的的异常;Error表示系统级别的错误和程序无需处理的。异常处理是与程序执行是并行的,可以用try语句来实现checked异常的捕捉和处理。如下:try{//可能发现异常的语句块}catch(异常类型,e){//发生异常时候的执行语句块} finnally{//不管是否发生异常

2021-07-08 01:16:34 49

原创 20210707

今天的软件构造已经复习完了ADT和OOP的等价性。其中个人认为比较重点的是equals和hashcode的重写。equals和hashcode的关系如下:两个对象相等,hashcode一定相等两个对象不等,hashcode不一定不等hashcode相等,两个对象不一定相等hashcode不等,两个对象一定不等对于equals的重写是因为Object中的equals默认是按==来进行判断相等的,也即判断引用或者内存地址是否相同,这使得如果我们判断相等的标准与其产生冲突后,一定要对其

2021-07-07 00:30:17 57

原创 20210629软件构造

在学习软件构造课程之后,我对于编程的理解发生了很大改变。现在已经进入了紧张的期末复习阶段,以下是我复习过程中产生的一些想法:1.Java语言的学习和使用我对java语言在我学习这门课之前还是比较生疏的,自从开始学习这门课后,自己也是自学了一些java语言,虽然学的很浅显,但我已经初步感受到了它的魅力,尤其是类这种组织方式,能够让程序更有模块化,所做的工作清晰明了,就算以后这门课结束了,我还会继续学习java,深化自己对它的理解,让自己能够更好的使用它。2.编写软件的基本过程首先在宏观上软件的

2021-06-29 23:41:27 91

原创 2021-06-24

今天软件构造结课了,回想起来,发现这门课其实很短暂,但学的内容却很充实。刚开始的我可以说是对java毫不了解,尽管老师在开课之前就让我们先自学java,但当时没太当回事,这就导致我开始上课各种听不懂。尤其是第一次实验,内容大概就是让我们先熟悉一下java编程和使用junit进行测试,当时的我可谓是十分痛苦,为了完成那次实验,我找到了java核心技术这本书,先大体上了解了一下这个语言的基础知识和基本操作,然后写实验的时候,想到用什么办法,但却又不知道怎么实现的,就去上网上查资料,总算是磕磕绊绊地完成了第一

2021-06-24 00:53:45 57

原创 2021-06-18

lab3的难度真的很大,而且量也很足。。。实验是完全从零写起,要提前规划好自己的项目结构,不然重构起来很费时间。Lab1和Lab2都是提前给好了框架,让你完善,这lab3可谓跟前两个不是一个难度级别。鼓捣半天终于实现了委托机制,但看见后面app的设计又要开始摸不着头脑了。。。总之就是,难度太大了,太多了根本写不完。。。而且好巧不巧的是,本次实验正好赶上考试周,很难做到复习与实验兼顾啊。。。...

2021-06-18 11:40:38 55

原创 2021-06-13

实验二的P1部分Graph.java涉及到了接口的知识,所以去网上查阅了相关资料:1、接口:一种把类抽象的更彻底,接口里只能包含抽象方法的“特殊类”。接口不关心类的内部状态数据,定义的是一批类所遵守的规范。(它只规定这批类里必须提供某些方法,提供这些方法就可以满足实际要求)。在JAVA编程语言中是一个抽象类型,是抽象方法的集合,接口通常以interface来声明。一个类通过继承接口的方式,从而来继承接口的抽象方法。接口并不是类,编写接口的方式和类很相似,但是它们属于不同的概念。类描述对象的属性和方法。

2021-06-13 17:43:25 88

原创 2021-06-09

一、迭代器简介(Iterator)迭代器是一种设计模式,它是一个对象,它可以遍历并选择序列中的对象,而开发人员不需要了解该序列的底层结构。迭代器通常被称为“轻量级”对象,因为创建它的代价小。Java中的Iterator功能比较简单,并且只能单向移动:(1) 使用方法iterator()要求容器返回一个Iterator。第一次调用Iterator的next()方法时,它返回序列的第一个元素。注意:iterator()方法是java.lang.Iterable接口,被Collection继承。(2) 使

2021-06-09 01:47:08 166

原创 2021-05-26

昨天晚上实验课提到了构造ADT,这其中就用到了java中构造一个类的方法,上网查阅资料,得知一个类的基本格式如下:定义一个类的基本格式[修饰符] class 类名{0到多个构造器0到多个成员变量0到多个方法0到多个初始化块}其中构造器也叫构造函数或者构造方法,构造器与类名相同,没有返回值,连void都不能写。成员变量是定义在类中,方法体之外的变量。这种变量在创建对象的时候实例化。成员变量可以被类中方法、构造方法和特定类的语句块访问。方法就类似于C语言函数。初始化块是用来初始化一些值的,

2021-05-26 14:23:31 35

原创 2021-05-18

静态检查可以在编译阶段就进行检查,例如String a = 6;这种情况,该情况的错误比较容易发生并改正,对于我这种java初学者应该是最容易发生这种错误。动态检查是对于“值”的检查,比如数值溢出,这种情况也应该比较容易意识到。最难发现的应该就是一些没有错误但结果不正确的情况,可能是浮点类型的相关错误,也可能是自己的算法出错了。总之,为了有效防范各种错误的方法,自己写代码的时候就要细心,而且要灵活运用debug工具去发现错误,对于一些典型的错误自己以后也要吸取教训。...

2021-05-18 16:26:37 44

原创 2021-05-13

上完第一次实验课了,大概看了一下第一题,幻方问题,第一问是要写一个判断是不是幻方的函数,本身判断的算法并不难,难点还是在于判断是否输入的数据合理,比如输入的不是一个行列式,有负数等,不过对我来说最难的还是用java语言吧,本身以前都没接触过,连函数第一步文件输入都还不知道怎么写。。。哎,这周事情太多,还是等周末考完试再自学一点相关的java语言吧。第二问是给一个生成幻方的代码写注释,由于我以前研究过,他这恰好是填幻方的一个算法。最后就是git的使用和实验的提交压根摸不到头脑,希望老师示范一下吧。。。DL总是

2021-05-13 17:55:38 41

原创 2021-05-10

今天按照老师发布的lab0尝试安装实验需要的相关环境,前面顺水推舟,但后面卡在了eclipse for 6.031的安装,网站上给的url已经过期了,于是我又去github clone下来了它的代码,然而还是没法安装。。。于是我选择了eclipese for java developer,简单测试了一下,发现能实现编译运行,插件什么的,以后用到再想办法安装吧。。。今天软件构造习题课上java自带的排序引起了我的注意,去查阅相关资料,发现以前老版本自带的排序方法原理是归并,而现在的是Timsort,是结合了

2021-05-10 23:58:22 52

原创 试验

2021-5-3

2021-05-03 23:22:16 105

空空如也

空空如也

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

TA关注的人

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