201823182019-2020-1《数据结构与面向对象程序设计》第六周学习总结

1400694592qq 1400694592qq     2023-05-07     799

关键词:

20182318 2019-2020-1 《数据结构与面向对象程序设计》第六周学习总结

教材学习内容总结

第九章 多态

  • 后绑定。效率低于编译阶段的绑定效率。
  • 学习练习如何利用继承方式来实现多态性。
  • 学习练习如何利用接口来实现多态性。
  • 多态性设计(多个不同对象执行相同的基本行为,并且行为的不同实现方式取决于对象的具体类型。)

第十章 异常

  • 异常处理(异常抛出的问题和处理异常的方法)
  • 未捕获的异常。
  • try-catch语句与finally子句。
  • 异常传播。(就与传递性一样,举个例子:程序一存在异常,程序二调用程序一,程序二就会存在与程序一相同的异常。)
  • 异常类层次结构。(许多类型的异常类都由Exception类派生,但定义各种异常的子类却分散定义在其他几个包中,继承关系可以跨越包边界。)
  • 自定义异常与必检异常与免检异常。
  • 字节流和字符流的掌握
  • flush的应用和追加

教材学习中的问题和解决过程

问题1:类与接口有什么不同

问题1解决方案:类可被实例化,接口不能被实例化。接口可以只包含抽象方法和常量。类提供了接口的实现。类层次和接口层次不能交叉。类可以用来派生一个新类,接口可用来派生一个新接口的实现。

问题2:字节流和字符流到底是什么?定义在java.io包中的那么多方法都怎么系统的理解?

问题2解决方案:在java.io包中操作文件内容的主要有两大类:字节流、字符流,两类都分为输入和输出操作。InputStream和OutputStream,两个是为字节流设计的,主要用来处理字节或二进制对象,Reader和 Writer.两个是为字符流(一个字符占两个字节)设计的,主要用来处理字符或字符串。字节流可用于任何类型的对象,包括二进制对象,而字符流只能处理字符或者字符串; 2. 字节流提供了处理任何类型的IO操作的功能,但它不能直接处理Unicode字符,而字符流就可以。

问题3:如何连续读入多条信息

问题3解决方案:flush追加配合循环语句的使用。即将flush追加放在循环中。应为flush一次加载100条信息,运行起来很难并且容易出错

代码调试中的问题和解决过程

  • 问题1:错误信息提示:系统找不到指定路径
    技术图片

  • 问题1解决方案:创建新文件是路径设置错误,将路径改正到想储存的地方即可
  • 问题2:如何实现try catch的连续多次引用?
  • 问题2解决方案:将try catch与循环相结合即在try catch外一层设置无限循环,使用一个布尔数控制循环的终止。

    代码托管

(statistics.sh脚本的运行结果截图)
技术图片

上周考试错题总结

  • 错题1及原因( 单选题 | 1 分)
    Comparing the amount of memory required by selection sort and insertion sort, what can one say?

A
.
Selection sort requires more additional memory than insertion sort

B
.
Insertion sort requires more additional memory than selection sort

C
.
Both methods require about as much additional memory as the data they are sorting

D
.
Neither method requires additional memory
E
.
None of the above
正确答案: D 你的答案: B

解析:选择排序和插入排序都可以“就地”实现。这意味着不需要额外的内存,排序后的数据只是在数据数组中进行重新排列。

  • 错题2及原因
  • Java allows one to create polymorphic references using inheritance and using interfaces.

A
.
true

B
.
false

正确答案: A 你的答案: B

解析:继承允许一个人使用一个基本变量来引用不同的后代成员,正确的变量将在执行过程中被使用。这就是多态性的作用。接口提供了类似的机制,但使用的是抽象方法,而不是继承中使用的具体方法。然而,效果是一样的。

  • 错题3及其原因
  • The type of the reference, not the type of the object, is use to determine which version of a method is invoked in a polymorphic reference.

A
.
true

B
.
false

解析;反了!决定调用哪个方法的是对象的类型,而不是引用的类型。

点评过的同学博客和代码

  • 本周结对学习情况
    • 20182333
      20182317
    • 结对照片
    • 结对学习内容
      对多态的学习和讨论
      多态与继承和接口的关系
      对异常的学习和讨论
      三种标准I/O流(in、out、err)

其他(感悟、思考等,可选)

时间越来越紧张,各科的作业也越来越多。Java难度也渐渐加大了,必须要加强自主学习。真东西是等不来,抄不来的,相信在王老师英明的带领下,我们会越学越好。

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
第六周 1175/1000 3/7 22/60

尝试一下记录「计划学习时间」和「实际学习时间」,到期末看看能不能改进自己的计划能力。这个工作学习中很重要,也很有用。
耗时估计的公式:Y=X+X/N ,Y=X-X/N,训练次数多了,X、Y就接近了。

参考:软件工程软件的估计为什么这么难软件工程 估计方法

  • 计划学习时间:24小时

  • 实际学习时间:20小时

  • 改进情况:
    相比较以前,更加投入了

(有空多看看现代软件工程 课件
软件工程师能力自我评价表
)

参考资料

数据结构与算法|数据结构与算法学习目录

1.数据结构与算法初探(1)什么是数据结构a.“摆放图书”例子b.逻辑结构与存储结构c.抽象数据类型(2)什么是算法算法的定义算法的特性和设计要求算法的度量方法(时间复杂度&空间复杂度)(3)算法优化——最大子列... 查看详情

数据结构与算法-暴力递归与回溯

数据结构与算法-暴力递归与回溯目录博主介绍1、暴力递归和回溯1.1、暴力递归概念说明1.2、回溯算法概念说明1.3、逆序一个栈1.4、获取一个字符串的全部子序列1.5、转换结果1.6、全排列1.7、子集 查看详情

数据结构与算法解析——数据结构与算法简介

数据结构与算法解析(一)——数据结构与算法简介    本系列博客为学习狄泰学院《数据结构实战开发教程》笔记并根据网络资料总结而来。一、数据结构简介数据结构是相互间存在特定关系的数据的集合,分为... 查看详情

数据结构与算法全套数据结构笔记持续更新

目录【数据结构与算法】线性表的重要基本操作与代码实现【C语言版】【数据结构与算法】线性表的链式表示和实现,超详细【C语言版】【数据结构与算法】Leetcode2:两数相加【链表学习】【数据结构与算法】栈与队列... 查看详情

数据结构与算法全套数据结构笔记持续更新

目录【数据结构与算法】线性表的重要基本操作与代码实现【C语言版】【数据结构与算法】线性表的链式表示和实现,超详细【C语言版】【数据结构与算法】Leetcode2:两数相加【链表学习】【数据结构与算法】栈与队列... 查看详情

android-从本质层面了解数据结构与算法

从本质层面了解数据结构与算法技术点  1.计算机存储单元与存储结构分析  2.算法与数据结构的关系  3.基础存储单元与连续存储单元  4.ArrayList与LinkedList结构分析  5.HashMap底层存储原理详解  6.Hash算法详解与Hash... 查看详情

android-从本质层面了解数据结构与算法

从本质层面了解数据结构与算法技术点  1.计算机存储单元与存储结构分析  2.算法与数据结构的关系  3.基础存储单元与连续存储单元  4.ArrayList与LinkedList结构分析  5.HashMap底层存储原理详解  6.Hash算法详解与Hash... 查看详情

201723272018-2019-1《程序设计与数据结构》实验三:查找与排序

201723272018-2019-1《程序设计与数据结构》实验三:查找与排序课程:《Java软件结构与数据结构》班级:201723姓名:马瑞蕃学号:20172327实验教师:王志强实验日期:2018年11月19日必修/选修:必修一、实验内容:实验二查找与排序-1... 查看详情

20172328《程序设计与数据结构》实验三:查找与排序

20172328《程序设计与数据结构》实验三:查找与排序课程:《软件结构与数据结构》班级:1723姓名:李馨雨学号:20172328实验教师:王志强老师实验日期:2018年11月19日-2018年11月25日必修选修:必修一、实验要求内容实验1:定义... 查看详情

转载数据结构与算法设计

原文:数据结构与算法设计 查看详情

数据结构与算法(java版)|数据结构与算法的重要性

...介绍的几个经典的算法面试题,相信大家现在应该对数据结构与算法有了一个很浓烈的学习兴趣,嘻嘻🤭,数据结构与算法学起来还是非常有意思的,不骗你!激起大家的学习热情之后,接下来,... 查看详情

数据结构与算法的思考与历程(代码片段)

目录概述学习数据结构的初衷什么是算法数据结构的分类从逻辑角度分类从存储结构分类(又称物理结构)线性表线性表基本框架链表与数组的区别链表栈与队列栈与队列基本框架栈队列串二叉树二叉树基本框架二叉树... 查看详情

20172308实验三《程序设计与数据结构》查找与排序实验报告(代码片段)

...3082018-2019-1实验3《查找与排序》报告课程:《程序设计与数据结构》班级:1723姓名:周亚杰学号:20172308实验教师:王志强实验日期:2018年10月20日必修/选修:必修1.实验内容查找与排序-1:定义一个Searching和Sorting类,并在类中... 查看详情

python数据结构与算法之排序(冒泡,选择,插入)(代码片段)

目录数据结构与算法之排序(冒泡,选择,插入)为什么学习数据结构与算法:数据结构与算法:算法:数据结构冒泡排序法选择排序法插入排序法数据结构与算法之排序(冒泡,选择,插入)为什么学习数据结构与算法:计算机重要的几门课:1.... 查看详情

主数据与参考数据的定义与相互联系

这是一篇有关数据管理方面的读书笔记,通过阅读DAMA数据管理知识体系,学习了我们在信息系统建设和系统数据整合过程中用到主数据和参考数据的相互关系,明确了两者的定义与异同点,使得我们了解到主数据... 查看详情

数据类型与数据结构

】数据类型与数据结构【英文标题】:DatatypesvsDatastructures[closed]【发布时间】:2021-05-0812:13:47【问题描述】:C语言中的struct是数据类型还是数据结构?根据***,数组是一种复合数据类型,但数组不是数据结构吗?数据结构与数... 查看详情

数据结构与算法-排序与搜索

排序与搜索排序算法(英语:Sortingalgorithm)是一种能将一串数据依照特定顺序进行排列的一种算法。1.冒泡排序冒泡排序(英语:BubbleSort)是一种简单的排序算法。它重复地遍历要排序的数列,一次比较两个元素,如果他们的... 查看详情

数据结构与算法-27

查看详情