暑期java(面向对象设计)学习第一阶段总结
- 2020 年 8 月 5 日
- 筆記
0.前言
本次博客针对的是暑假学习java(面向对象设计)的前三次作业的小结,第一次作业:7-1 对三个整数排序 7-2
对四个整数排序 7-3 对十个整数进行排序 7-4 对多个整数进行排序
第二次作业:7-1 判断两个数组是否完全相同 7-2 判断两个数组是否相同 7-3判断数组中是否存在四个连续相等的数 7-4合并两个有序数组为新的有序数组 7-5 对整型数据排序
第三次作业:7-1 逆序输出英文句子 7-2 用类解一元二次方程式 7-3 创建账户类Account
1、作业过程总结:
①总结三次作业所训练的内容
第一次作业训练循环和升序排序算法的使用,题目难度循序渐进;第二次作业开始训练判断两个一维数组是否(完全)相同的算法和用类写升序排序算法的方法的使用,判断两个一维数组是否完全相同的题目,难度是循序渐进的,拓展了我们对比较两个一维数组的方式方法的知识面。同时,相较于第一次作业,这次作业题目难度有了一定程度的提高。第三次作业训练类的定义以及对象的使用以及使用正则表达式来对输入的数据进行合法性校验,相比前面两次作业,第三次作业算是正式进入了面向对象编程,需要创建多个类,创建类的对象,通过对象来调用类里的公用方法,题目难度循序渐进。
②如何通过作业逐步从面向过程过渡到面向对象
我认为在做作业的过程,可以发觉自己使用的面向对象语言的语法和面向过程语言的语法有很大的不同,可以练习编写几个面向对象语言的程序来实现这个过渡。
③作业过程中遇到的问题及解决方法
1、在第一次作业过程当中,所遇到的问题有因为没有看清题目的要求,而导致PTA提交时程序报格式错误。
2、还有对几种常见的排序算法掌握的不够熟练,通过在课本中查找了有关排序算法的章节解决此问题。
3、因为之前没怎么花时间学习正则表达式,第三次作业又涉及到了正则表达式的使用,来对输入的数据进行合法性校验,所以花了一些时间来恶补了正则表达式的使用,已经能够使用正则表达式来对输入的数据进行合法性校验。
④每次作业花费的时间比例
第一次作业做完做对大概花费了2个小时,后来又尝试了其他的升序排序算法提交也花费了不少时间,加上自己课外复习课本所用的时间一周学习的总时间是超过20个小时的。第二次作业大概花费了4个小时,一周学习的总是超过20个小时。第三次作业花费时间是超过10个小时的,做到92分花了差不多5个小时,因为第一题的两个测试点没过,自己又花费了好几个小时楞是过不了。
⑤对编程过程的严谨性(软件测试)的认识及教训
在编程前一定要把题目的要求看清,可能因为是自己没看清题目的要求而导致程序报错(比如我第一作业过程中就犯了这个错误),还有就是审题后脑子里做好需求分析。软件测试要掌握熟练,就是因为自己没掌握好软件测试,才导致第三次作业的第一题的两个测试点没过,要是很熟练地使用软件测试,就不会拖到很晚去使用,而且还没做好。
2.OO设计心得
①面向过程与面向对象的比较
面向对象的语法相对于面向过程的语法,要简单一些,
②面向对象设计的基本原则理解
封装性,多态性等。
③OO编程思维的理解
对OO编程思维的理解就是先要创建类,使用类对象调用类里的方法以及写方法来解决问题。
3.测试的理解与实践
①测试对于编码质量的重要性
1、测试能够方便我们发现错误,并修改错误
2、测试能够提高编程质量,在eclipse上测试成功后,再到PTA上提交会提高准确率。
②假如让你设计测试用例,你会如何做
假如让我设计测试用例,我会设计一个输入正常的、一个输入异常的、一个简单的正常测试用例和一个复杂的测试用例。
4.课程收获
总结这四周来在OO方面的教训及收获
1、加强我对循环的使用技巧;
2、加强了对一维数组的使用技巧;
3、加强了对几种常见的排序算法的使用技巧;
4、加强了对类的定义、创建类对象以及通过类对象来调用类里的方法的使用技巧;
5、学会了正则表达式的使用(使用正则表达式对输入的数据进行合法性校验)。
6、教训就是软件测试掌握的不熟练。
5.对课程的建议
这三次作业下来,自己学到的东西挺多的,相比寒假在家学习效果上有了很大的进步,也是得益于老师出的题目难度循序渐进,有浅入深,给了我们自信,相信自己坚持学下去一定能学好的。课程建议呢,还是希望老师出的题目难度能够循序渐进,由浅入深,题量可以稍微增加一两个。