课程作业总结
- 前言
这是这学期的最后一次java学习作业总结,在这个学习过程中,遇到了许多困难,但收获很大,在上学期学习c语言之后,对程序的基础有了一定的了解,因为c语言是一种面向过程的语言,而java是一种面向对象的语言,所以在过渡到面向对象的学习过程中,也多多少少遇到一些问题。通过这一学期在pta上的练习,对java这一编程语言有了一定的认识。以下是本人对这一学期java学习的总结认识。
1.作业过程总结
①总结九次作业之间的知识迭代关系;
第一次作业主要运用if语句进行编写代码,运用简单的java知识可解决。
第二次作业主要运用方法进行代码的编写,也运用到第一次作业中的if语法知识。
第三次作业主要运用类进行代码的编写,同时也运用了第二次作业中方法的知识。
第四次作业第二题需写出返回坐标,矩形长宽大小,圆半径和处理传递值等类,再写出用蒙特卡洛求圆周率的方法即可完成。第三题需写出图形与继承图形的圆,矩形,球体,立方体的类,再分别写出求表面积与体积的方法即可完成
第五次作业第一题需写出抽象类shape与继承类circle,rectangle,triangle,再写出求表面积与体积的方法完成,这一次作业也同样需要灵活运用到类与继承等知识。
第六次作业的前两题有些类似,都是有关图形排序分组的问题,也需要灵活运用类,继承,多态等知识来完成
第七次作业只有一题,问题是雨刷程序功能扩展设计,这次作业可以说是对所学知识的灵活综合运用,这次作业使用了类设计以及类间关系,类的封装性,继承性以及多态性的综合应用,以及接口与抽象类等面向对象的知识。综合性较强,,并未很好的完成此题,相对与之前的六次作业来说,这次的题目难度有了很大的提升。
第八次作业也只有一题,问题是统计java程序中关键词的出现次数,这也是一个综合性较强的问题,需要用到集合,递归等面向对象知识来解决。
第九次作业问题是表达式求值,此题也有一定难度,这次作业是栈的一种应用。
③作业过程中遇到的问题及解决方法
第八次作业遇到的问题及解决方法:首先,不清楚java有哪些关键字,后通过百度查询可知有50个,第二,不清楚做题思路,后通过网上查询了解到先进行说明与初始化
然后递归搜索目录下所有的java文件
然后进行关键字筛查
最后进行处理注释。
第九次作业思路:
1.扫描字符串,遇到操作数字符直接不管,存到一个字符串里边 2.操作符优先级比较--定义了方法 3. 栈中优先级高:出栈存进字符串,当前的操作符进栈 4. 当前操作符优先级高,直接进栈5. 对于左边括号直接进栈,右边括号涉及栈中出栈 6.扫描完了在将栈中的出栈和操作数存储在一起 7.转化完直观的表现:操作数相对位置不变,操作符相对位置相反。
2.OO设计心得
①面向过程与面向对象的比较
我对面向过程的理解:比如造车,以面向过程的思想来说,就是将一辆车所需要的各个部件组装在一起进行造车,而各个部件需要在造车的过程中形成,这是函数。
我对面向对象的理解:同样参照造车,以面向对象的思路来说,就是先有一张造车图纸,然后把所需要的各个零件当成对象来加工,最后只需要一个组装车的方法即可,这种方式显然比第一种要有效率。
②面向对象设计的基本原则理解
面向对象的核心概念就是万物皆为对象,把一个实物抽象化成一个对应的对z象,对象具有属性和方法项目分析时需要把项目拆分为一个个的对象,对象的功能就是它的方法,对象的状态就是它的属性再设计好对象和对象之间的关系面向过程的方法是不属于特定对象,谁都可以调用面向对象里方法只属于定义的类的对象,如果是private的方法,外界是无法调用的
③OO编程思维的理解
把所有事物当成对象,然后一一把对象的特性写出,这便是类,然后再主方法中进行新建对象并赋值编写。
3.测试的理解与实践
①测试对于编码质量的重要性
软件测试的目的和意义在于发现程序中的错误,确认编码的质量。一方面是确认程序做了你所期望的事情,另一方面是确认程序以正确的方式来做了这个事件;
②查阅资料,假设使用Junit进行程序的测试是否可行
可行,这样可以强制你在写代码之前好好的思考代码(方法)的功能和逻辑,否则编写的代码很不稳定,那么你需要同时维护测试代码和实际代码,这个工作量就会大大增加。因此在极限编程中,基本过程是这样的:构思-> 编写测试代码-> 编写代码-> 测试,而且编写测试和编写代码都是增量式的,写一点测一点,在编写以后的代码中如果发现问题可以较快的追踪到问题的原因,减小回归错误的纠错难度。
4.课程收获
通过这一学期对本课程的学习,我充分意识到面向对象相对于面向过程更有利于程序员对代码的编写或者对大部分问题的解决有很大帮助。虽然在学习过程中遇到了很多问题,但仍需要花时间去解决。在老师的引导下,本人在网上学习到的知识也很有利于本课程的学习,因此,遇到问题通过网络的帮助来解决也是不错的选择。虽然仅仅通过这半年的学习很难运用到实践当中去,但在接下来的学习过程中还需要不断练习,加强代码的编写强度。只有通过编写代码的积累,才能充分认识到这一课程的意义。
5.对课程的建议
在接下来地学习过程中,我希望老师能加强对练习题目的讲解,也希望老师能加强对学习过程中遇到的一些学生可能难理解问题的讲述,另外,希望老师在对某个问题进行讲解时,能把一些点讲细致些,因为作为学生可能很难在快速时间内对该知识进行理解。

浙公网安备 33010602011771号