java1-3总结 19201421-吴志越
关于最近几次作业,从C语言到Java的过渡,也就是从面向过程到面向对象的过渡。其中,一共有三次作业,前俩次可能更加偏向于过程的设计,利用C语言的想法就可以完成,但是,从需要使用类的开始,就逐渐向对象偏离。
前两次作业的主要目的,是学会日期的设计与使用还有一些简单的编程问题,可能更加取向于基础,目的是为了适应Java的编程语言,同时,日期的设计与使用上,是为了下一次作业做铺垫,下一次作业对日期的使用很多,而且都是自行设计的日期,后来的作业也同样需要自行设计日期方法。但是也有不同的地方,后面的作业作用范围更大,需要将代码设计的更加完美,几乎和工业级代码持平。在对面象过程到面向对象的思想上,每一次作业也是在不断的改变推进,不断向面过程的方面过渡。第一和第二次作业都可以选择不使用类,但是第三次作业就必须使用类,类在设计方面目前还不会很复杂,不会出现类之间方法的相互调用,后来的类更是复杂会出现很多调用。比如在日期的设计上,从年月日一起使用到后来的不断分开,使年月日各成为一个对象,就是向面向对象过渡。在第一次的作业完成过程中对于星期几的判断就是用了不同的方法进行测试。最后使用了最笨的方法,将年月日分开使得代码很长,但是运行时间的需求很短。在后面求下n天的时候同样是采用了很笨的方法但代码有所减少。对于第二次作业,这些编程题,都是为了适应Java的编程方法所出,而且都不是很复杂,由于没给测试点所以具体也不知道自己哪里错了。没拿到满分,也是因为自己太粗心所导致的。第三次作业中,主函数已经给出,但是类需要我们自己设计。对于类的设计,第一个题目是为了让我们适应,后面的三题,则是需要根据不同的方法进行设计,三个主函数都相同。但是类却不同,需要根据不同的方法进行设计。在对于前n天的球阀中,虽然和第一次作业很像,但是n的范围很大,所以我采用了不同的方法设计,使用了循环,随让简化了代码,但是增加了时间,导致求最大时运行代码超时。后两题需要使用聚合,使得年月日各为一类。前两次作业花费的时间加起来都没有第三次多,因为自己的编程能力很差同时自己又是个粗心的人,导致后来的代码频频出错,越打越慢。想到以后还需要工作,会更加注意代码的质量,改变自己粗心的毛病。
面向对象与面向过程有很多不同的地方,面向过程强调的更是一个个过程。比如说人和兔子,对于面向过程。就分别将属性和能够完成的动作进行设计,不会对他们进行分类,而对于面向对象来说,就是将人和兔子作为两个类,然后将他们自身具有的属性还有动作,分别放入两个类中,可能他们之间的动作或者属性会相同,这就可以考虑继承关系了。对于面向对象的基本原则,最重要的应该为类,类中会产生数据,或者方法,这样就会对每一个对象进行设计,可以将它们的动作作为方法,将属性作为数据,使得每个类都有它固有的属性与方法,还可以有类的继承,这让不同的类之间又有了联系,他们共同作用,最后根据人们的意愿,完成需要的事情。对于OO编程思维的理解,重要的就是一个整体中,所需要完成的事情,可能这个类很简单,那么只需要更少的代码实现这个类,如果这个对象很复杂,那么就需要更多的方法来实现这个类。如果类之间没有出现继承关系,那么哪个类有错去修改哪个类就行,不需要对整体进行大幅度的修改。
关于测试对于编码的重要性这是不用质疑的,在程序员把代码完成后,主观意义上,他会觉得自己没有任何错误,觉得功能都能够实现,但是客观上,可能会出现很多问题,这些就是被程序员所忽视的,这样就更加利于代码的完善,可以更好的改正错误满足客户的需要。同时也可以提高代码的质量和速度。如果我测试用例,我会首先选择极值,对最小或者最大的数据进行测试,然后再使用大量的正常值对其进行测试,还有大量的错误值也需要进行大量的测试。
关于课程教训,就是一定要有一本自己的参考资料,还要学好每一个计算机语言,不然到后面会越学越困难,可能别人只要花费你一半的时间,他们就可以做得更好。关于课程收获,可能是自己已经入门了一个新的计算机编程语言,让以后可以更好的面对自己的工作台计算机吧。
java1-3总结 19201421-吴志越的更多相关文章
- Java5-7作业总结(第八次作业)19201421-吴志越
前言:关于此次三次作业,相比于前3次难度着实高了一个档次,第五次作业,虽然对于工具类没有很高.但是第一题的复杂程度很高,对于正则表达式有很高的要求,需要使用很多正则表达式的方法,而且不能有一处错误,对 ...
- shufe前辈名师
前辈名师 姓名 现职/原职 郭秉文 中国现代大学之父.国立东南大学校长.哥伦比亚大学教育学博士,该校第一任校长.为了纪念郭秉文先生,勉励优秀学子,郭夏瑜女士在上海财经大学等校设立了“郭秉文奖学金” 马 ...
- 阿里巴巴开源Weex 开发教程
Weex 是什么 Weex是阿里发布的一款用WEB方式开发原生app的开源产品 Weex能够完美兼顾性能与动态性,让移动开发者通过简捷的前端语法写出Native级别的性能体验,并支持iOS.安卓.Yu ...
- Bootstrap布局设计
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8&quo ...
- 前端开发福音!阿里Weex跨平台移动开发工具开源-b
阿里巴巴今天在Qcon大会上宣布跨平台移动开发工具Weex开放内测邀请.Weex能够完美兼顾性能与动态性,让移动开发者通过简捷的前端语法写出Native级别的性能体验,并支持iOS.安卓.YunOS及 ...
- javascript模块
//使用模块 template = {}; template.createObj = (function(){ //私有成员 var _age = ""; var _name = ...
- Winform 实现像菜单一样弹出层
原文:Winform 实现像菜单一样弹出层 在实际工作中,如果能像菜单一样弹出自定义内容,会方便很多,比如查询时,比如下拉列表显示多列信息时,比如在填写某个信息需要查看一些信息树时.这个时候自定义弹出 ...
- python课时二
通过上个博客的学习,相信大家已经对Python是什么东西应该有了相对应的了解,这里也包括Python的一些语法(比如Python在写for循环和if判断的时候都是会有缩进的).这张博客大概会对Pyth ...
- Openwrt自定义CGI实现
此文已由作者吴志勐授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. 安装uhttpd. 在编译openwrt前,输入make memuconfig,查找Network -> ...
随机推荐
- Integer类的进制之间转换的方法
一.两个通用方法 1.public static String toString(int i,int radix) (1)作用 将十进制的数转化成指定进制数的字符串形式:radix参数指进制数: (2 ...
- JVM系列十(虚拟机性能监控神器 - BTrace).
BTrace 是什么? BTrace 是一个动态安全的 Java 追踪工具,它通过向运行中的 Java 程序植入字节码文件,来对运行中的 Java 程序热更新,方便的获取程序运行时的数据信息,并且,保 ...
- PTA数据结构与算法题目集(中文) 7-18
PTA数据结构与算法题目集(中文) 7-18 7-18 银行业务队列简单模拟 (25 分) 设某银行有A.B两个业务窗口,且处理业务的速度不一样,其中A窗口处理速度是B窗口的2倍 —— 即当A窗 ...
- 一篇blog带你了解java中的锁
前言 最近在复习锁这一块,对java中的锁进行整理,本文介绍各种锁,希望给大家带来帮助. Java的锁 乐观锁 乐观锁是一种乐观思想,即认为读多写少,遇到并发写的可能性低,每次去拿数据的时候都认为别人 ...
- Java第三十一天,用Properties集合操作IO
一.Properties 这个类是线程安全的:多个线程可以共享一个Properties对象,而不需要外部同步 1.常用方法 Object setProperty(String key, String ...
- 这可能是 Github 上最全面的 Flutter 教程
引语 晚上好,我是猫咪,我的公众号「程序媛猫咪」会推荐 GitHub 上好玩的项目,挖掘开源的价值,欢迎关注我. 刚下班到家,金三银四,虽然今天行情尤其地不好,但身边的同事也是走了一波,不免会受到影响 ...
- coding++:java 线程池概述
前言: 1):创建一个可缓存线程池 2):创建一个可重用固定个数的线程池,以共享的无界队列方式来运行这些线程. 3):创建一个定长线程池,支持定时及周期性任务执行 4):创建一个单线程化的线程池,它只 ...
- Python常见数据结构-Tuple元组
Python Tuple基本特点 元组与列表类似,不同之处在于元组的元素不能修改. 与字符串和列表一样,可以根据下标进行切片索引. 元组使用小括号,单一元素的元组定义是必须加一个逗号. Python ...
- JAVA debug 调试demo
1.设置断点,在代码的行号后面鼠标左键即可2.想要看调用方法的执行流程,那么调用方法也要加断点. package day6_debug; /* * 1.设置断点,在代码的行号后面鼠标左键即可 * 2. ...
- python selenium使用
安装selenium #Python pip install selenium #Anaconda3 conda install selenium 下载浏览器版本对应的驱动文件 chrome chro ...