目录

0.前言

1.作业过程总结

2.OO设计心得

3.测试的理解与实践

4.课程收获

5、对课程的建议

  前言

本次博客针对第一阶段的三次作业发表总结,作业要求主要是初学者对于Java的基本语法、用法和算法的理解与掌握,了解类面向对象设计的含义,为之后的Java学习打下基础。相对于编程初学者,c语言的学习一定程度上提高了对代码的熟练度,本次学习内容从面向过程转变为面向对象,在程序实现上有很大的突破。

一、作业过程总结

①总结三次作业之间的知识迭代关系;

第一次作业(计算税率、判断坐标点所在位置、电话键盘数字字母转换、判断三角形类型、统计最大数出现次数)较为基础,主要考察基本语法结构的使用,算是Java程序初体验,了解和运用Java类结构和main函数以及基本类型和运算符,利用选择和循环结构直接解决简单的数学问题,第二次作业(求一元二次方程、判断闰年及星期几、求下一天、求前N天)考察了数组、加入了方法的使用,需要创建方法来解决相应的问题,相比于第一次作业,题目内容更为复杂一些,第三次作业(用类解决一元二次方程、日期类设计、日期问题面向对象设计的两种聚合)思路与第二次作业相似,但是方法上则需要运用类与类之间的关系,对方法的运用有更深的了解,对于每一个问题或是对象都可以创建一个类,并在写代码的过程中对功能不断完善,类与类之间可以互相调用,这提高了代码的复用性,这三次作业由易到难,知识点环环相扣、层层递进。

②如何通过作业逐步从面向过程过渡到面向对象;

每一次作业增加的新的知识点,都将作为下一次作业的基础,从与c语言类似的结构选择与循环,到运用方法解题,逐渐有了面向对象的特点,再到对类的使用,解题过程从面向过程过渡到面向对象。

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

第一次作业题目较为简单,比如第一题数据量很大们,需要反复核对题目要求和代买中数据是否一直,以及if……else结构用的是非正确;判断三角形类型时,结果正确但是测试点过不了,询问同学才知应符合题目要求的输入输出及其顺序,也学会了数学符号与运算的表示方法。第二次一开始用if语句进行手动干预,发现情况太多太复杂根本实现不了,于是想到运用数组,解决很多要求,但是在日期要求中,会忽视很多种情况,以至于运算结果错误,解决方法是一步步地列出年月日中所有特殊情况并且对这些特殊情况进行测试,得以解决,代码的简洁性也提高很多,判断平闰年时,有参和无参的区别而导致判断错误,这都是知识点不牢固。第三次以第二次为基础,运用类来解题,第一题较为简单,日期还是需要考虑更多要求,算法计算方面无太多Java特点,但是结构方面确实需要层层调用,运用起来较为困难,大多数问题还是运算部分的代码错误。
每次作业花费的时间比例

每次作业知识点不断增加,难度也在增加,所耗时间也更长,大概比例为1:2:4(天数),编写程序和调试程序的时间各占一半。
对编程过程的严谨性的认识及教训

程序的严谨性无非是时间和空间的取舍,效率和容错的pk,具体情况具体分析。对于代码量大的程序而言,在设计时就应该考虑的十分严谨,否则写到最后再来调试修改却需要花费更多的时间,在此基础上,更为重要的就是基础知识的掌握,比如公共和私有属性的区别,有参和无参的区别,这很大程度上决定着代码实现的正确与否。

二、OO设计心得

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

面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了;面向对象是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为。
面向对象设计的基本原则理解

理解面向对象三大基本特性是理解面向对象五大基本原则的基础。三大特征是:封装、继承、多态。

五大基本原则有:

单一职责原则:是指一个类的功能要单一,不能包罗万象。

开放封闭原则:一个模块在扩展性方面应该是开放的而在更改性方面应该是封闭的。

替换原则:子类应当可以替换父类并出现在父类能够出现的任何地方。

依赖原则:具体依赖抽象,上层依赖下层。

接口分离原则:模块间要通过抽象接口隔离开,而不是通过具体的类强耦合起来。
③OO编程思维的理解

其实就是把程序看做一个个个体,个体进行分类,分级,整合的思想。
具体分为封装,继承,多态,抽象。在程序语言做更改时,由于类与类之间遵循单一职责原则,面向对象的编程可以使风险降低,具有较高的安全性。

三、测试的理解与实践

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

踩了坑,你对问题的认知才会更深刻。才会更加知道测试的重要性。如果只是停留在知道上,那么依然是止步不前。测试往往是一个整体的过程,需要整体的设计与规划,不应该想到什么就做什么。重要的是,测试到底多重要,怎么保证测试的质量,怎么用测试充分保证代码质量。
②假如让你设计测试用例,你会如何做

从需求方面进行测试、考虑数据边界值等进行设计。

四、课程收获

①总结这四周来在OO方面的教训及收获

这四周来的学习过程中,我基本理解的Java的大体面向对象思想,学会了Java程序设计初步,学会了构造类和使用类,对于面向对象有了进一步的了解教训与收获是设计时要仔细,注意逻辑严谨,合理利用资源,活学活用。

五、对课程的建议

希望多举例,结合生活实际,这样方便理解和记忆,希望放缓布置作业速度,课堂作业太紧张,上课答题时间太,多考虑同学们的反馈,谢谢老师。

Java第一阶段作业总结的更多相关文章

  1. java - 第一阶段总结

    java - 第一阶段总结 递归 递归:能不用就不用,因为效率极低 package over; //递归 public class Fi { public static void main(Strin ...

  2. Java第一阶段总结

    学习java已经一个多月的时间了,第一阶段总算完成了. 这中间遇到很多问题,通过问同学问学长,收获了很多,但也知道自己和其他同学相差很远.他们java第一阶段只用了不到一个月的时间,而我拖了很长时间, ...

  3. Java第一周作业

    Java第一周作业 本周作业: 参考<<教材学习指导(http://www.cnblogs.com/rocedu/p/7911138.html)) 学习第一章视频 参考<<使用 ...

  4. java 初学者 第一阶段作业编程总结及心得体会

    0.前言 第一阶段java作业分为3次. 第一次作业是简单得一些语法和一些简单得逻辑思维,主要内容有求三角形是什么三角形的,还有就是求坐标点所在范围的,也涉及到了数字和字母的转换,总之相相当于是给ja ...

  5. OO第一阶段作业总结

    对于OO这门课,学长学姐偶尔提起,大家都略有耳闻,但是并没有将其和计组相提并论.因此,在刚开始接触的时候,并不认为其会比计组难到哪里去,然而事实证明,还是不要想当然去判断,以及不提前学好JAVA对于O ...

  6. java第一阶段测试

    一.选择题(35题 * 2分)1. 下列代码编译和运行的结果是:C public static void main(String[] args) {   String[] elements = { & ...

  7. 2017-2018-1 我爱学Java 第一周 作业

    构建之法 成员及分工 内容简介 作者简介 分章学习及问题 第一章 概论 第二章 个人技术和流程 第三章 软件工程师的成长 第四章 两人合作 第五章 团队和流程 第六章 敏捷流程 第七章 实战中的软件工 ...

  8. Java第一阶段项目实训

    时间:2016-3-27 17:09 银行综合业务平台业务需求 1.首页  ---------------银行综合业务平台------------------- 1开户     2登录    3.退出 ...

  9. 2017-2018-1 Java小组-1623 第一周作业

    2017-2018-1 Java小组-1623 第一周作业 <构建之法>学习笔记及团队成员介绍 1. 学习内容 概论 个人技术和流程 软件工程师的成长 两人合作 团队和流程 敏捷流程 实战 ...

随机推荐

  1. F - 我们什么时候能见面? POJ - 2028

    F - 我们什么时候能见面? POJ - 2028 ICPC委员会希望尽快召开会议,解决下一届比赛中的每一个小问题.然而,委员会的成员都忙于疯狂地开发(可能是无用的)程序,以至于很难安排他们的会议日程 ...

  2. B - Charlie's Change

    Charlie is a driver of Advanced Cargo Movement, Ltd. Charlie drives a lot and so he often buys coffe ...

  3. 关于 Vue 中 我对中央事线管理器的(enentBus)误解

    由于这段时间公司比较闲,就对vue 中的一些模糊的点做了一些加强,突然就想到了常挂在嘴边兄弟组件传值 我理解的兄弟组件的传值是可以跨理由传值的,比如我从http://localhost:8080/lo ...

  4. Light of future-冲刺Day 7

    目录 1.SCRUM部分: 每个成员进度 SCRUM 会议的照片 签入记录 代码运行截图 用户浏览界面 订单详情界面 管理员浏览界面 新增后台界面 2.PM 报告: 时间表 燃尽图 任务总量变化曲线 ...

  5. IE不支持sessionStorage问题

    IE8及以上版本是支持的,如果你的项目在IE8及以上打开报错: 那是因为:页面要放在服务器上才能有效!!!!!!!!!!!!!!!!!!!!!!!!

  6. Python机器学习笔记 集成学习总结

    集成学习(Ensemble  learning)是使用一系列学习器进行学习,并使用某种规则把各个学习结果进行整合,从而获得比单个学习器显著优越的泛化性能.它不是一种单独的机器学习算法啊,而更像是一种优 ...

  7. Yum 软件仓库配置

    Yum 软件仓库的作用是为了进一步简化 RPM 管理软件的难度以及自动分析 所需软件包及其依赖关系的技术. 可以把 Yum 想象成是一个硕大的软件仓库,里面保存有几乎所 有常用的工具 . 第1步:进入 ...

  8. Mysql数据库错误代码大全

                                                    Mysql数据库错误代码大全 出现较多的一些网页代码提示的意思: 1016错误:文件无法打开,使用后台修 ...

  9. Linux基础:Day03

    Linux的网络 以太网的发明--PC之间文件共享情况出现 网卡硬件设备 -- MAC地址  一层:物理层 HUB -- 集线器 总线型结构 泛洪  广播域/冲突域  二层: 在早期的网络中,PC互通 ...

  10. php--phpstudy更新数据库版本后,无法一键启动

    只需输入以下命令即可: sc delete mysql