0.前言

本次博客针对的是暑假学习java(面向对象设计)的前三次作业的小结,第一次作业:7-1 对三个整数排序 7-2

对四个整数排序 7-3 对十个整数进行排序 7-4 对多个整数进行排序

第二次作业:7-1 判断两个数组是否完全相同 7-2 判断两个数组是否相同 7-3判断数组中是否存在四个连续相等的数 7-4合并两个有序数组为新的有序数组 7-5 对整型数据排序

第三次作业:7-1 逆序输出英文句子 7-2 用类解一元二次方程式 7-3 创建账户类Account

1、作业过程总结:

①总结三次作业所训练的内容

第一次作业训练循环和升序排序算法的使用,题目难度循序渐进;第二次作业开始训练判断两个一维数组是否(完全)相同的算法和用类写升序排序算法的方法的使用,判断两个一维数组是否完全相同的题目,难度是循序渐进的,拓展了我们对比较两个一维数组的方式方法的知识面。同时,相较于第一次作业,这次作业题目难度有了一定程度的提高。第三次作业训练类的定义以及对象的使用以及使用正则表达式来对输入的数据进行合法性校验,相比前面两次作业,第三次作业算是正式进入了面向对象编程,需要创建多个类,创建类的对象,通过对象来调用类里的公用方法,题目难度循序渐进。

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

我认为在做作业的过程,可以发觉自己使用的面向对象语言的语法和面向过程语言的语法有很大的不同,可以练习编写几个面向对象语言的程序来实现这个过渡。

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

1、在第一次作业过程当中,所遇到的问题有因为没有看清题目的要求,而导致PTA提交时程序报格式错误。

2、还有对几种常见的排序算法掌握的不够熟练,通过在课本中查找了有关排序算法的章节解决此问题。

3、因为之前没怎么花时间学习正则表达式,第三次作业又涉及到了正则表达式的使用,来对输入的数据进行合法性校验,所以花了一些时间来恶补了正则表达式的使用,已经能够使用正则表达式来对输入的数据进行合法性校验。

④每次作业花费的时间比例

第一次作业做完做对大概花费了2个小时,后来又尝试了其他的升序排序算法提交也花费了不少时间,加上自己课外复习课本所用的时间一周学习的总时间是超过20个小时的。第二次作业大概花费了4个小时,一周学习的总是超过20个小时。第三次作业花费时间是超过10个小时的,做到92分花了差不多5个小时,因为第一题的两个测试点没过,自己又花费了好几个小时楞是过不了。

⑤对编程过程的严谨性(软件测试)的认识及教训

在编程前一定要把题目的要求看清,可能因为是自己没看清题目的要求而导致程序报错(比如我第一作业过程中就犯了这个错误),还有就是审题后脑子里做好需求分析。软件测试要掌握熟练,就是因为自己没掌握好软件测试,才导致第三次作业的第一题的两个测试点没过,要是很熟练地使用软件测试,就不会拖到很晚去使用,而且还没做好。

2.OO设计心得

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

面向对象的语法相对于面向过程的语法,要简单一些,
②面向对象设计的基本原则理解

封装性,多态性等。

③OO编程思维的理解

对OO编程思维的理解就是先要创建类,使用类对象调用类里的方法以及写方法来解决问题。

3.测试的理解与实践

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

1、测试能够方便我们发现错误,并修改错误

2、测试能够提高编程质量,在eclipse上测试成功后,再到PTA上提交会提高准确率。
②假如让你设计测试用例,你会如何做

假如让我设计测试用例,我会设计一个输入正常的、一个输入异常的、一个简单的正常测试用例和一个复杂的测试用例。
4.课程收获
总结这四周来在OO方面的教训及收获

1、加强我对循环的使用技巧;

2、加强了对一维数组的使用技巧;

3、加强了对几种常见的排序算法的使用技巧;

4、加强了对类的定义、创建类对象以及通过类对象来调用类里的方法的使用技巧;

5、学会了正则表达式的使用(使用正则表达式对输入的数据进行合法性校验)。

6、教训就是软件测试掌握的不熟练。
5.对课程的建议

这三次作业下来,自己学到的东西挺多的,相比寒假在家学习效果上有了很大的进步,也是得益于老师出的题目难度循序渐进,有浅入深,给了我们自信,相信自己坚持学下去一定能学好的。课程建议呢,还是希望老师出的题目难度能够循序渐进,由浅入深,题量可以稍微增加一两个。

暑期java(面向对象设计)学习第一阶段总结的更多相关文章

  1. 《Java面向对象设计》

    <Java面向对象设计> 第一章 面向对象软件工程与UML p理解为什么需要软件工程 p掌握软件工程的基本概念 p掌握软件生命周期各个阶段的主要任务 p了解流行软件开发过程 p了解软件过程 ...

  2. Java面向对象设计主要有三大特征:封装性、继承性和多态性

    Java面向对象设计主要有三大特征:封装性.继承性和多态性 一  封装性   1.1  概念:它是将类的一些敏感信息隐藏在类的类部,不让外界直接访问到,但是可以通过getter/setter方法间接访 ...

  3. JavaWeb学习第一阶段结束

    模仿狂神实现简单的用户增删改查,增加了前端登录时的密码验证 JavaWeb学习第一阶段结束,相较于第一阶段的一味学习,第二阶段想拿出更多的时间来阅读别人的源码以及跟着做简单的小项目,同时进一步深入学习 ...

  4. JAVA学习第一阶段(1)

    java入门第一阶段 1.在java中接受并保存用户输入的值: (1)import java.util.Scanner//引入包 (2)Scanner input=new Scanner (Syste ...

  5. JAVA从零学习 第一天 邮箱ych1102@163.com QQ382993199

    学习编程  听说读写 寻寻渐进   要准备好长期蒙蒙的状态  延迟3个月后明白 机器语言 二级制 1010  1100 0011 汇编语言 助记词表达程序   机器如果执行就需要编译  汇编语言移植性 ...

  6. java学习第一阶段——面向对象

    你聪明有人会说你心机重, 你靠的是努力有人会说你运气好, 你说自己天生乐观有人会说你虚假, 有时候, 你明明就是一杯白水, 却被人硬生生逼成了满肚子憋屈的碳酸饮料. 人一生要遇见太多人, 即使有些话字 ...

  7. Java面试题_第一阶段(static、final、面向对象、多线程、集合、String、同步、接口、GC、JVM)

    1.1 简述static和final的用法? static:修饰属性,方法,代码块 (1)静态属性:也可叫类变量  类名.属性名  来访问 (共有的类变量与对象无关,只和类有关) 注意:类中的实例变量 ...

  8. Java学习-第一阶段-第一节:Java概述

    JAVA概述 Java版本 原网址(https://www.oracle.com/java/technologies/java-se-support-roadmap.html) Oracle 将仅将某 ...

  9. JAVA学习第一阶段(2)

    21. ArrayList类和LinkList类 注意:add,contains,remove,retain(取交集) 都可以+all表示对集合的操作 ArrayList c = new ArrayL ...

随机推荐

  1. Scala 基础(十五):Scala 模式匹配(三)

    1 变量声明中的模式 match中每一个case都可以单独提取出来,意思是一样的. 应用案例 val (x, y) = (1, 2) val (q, r) = BigInt(10) /% 3 //说明 ...

  2. Maven 专题(四):什么是Maven

    1 Maven 简介 Maven 是 Apache 软件基金会组织维护的一款自动化构建工具,专注服务于 Java 平台的项目构建和 依赖管理.Maven 这个单词的本意是:专家,内行.读音是['meɪ ...

  3. 05 drf源码剖析之认证

    05 drf源码剖析之认证 目录 05 drf源码剖析之认证 1. 认证简述 2. 认证的使用 3. 源码剖析 4. 总结 1. 认证简述 当我们通过Web浏览器与API进行交互时,我们可以登录,然后 ...

  4. 机器学习实战基础(十三):sklearn中的数据预处理和特征工程(六)特征选择 feature_selection 简介

    当数据预处理完成后,我们就要开始进行特征工程了. 在做特征选择之前,有三件非常重要的事:跟数据提供者开会!跟数据提供者开会!跟数据提供者开会!一定要抓住给你提供数据的人,尤其是理解业务和数据含义的人, ...

  5. 让 axios 支持 finally

    当我们执行一个promise操作时,往往伴随的是要做各种状态的修改(如请求开始时显示loading,结束时隐藏 loading), 这个状态修改,如果没有finally函数,我们需要在then和cat ...

  6. 关于springboot中过滤器和拦截器

    在解决跨域问题中,发现拦截器和过滤器用得不是熟练.就参考了下一下两个作者的文档.希望大家也可以汲取精华 文档1   https://blog.csdn.net/moonpure/article/det ...

  7. T133308 57级返校测试重测-T3-成绩单

    大致题意: 给定n个学生的学号和分数, 求各个分数段的人数, 求把学号排序后的序列, 求满分的人数以及学号. 基本思路: 虽然看起来很繁琐(?),但就非常非常的简单,直接按题意做就好了. 然后有个坑, ...

  8. 【Python学习笔记二】开始学习啦!如何在IDEA中新建python文件

    1.新建module   2.选择本地安装的python   3.右键新建的module,创建python file就可以开始编程了   4.有时候回出现无法识别python内建函数的问题,就是运行没 ...

  9. vue-cli 2.x和3.x配置移动端适配px自动转为rem

    移动端适配一直都是个大问题,现在也出现了各种各样的解决方案,比如 rem, vw 百分比等,但是比较成熟的切比较容易编写的还是 rem,他是相对于根元素的 font-size 进行等比例计算的. 但是 ...

  10. Asp.NetCore3.1 WebApi 使用Jwt 授权认证使用

    1:导入NuGet包 Microsoft.AspNetCore.Authentication.JwtBearer 2:配置 jwt相关信息 3:在 startUp中 public void Confi ...