java作业总结_java作业的第一次总结

本文是对第一阶段Java作业的总结,包括对类和对象的理解深化,编程过程中的问题及解决方法,以及面向对象设计和测试的重要性。通过作业,作者认识到编程的严谨性以及面向对象思维在提升代码实用性和利用率上的价值。
摘要由CSDN通过智能技术生成

1.前言

针对我们第一阶段的作业(共三次:pta中的作业)发表总结性博客。

2.作业过程总结

作业练习心得总结:①第一周的作业我做起来感觉有点C语言的韵味,但是这应该就是一种过渡性的作业,让我们从C语言的思维过渡到Java面向对象的思维的铺垫。题目考查的内容包括:主要是考查if else的运用,还有就是了解了一些关于Java的输入和输出的方式,知道关于字符串获取字符的运用和动态数组的理解,了解了面向对象类型的应用,建立Java的编程思维。

②第二周的作业终于了解了类和对象。这一次作业是让我们从第一次的作业中的总结运用,这一次作业主要分为两方面。第一方面就是对一元二次方程进行求解,在编程的时候让我了解到如何创建数组,同时了解到一些变量的区别和运用条件,public,private等的区别和运用;第二方面主要是对日期变化求要求的结果,该部分也巩固了if else,同时让我了解到switch ,Boolean的运用。让我深刻的理解是做题目的时候必须思路清晰,这样才能做好,不然会绕晕自己的。追根究底这一次作业就是第一次作业的升华,巩固我对面向过程向面向对象过渡的进一步理解。

③第三周作业相当于第二次作业的升华,因此也分为两个方面,这也让我更加了解到类和对象。第一方面用类解一元二次方程式,其主要的内容和第二次作业的差不多,但是这里关键在于运用类来解方程,让我真正进入面向对象的思维模式来解决问题;第二方面的内如也是在第二次作业的日期方面进行进一步的运用,同样用类的方法设计程序。同时在这一次作业中让我们了解到类图(UML图)。通过UML图来写程序,分类进行程序设计。

总的来说,第一阶段的作业的目的就是让我从C语言的面向过程慢慢转向Java的面向对象,周期作业也是环环相扣,层层递进,让我们进一步了解类和对象。

作业过程中遇到的问题及解决方法:①第一次作业的问题:第一次作业相当于比较简单,基本上都是一些基础练习,但是还是有点问题。第一题的一个测试的总是过不去,原因在于考虑不全面,并未考虑到输入为负数的情况;而第四题判断三角形的类型的题目中,结果总是说判断等腰直角三角形错误,后来将判断语句加一个Math.ceil(Math.pow(a,2)+Math.pow(b,2)==Math.ceil(Math.pow(c,2))解决了,因为输入的数是实数,那么长边可能是无理数,所以要四舍五入,因此加Math.ceil解决;第五题的统计最大数出现次数这一题的问题在于创建数组的时候出现了问题,然后通过查资料我选择用动态数组解决问题     ArrayList list =  new ArrayList()。

②第二次作业的问题:第二次感觉在于思路清晰,还是if else嵌套运用。第二题嵌套好多if else,自己一不注意就导致逻辑的错误。还有日期总数少了一天,后来发现了如果是闰年咋办,就加了一个判断:if(isLeapYear(year)&&(month>2)){ day++;},因为闰年的2月有29天比平年多一天。

③第三次作业的问题:第二题的问题在于运行超时在算前n天和后n天里,后来为了改善我的算法,加了while语句  while(n>365){

if(isLeapYear(date.getYear())){

n=n-366;

}

else{

n=n-365;

}

date.setYear(date.getYear()+1);

}

来优化算法。同时在求日期差的问题里,一开始逻辑紊乱,后来在同学的提醒下我运用之前的作业的方法,求每一个日期到一个固定日期的天数,然后两个日期的差的绝对值就是日期差。

每次作业花费的时间比例:第一次作业:第二次作业:第三次作业=1:2:5第一次作业比较简单,花费时间较短,第二次是第一次的升华,难度系数也难了一点点,所以花的时间差不多是第一次的两倍,第三次作业作为真正的面向对象的类和对象的题目,一开始让我有点蒙,所以花费时间较长。

对编程过程的严谨性的认识及教训:通过第一阶段的练习让我知道了,编程过程的严谨性十分重要,就像我的逻辑思维问题,一下子没写好,找错误就是一下午或者一天,有可能是一个括号的问题都会让自己找错误找好久,这样就很浪费时间。一个好的编程思维会让代码更实用,更加的简洁易懂。所以在我后续写代码的过程中,我要对编程的严谨性做规划。

3.OO设计心得

面向过程和面向对象的比较:面向过程的重点在于过程,其一步一步的为解决问题把需要的的函数写出来,比如C语言的代码就是这种思维方式;而面向对象的重点在于对象,把不同的对象写出来,然后将这些对象结合其目的在于解决问题,而不是为了解决问题而写出来的。

面向对象设计的基本原则理解:我觉得我在第一阶段的学习中了解到面向对象设计在于类和对象的理解和构造。因为其的核心在于软件的实用性,所以引用类和对象的关系提高代码的实用性和利用率。

OO编程思维的理解:我觉得oo编程的思维在于类和对象的关系,利用类和对象的方式去提高代码的实用性和利用率,层层递进,去解决所需要解决的问题。

4.测试的理解与实践

测试对于编码质量的重要性:测试可以验证编程的代码的正确性和实用性,如果没有测试,那么写的代码可能欠缺很多,这样的实用性差,可能在某个范围内,代码是可读的但是特殊案例就不可读,这样如果有测试我们就会让优化代码,让代码的质量提升,实用性和利用率提高,所以测试对于编程的质量起决定性的作用。

假如让你设计测试用例,你会如何做:基本上就是测试该题目的那些特殊案例,和一般情况下,我们很难考虑到的一些情况,因为正常情况我们写代码运行的时候就会自己测试,只有那些“边边角角”的问题我们自己都很难注意,这样才能实现有测试的真正用意。

5.课程收获

我觉得这一个月以来,学习面向对象最大的收获就是学习到了类和对象,还有封装,同时还有一些变量的类型,类型不同所用的方法也不同。

6.对课程的建议

代码的核心在于编程思维和编程能力,而编程的思维要通过练习来逐步形成的,所以希望老师可以带领我们多多练习,提高我们的编程能力和编程思维。

7.之后一个阶段的计划

跟着老师的进度下一个阶段的学习主要就是大作业了,通过从其他方面了解大作业后知道,大作业才是真正面向对象的全面运用,也是对前一段时间学习的运用和下一阶段学习的铺垫,并且具有一定的难度。就我而言,我觉得我既缺少编程思维也欠缺编程能力,所以要多多花时间去提高自己编程能力和思考题目的思维方式。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值