Java学习第一阶段
前言:
本次博客主要对第一阶段的作业进行一个总结,主要针对作业,本次作业共分三次,每一次之间都存在知识的递进。下面我就本次作业为主,淡淡自己的收获!
一.作业过程总结
1.总结三次作业之间的知识迭代关系。
先说说第一次作业,第一次作业只要还是用到之前学到的c语言知识,包括选择结构、循环结构等,是用Java的语法来学c语言程序,主要是考虑到学生才学完c语言,刚学java,这样做的目的也很明确,就是为了让同学们既复习了c语言,又可以对java有个认识,更好的融入到之后Java的学习,可以为之后的Java学习提供一个好的条件。
比如计算税率这个题目:题目量很大,写代码花了很长时间,但是其中的算法却不是很难,用c语言完全可以解决,而这个时候,代码的严谨程度就显得特别重要了。
再就是第二次作业,第二次作业先比较第一次作业,难度上有很大的提升,不在是纯粹的c语言程序,第二次作业用到了java的方法,在我看来,这个方法与c语言的函数相差不大,这是作业是在第一次作业的基础上将其中的算法用java的方法单独写出来,让程序更加的简洁明了,更有结构性。
第三次作业的难度明显有了很大的提升,这次作业已经不仅仅局限于方法了,它需要学生去自己设计类,已经用到了面向对象的方法了,它需要根据前两次的作业的方法整合起来放到一个类里面去,后面两题更是要根据类图写代码了。
总的来说,这三次作业的难度在逐步提升,知识也存在迭代。一环扣一环,如果你那一环没跟上,后面的作业都会有困难。老师也是一直在提醒我们,Java的学习绝不是一下就能学好的,它是一门技术,是需要不断训练、不断学习才能学好的。
2.如何通过作业逐步从面向过程到面向对象
我认为,作业是学习的天梯,一个人的学习水平的高低,与作业是分不开的,你只要通过不断的训练,不停的复习巩固,你才能学好,而写作业这个过程中,你可以得到充分的训练,也可以学到新知识,还可以复习巩固你的旧知识。学Java也是一样的,Java是一门技术,从面向过程到面向对象,需要很多的作业来逐步掌握其核心。
3.作业中遇到的问题及解决方法
one:代码过长问题。
在做第二次作业的最后两题时
初次的代码是这样的:if(month == 1){
day ==31};
if(month == 2){
if( isLeapYear(year) == true){
day = 29;}
else month = 28;}
.........
代码很长很啰嗦,后来经过优化调整,代码变成了这样:
最终才得以解决问题。
two:思维不够严谨。
在做第二次作业的第一题求一元二次方程的根时,有一个测试点
大家都知道当b的平方减4ac的 时候方程只有一个根,当b和c都为0的时候,方程也只有一个根。当时我的思维不够严谨,没有考虑到第二种情况,导致后面提交时一直答案错误,花了很长很长时间才把错误找出,思维上出错是 最难找出来的,所以,在我们写代码前一定要先把思维理清,严谨严谨再严谨,才能不放这种错误。
4.每次作业花费时间的比例
| 时间比例 | 7-1 | 7-2 | 7-3 | 7-4 | 7-5 |
| 第一次作业 | 40% | 20% | 20% | 10% | 10% |
| 第二次作业 | 10% | 40% | 30% | 20% | 无 |
| 第三次作业 | 10% | 30% | 30% | 30% | 无 |
5.对编程过程的逻辑严谨性的认识及教训
编程我觉得最重要的就是思维的清晰、逻辑的严谨,在每次编程前,我们都应该将程序的需求想好,根据需求通过严谨的逻辑推理来制定算法,写代码只是最后的工作。在逻辑的严谨性上,我犯下很多不该犯的错误,我会吸取教训,不断向前。
二.OO设计心得
在我看来,oo就是对象与对象之间的关系,每个对象都有单一职责原则,也就是说每个对象只做它自己的事,只管自己,而oo就是一个对象去访问另一个对象,可以调用它的方法,如果属性是公有的,还可以调用属性。每个对象的设计都以简为好,这样在处理复杂问题也可以轻松解决。oo设计能够更好的解决实际的问题。
三.测试的理解与实践
每个程序被设计出来的作用就是用来解决问题的,如果这个程序本身就有问题,那何来的解决其他问题,因此,程序的测试就显得格外重要,程序的测试不仅仅在这个程序能否成功解决问题,还在于这个程序的质量是否良好。比如一个计算器程序,它可以在经过简单的测试后确实可以实现计算的功能,但是却没有测试其程序质量,可能这个计算器程序计算一个简单的加减乘除都需要几分钟,比我们人工计算都慢,那么这个程序将毫无意义。所以。程序测试是每个程序都要经历的最后一关。
四.课程收获
通过这个月的Java学习,我已经对Java有了一个浅层的了解,oo思维也得到了很大的训练,也发现了自己的很多问题,在以后的学习中我都会一样一样的去跟进。
五.对课程的建议
老师上课的时候可以多用些例子来讲知识点,想雨刷例子一样,可以多写一下代码,能够让学生更好的理解。谢谢!

浙公网安备 33010602011771号