Java第一周期作业总结
经过一个月左右的学习,我已经从一个Java小白逐渐变成一个初学者,能够解决一些稍有难度的编程问题,老师的讲解和网上的资源对我帮助很大。本次博客主要针对的是前三次作业完成情况,这三次作业我能够按时保质保量的完成,这是值得表扬的,希望我能够继续保持。
第一次作业涉及到简单的算法问题、字符与数字转化问题以及对给定的数据进行分类及比较问题。第二次作业涉及到算法问题以及构造方法求日期问题。第三次作业涉及到构造类的算法问题以及面向对象设计日期问题。由此可见,每一次作业的难度是逐渐增加的。这符合我们学习中由易到难,由浅入深的规律。通过作业,我认为面向对像和面向过程并不绝对分离。Java是面向对象的语言,但解决问题,还是得面向过程,无论做什么总是有步骤吧。面向过程编程时,我们想,第一步做什么,第二步做什么,也就是方法1,方法2。面向对像编程时,我们想,这件事谁来做,那件事谁来做,也就是对象1,对象2。有人说面向对像编程最符合人的思维,尤其是在处理大的事件时,我们在分析时,考虑的是事件中有哪些角色,角色的功能(它们能做什么),角色间的相互关系。只有明白了这些,我们才能协调这些角色达到我们的目的。我们可以多运用面向对象所各有的特征 继承,多态,抽象等等。分析问题不要太过于每个细节是怎么完成的。要从整体考虑,然后抽象出几个类。分析每个类所需要完成的任务,然后再互相调用。在完成作业的过程中我遇到过一些问题,比如第二次作业中String语句放置的位置不同导致输出结果不同,导致我调试了很多次,以及第三次作业中我想不到如何求两个日期相差天数的算法,最后通过资料查询与同学的帮助才得知可以通过求两个日期与0001年1月1日的时间差,再把它们相减求绝对值就可以了。由于自己底子薄弱,没有提前预习,并且对于算法的思想并不灵活,导致每次作业花费的时间比较长,每次作业的第一道题可以轻松的完成,后面的几道题需要先构思再通过构造函数,像拼拼图一样一点点把思路连接起来。我认为在编写程序的过程时,我们首先要保证环境的舒适,保证清醒的头脑,平和的心态,遇到问题不要急躁,运用debug进行单步调试效果会事半功倍。其次我认为打代码要遵守原则,一定要规范大小写,不要把代码打的很乱,这样等习惯养成了就很难改掉。最后打代码最好写注释,这样我们的思路不会突然中断,可以节省很多时间。
我认为:面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了;面向对象是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为。如果是面向对象的设计思想来解决问题。面向对象的设计则是从另外的思路来解决问题。面向对象设计一共有五个基本原则:1.单一职责原则 :就一个类而言,应该仅有一个引起它变化的原因。 一个类如果承担的职责过多,就等于把这些职责耦合在一起,一个职责的变化可能会削弱或者抑制这个类完成其他职责的能力。这种耦合会导致脆弱的设计,当变化时,设计会遭受意向不到的破坏。例如:游戏开发中 游戏界面,游戏逻辑 是分离的 类的职责分离。2.开放-封闭原则:软件实体(类,模块,函数等等)应该可以扩展,但是不可以修改。对扩展开放,对修改封闭 。开发过程中 需求有可能变化的地方 可以使用接口,抽象类3.依赖倒转原则:抽象不应该依赖细节。细节应该依赖抽象。 高层模块不应该依赖底层模块。两者都应该依赖抽象。 针对接口编程,不要对实现编程4.里氏代换原则:子类型必须能替换掉它们的父类型。一个软件实体如果使用的是父类的话,那么一定适用于其子类,而且察觉不出来父类对象和子类对象的区别。也就是说,在软件里面,把他们的父类都替换成子类。程序行为没有变化。 简单的说,子类型必须能替换掉他们的父类型。5.接口隔离原则:使用多个专门的接口,而不是使用单一总接口。接口隔离原则可以说是单一职责的必要手段,它的含义是尽量使用职能单一的接口,而不使用职能复杂、全面的接口。很好理解,接口是为了让子类实现的,如果子类想达到职能单一,那么接口也必须满足职能单一。
测试对于编码质量是十分重要的,例如有的时候我们的代码打完并不会报错,但当我们试着运行之后,错误便会显现出来。并且不同的代码运行的速度是不一样的,PTA上的测试点能够很好地检测我们的代码是否运行超时,是否能够通过所有的测试点。如果让我来设计测试点,我不会去故意为难学生,但是在一些易错点,易忽略掉的点来判断学生们是否将题目考虑周全。
这四周以来,我认为我的进步还是比较明显的,从最开始用eclipse创建package和class的生疏,对固定语句含义的不理解,到后来能够将报错降低到最低,不通过翻译就能明白错误的点在哪,并且能够很快解决问题,这一切都来源于自己不断的努力。虽然有的时候依然会犯一些低级错误,思路不清晰。但我相信熟能生巧,只要肯下功夫,主动学习,早晚会开窍的。
我认为老师上课用源代码来讲解效果是非常好的,而且每次都给我们布置课堂作业,虽然我内心是拒绝的,但是随学随练能够更好地巩固新学的知识点,所以只好咬牙坚持下去,希望自己在下一阶段能有更大的提高。

浙公网安备 33010602011771号