java培训第一阶段测试总结_Java学习第一阶段总结与心得

前言

本次博客是针对java第一阶段学习(java基本语法 面向对象基础 类与类之间的关系--包含 依赖)的总结,以及前三次作业的自我总结。

作业过程总结

第一阶段三次作业之间的关系:

1)第一次作业:

第一次作业的5道编程题主要考察的是java的基本语法(if-else)的使用,如:计算税率,判断坐标点所在范围,电话键盘字母数字转化,判断三角形的类型这些主要都是要利用到if-else语句的使用。而我们知道,java里的if-else的使用与C语言中if-else的使用基本一致,还是比较简单的。

2)第二次作业:

第二次作业的4道编程题主要考察的是循环,选择,方法,数组的使用,这次最主要的特点是通过设计方法实现需求,在java里通常将C语言里面的函数称之为方法,而两者之间最大的不同就是,java里可以方法重载(overload),方法重写(override)。

通过这次作业,我们还可以看到java中数组的创建与C语言数组的创建有很大不同, 在java中我们需要new一个对象。

3)第三次作业:

相比于前两次作业,第三次作业的难度有很大的提升。第三次作业主要是将第二次作业通过设计类来实现。主要考察的是类与对象的定义,构造方法的重载与使用,属性和方法,类的设计原则以及类与类之间的关系,培养我们的面向对象编程思想。

总结:

可以看出这三次作业的难度是层层递进的,从第一次作业熟练if-else的使用到第二次作业熟练java基本语法(循环,选择,方法,数组)的使用,再到第三次作业真正用到面向对象编程的思想 通过设计类来实现需求。从面向过程递进到面向对象,感受到了面向对象与面向过程的区别。

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

1) Question1:1-1计算税率问题第11个测试点不通过

Solution1:经过测试发现代码中写的一个数据与图表中的数据不一致

2) Question2:2-2判断闰年及星期几闰年1月 闰年4月末这两个测试点未通过

Solution2:星期四个单词写错成Thurday,改为Thursday

3) Question3:2-4求前N天 前0天测试点未通过

Solution3:没有考虑n=0的情况

4) Question4:3-3设计类时编译时出现java.lang.NullPointException(空指针异常)

Solution4:做题目时这个空指针异常困扰了许久,后来在网上查了下,出现空指 针异常有如下原因:

字符串常量未初始化

接口类型对象没有用具体的类初始化

下面是几个实例:

int[][] array = new int[3][]

array[0][0] =10;

Person p = null;

p.getName();

3.每次作业花费的比例

1)第一次作业相对较简单,花费的时间较少2-3小时

2)第二次作业相比于第一次作业较难,花费的时间较多8-9小时

3)第三次作业难度大幅提升 花费的时间最多写了两天(20小时以上)

4.对编程过程的逻辑严谨性的认识及教训

这三次编程作业,对于编程过程的严谨性我是有着很深刻的体会,特别是在前两次作业当中,1-1的计算税率问题,找一个测试点的错误,找了大半天,因此还修改了一些代码,但修改代码的结果于事无补,到最后才发现是代码中的数据写错,与图表中的数据不匹配。

还有2-2的日期设计问题,星期四的英文单词都写错误,这个错误找了很久。在我们做题中,一个小小的错误可能会搞得我们心态不好,最后连做题的兴趣都会没有。所以,在编程过程中,一定要非常非常严谨。

OO设计心得

面向过程与面向对象的比较

面向过程的编程

解决问题的时候按照一定的过程(流程)

以过程为核心的编程思想,没有面向对象这么丰富(继承 多态 包含 依赖)

理解为 将大的过程---->拆分成很多小的过程  每个过程是那些事物做的

面向对象的编程

解决问题的时候按照现实生活中的规律来考虑问题

以对象为核心的编程思想

考虑在这个问题的过程中---->有几个实体参与进来

理解为  实体动作动作的支配者---> 没有实体动作就发生不了

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

通过网上的一些文献,了解到了面向对象设计的基本原则包括开闭原则,用组合代替继承,依赖倒置原则,单一职责原则,接口隔离原则,李式替换原则。

而就我目前所学习的单一职责原则谈谈我的一些理解,所谓单一职责原则就是一个类只做一件事,这样可以使的代码更具有可读性,复用性更高,单一职责原则也是高内聚的体现。

3.OO编程思维的理解

对于面向对象编程思维的理解,我认为主要是不断通过对象去做事情。解决问题的时候要按照现实生活中的规律来考虑问题,考虑在这个问题的过程中有几个实体参与进来,然后再去分析每一个类个体都有什么特点,做了哪些事情。

测试的理解与实践

1.测试对于编码的质量的重要性

测试可以帮助我们找寻代码中的问题所在,也可以帮助我们优化代码,这样提高了代码的质量,增强了代码的可读性和复用性。

2.假如让你设计测试用例,你会如何做

增加减少代码运行时间的限制、限制代码行数这些测试点,这样有助于提高我们优化代码的能力。

课程收获

第一阶段在OO方面的教训与收获

教训:在这一阶段的学习过程中,经常会犯一些空指针异常错误,经常调用为初始化的

对象。

收获:理解了面向过程与面向对象的差异,注重培养面向对象编程思想,还要培养良好 的编程习惯,如运算符两边要用空格隔开。

课程建议

挺喜欢老师这种上课模式,老师可以一边讲的同时我们也可以一边动手去操作,这样一来,有问题就可以立马提出来。但同时希望老师每次上课可以更快的切入这堂课的主要知识点。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值