java结业作业_Java课程作业总结

一、前言:本次博客针对面向对象程序设计所有pta作业做一个总结。

二、作业过程总结

1、总结所有作业之间的知识迭代关系;

第一阶段作业中、第一次作业比较简单,是用Java解决简单的数学问题,考察Java程序的基础。第二次作业稍微加了点难度,使用Java中的“方法”解决一般的数学问题。第三次作业是这三次作业中最难的一个,引入Java中的“类”解决一般的数学问题。第二阶段的三次作业中,第一次主要是考察Java 中的字符串处理类以及正则表达式对输入字符串数据进行合法性校验及计算,这次作业难度递减,第一题水文数据校验及处理是主要考察点,另外两题只考察简单知识点,第一题中考察了字符串处理类以及正则表达式的应用,第二题蒙特卡罗方法求圆周率与第三题图形继承主要考察类的设计与类的继承。第二次作业主要考察对类的继承性和多态性的使用,另外也考察了正则表达式,其中第一题图形继承与多态考察的是类的继承与多态性,第二题一元多项式求导则在第一题的考察点上加上了正则表达式。第三次作业主要考察对类的继承性、多态性以及接口的使用,其中第一题图形卡片排序游戏考察类的继承与多态性以及接口的应用,它要求输入数字然后给出相应的输出然后再输出一遍排序后的结果,第二题图形卡片分组游戏与第一题考察点差不多,但是第二题比第一题操作要更复杂,第二题要求输入数字然后给出排序、排序并分组、总和排序最大值这些结果,第三题求素数属于加分题,考察算法的优化。第三阶段作业则是综合性作业,考察我们这门课程学习的综合水平,里面包含所有基础知识的运用。

2、如何通过作业逐步理解面向对象程序设计;

第一阶段作业、第一次用一个过程程序,第二次用方法解决其中的问题,第三次则引用类解决模块化的问题,引用类也正是从过程过渡到面向对象。第二阶段在编程时分别使用了封装性、类的继承性和类的多态性;封装性:在定义一个类的成员,使用private关键字说明这个成员的访问权限,只能被这个类的其他成员方法调用,而不能被其他的类中的方法所调用。类的继承性,类的继承可以高效率的简化代码,所以我觉得继承很好用。然后类的多态性主要是两种使用:(1)向上转型,子类为父类对象实例化,父类接受子类对象功能,调用的方法一定是子类所覆写过的方法;(2)向下转型主要特征,子类扩充了某些功能,这些功能父类没有定义,则需要执行向下转型,以调用子类特有的功能。

3、作业过程中遇到的问题及解决方法;

第一阶段: 第一次作业中,由于初次提交Java作业,不知道Java作业的提交形式,所以多次试验依然编译错误,最后在pta平台的帮助中看到Java作业的提交形式,解决了此问题。还有在第一次作业中第一道题,计算税率时多次出现计算错误,可能由于计算偏多,容易马虎,经过多次计算,这个问题得以解决。还有一个很容易犯也很容易改的问题,就是输入或输出格式错误,这个问题很容易由于粗心而犯错,但也很容易更正。

在第二次作业中,出现了一元二次方程以及计算日期的题目,在一元二次方程题型中,容易漏掉个别情况,比如:当二次项系数等于零时,此时应该输出输入错误,而不是继续计算结果,还有当一次项系数和常数都等于零时,此时输出零。而在日期计算题型中,容易出现个别特殊情况的日期出现计算错误的情况,通过多次仔细检查可以解决这个问题。

在第三次作业中,依然是在日期计算题型中出现了问题,在第二题中,定义了一个类,而当时我并不知道返回值应该是什么,向同学提问后解决了,还有在第三题与第四题中,一些类的设计方法很难解决,需要花费较多时间。

第二阶段:第一次作业中,我不会对浮点型数据保留两位小数,于是上网查找方法,最后用这种方式解决的

【System.out.println(String.format("%.2f",pp.getVolume()));】

在第三次作业中主要遇到的就是输出结果中的一些细节错误,比如输出格式不符、输出模式不符等等,这些问题在一个个查找之后很容易解决。

4、每次作业花费时间比例;

5、对编程过程的严谨性的认识和教训;

编程过程中必须步步为营,不能马虎半步,否则程序编译出来后会出现各种错误,后期修改错误花费的时间会比仔细步步为营花费的时间更多。所以我们着急写完程序并不是好的选择,我们应该在编程过程中花费应有的时间,在编程过程中花心思,减少程序的错误。

一、OO设计心得

1、面向过程与面向对象的比较;

面向对象编程主要考虑业务逻辑,而面向过程编程主要考虑代码实现。面向对象编程更高级、更抽象、更具有实用性的编程思维,符合生活中人类的思维方式。

2、面向对象设计的基本原则理解;

你设计类的时候,时刻要考虑,尽量让这个类是足够好,写好了就不要去修改了,如果新需求来,我们增加一些类就完事了,原来的代码能不动则不动。我们要为各个类建立专用的接口,而不要试图去建立一个很庞大的接口供所有依赖它的类去调用。编程应保持单一原则。

3、OO编程思维的理解;

面向对象程序设计思维就是可以满足“应对变化,提高复用”的思维。

4、对面向对象三大技术特性之间关系的理解;

封装性使代码模块化,继承性使代码可以重复使用,多态性使代码能够灵活运用。

5、面向对象设计的基本原则理解(单一职责原则及“开-闭”原则);

单一职责原则:就一个类而言应该只有一个因其他变化的原因。

开-闭原则:就是我们改变一个软件时(比如扩展其他功能),应该通过扩展的方式来达到软件的改变,而不应爱修改原有代码来实现变化。

6、OO编程思维的理解;

面向对象程序设计思维就是可以满足“应对变化,提高复用”的思维。

7、类设计心得;

在类的设计过程中,我们要做到使代码模块化,并且容易阅读和使用。

四、课程收获

在学习的过程中一定要动手做、试着写代码,而不是抱一本书看看就行。很多东西和体会必须自己动手才能真正属于自己。在Java的学习过程中,可能会遇到形形色色的问题不容易解决,应多去专业论坛了解相关的知识,书本上的知识有限。要会从网上搜索有用的信息加以整理,促进学习的深入和知识水平的提高。总的来说就是多看,多动,多想。

五、对课程的建议

学生更加关注实践性,而非空洞的理论。教学中,老师们应尽量理论联系实际,如此,学生才有兴趣,学习也会更有成效。一味的理论系统学习,一味的拔高会逐渐让大家失去耐心,空洞的理论给学生一种虚无缥缈的感觉,日渐萎缩的兴趣自然要给教学大打折扣。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值