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. 学习内容 概论 个人技术和流程 软件工程师的成长 两人合作 团队和流程 敏捷流程 实战 ...
随机推荐
- 8.MSFvenom
Meterpreter 01 Meterpreter API调用 Meterpreter提供了多种APl调用,在编写自己的脚本时可以使用这些API来提供额外功能或定制功能. 关于ruby的更多信息,请 ...
- Java 为 Excel 中的行设置交替背景色
在制作Excel表格时,通过将数据表中上下相邻的两行用不同的背景色填充,可以使各行的数据看起来更清楚,避免看错行,同时也能增加Excel表格的美观度.本文将介绍如何在Java程序中为 Excel 奇数 ...
- Window.requestAnimationFrame()动画更新
概述 Window.requestAnimationFrame()方法告诉浏览器你希望执行动画,并且再下一次重绘之前要求浏览器调用一个特定的函数去更新动画.该方法把一个回调函数作为参数,该回调函数会在 ...
- C#通用类库整理--序列化类
程序员在编写应用程序的时候往往要将程序的某些数据存储在内存中,然后将其写入某个文件或是将它传输到网络中的另一台计算机上 以实现通讯.这个将程序数据转化成能被存储并传输的格式的过程被称为"序列 ...
- json的fromjson的方法使用。可以在volley中进行使用
Gson提供了fromJson()方法来实现从Json相关对象到Java实体的方法. 在日常应用中,我们一般都会碰到两种情况,转成单一实体对象和转换成对象列表或者其他结构. 先来看第一种: 比如jso ...
- 家庭版记账本app开发完成
经过这几天关于android的相关学习,对于家庭版记账本app以及开发结束. 实现的功能为:用户的注册.登录.添加支出账单.添加收入账单.显示所有的该用户的账单情况(收入和支出).生产图表(直观的显示 ...
- Python设计模式(1)-简单工厂模式
为操作数据库设计增删改查操作 # coding=utf-8class DbManager: def __init__(self): pass def operate_db(self): pass cl ...
- C# 基础知识系列- 9 字符串的更多用法(二)
0. 前言 上一篇文章介绍了字符串自身的一些方法,就是对象方法.在字符串体系中,还有一些是string类提供的静态方法.这两部分构成了字符串体系,当然还有一些三方库为字符串提供了扩展方法. 这里简单的 ...
- AJ学IOS(43)之网易彩票底部自定义TabBar实现切换
AJ分享,必须精品 效果: 代码: NYTabBarController // // NYTabBarController.m // 彩票lottery // // Created by apple ...
- python初学(三)
1.以软科中国最好大学排名为分析对象,基于requests库和bs4库编写爬虫程序,对2015年至2019年间的中国大学排名数据进行爬取,并按照排名先后顺序输出不同年份的前10位大学信息,要求对输出结 ...