Java第一阶段作业总结
目录
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第一阶段作业总结的更多相关文章
- java - 第一阶段总结
java - 第一阶段总结 递归 递归:能不用就不用,因为效率极低 package over; //递归 public class Fi { public static void main(Strin ...
- Java第一阶段总结
学习java已经一个多月的时间了,第一阶段总算完成了. 这中间遇到很多问题,通过问同学问学长,收获了很多,但也知道自己和其他同学相差很远.他们java第一阶段只用了不到一个月的时间,而我拖了很长时间, ...
- Java第一周作业
Java第一周作业 本周作业: 参考<<教材学习指导(http://www.cnblogs.com/rocedu/p/7911138.html)) 学习第一章视频 参考<<使用 ...
- java 初学者 第一阶段作业编程总结及心得体会
0.前言 第一阶段java作业分为3次. 第一次作业是简单得一些语法和一些简单得逻辑思维,主要内容有求三角形是什么三角形的,还有就是求坐标点所在范围的,也涉及到了数字和字母的转换,总之相相当于是给ja ...
- OO第一阶段作业总结
对于OO这门课,学长学姐偶尔提起,大家都略有耳闻,但是并没有将其和计组相提并论.因此,在刚开始接触的时候,并不认为其会比计组难到哪里去,然而事实证明,还是不要想当然去判断,以及不提前学好JAVA对于O ...
- java第一阶段测试
一.选择题(35题 * 2分)1. 下列代码编译和运行的结果是:C public static void main(String[] args) { String[] elements = { & ...
- 2017-2018-1 我爱学Java 第一周 作业
构建之法 成员及分工 内容简介 作者简介 分章学习及问题 第一章 概论 第二章 个人技术和流程 第三章 软件工程师的成长 第四章 两人合作 第五章 团队和流程 第六章 敏捷流程 第七章 实战中的软件工 ...
- Java第一阶段项目实训
时间:2016-3-27 17:09 银行综合业务平台业务需求 1.首页 ---------------银行综合业务平台------------------- 1开户 2登录 3.退出 ...
- 2017-2018-1 Java小组-1623 第一周作业
2017-2018-1 Java小组-1623 第一周作业 <构建之法>学习笔记及团队成员介绍 1. 学习内容 概论 个人技术和流程 软件工程师的成长 两人合作 团队和流程 敏捷流程 实战 ...
随机推荐
- MFC之使用blat发送邮件
blat的下载地址:http://www.blat.net 我用它进行了smtp服务的邮件发送.这里我使用的qq邮箱,qq邮箱使用的密码是授权码,可以再qq邮箱设置里面开启smtp服务.下载下来是文件 ...
- 一天学一个Linux命令:第二天 cd pwd
文章更新于:2020-03-08 注:本文参照 man pwd 手册,并给出使用样例. 文章目录 一.命令之 `cd` 和 `pwd` 1.命令介绍 2.语法格式 3.使用样例 4.pwd 参数 5. ...
- flask-sqlalchemy的基本使用
flask-sqlalchemy 1 .配置应用和基本使用 和sqlalchemy一样,先定义好数据库配置和db_url.然后在app的config加入SQLALCHEMY_DATABASE_URI等 ...
- 计算机网络-CSMA/CD
假定1km长的CSMA/CD网络的传输速率为1Gbit/s.设信号在网络上的传播速率为200000km/s,则能够使用此协议的最短帧长是? 答案:2×104bit/s 解析:C=2×105km/s,即 ...
- AJ学IOS(10)UI之_NSTimer_ios计时器
AJ分享,必须精品 先看效果 代码 #import "NYViewController.h" @interface NYViewController () <UIAlertV ...
- 【Java】【常用类】 Arrays工具类 源码学习
虽然在数组的随笔中有说过,但实际上应该仔细深入一下源码进行分析 源码没有想象中的高大上,代码终究还是写给人看的,可读性大于执行性 最小阵列排序:1 乘 2的13次方 = 8192 学识浅薄,暂时还不 ...
- 你的网购价格监督利器——python+爬虫+微信机器人
前言 文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者:风,又奈何 PS:如有需要Python学习资料的小伙伴可以加点击下方链 ...
- L26 使用卷积及循环神经网络进行文本分类
文本情感分类 文本分类是自然语言处理的一个常见任务,它把一段不定长的文本序列变换为文本的类别.本节关注它的一个子问题:使用文本情感分类来分析文本作者的情绪.这个问题也叫情感分析,并有着广泛的应用. 同 ...
- Cucumber(2)——目录结构以及基本语法
目录 回顾 HelloWorld 扩展 回顾 在上一节中,我大致的介绍了一下cucumber的特点,以及基于ruby和JavaScript下关于cucumber环境的配置,如果你还没有进行相关的了解或 ...
- 并发工具——CyclicBarrier
本博客系列是学习并发编程过程中的记录总结.由于文章比较多,写的时间也比较散,所以我整理了个目录贴(传送门),方便查阅. 并发编程系列博客传送门 CyclicBarrier简介 CyclicBarrie ...