学号 2017-2018-1 《程序设计与数据结构》第八周学习总结

教材学习内容总结

这一章主要是对多态性的学习:

由继承实现多态性

  • 多态性引用能够随时间变化指向不同类型的对象。
  • 对于多态性引用,方法调用与方法定义代码的绑定在运行时执行。
  • 一个引用变量可以指向有继承关系的任何类的任何对象。
  • 实际将调用的方法版本取决于对象的类型而不是引用变量的类型。
  • 多态性的实质是,每个类很清楚自己如何完成一个指定的行为,并且从某种意义说,每个类的行为都是相同的,多态制允许具有一致性但又独特的方式处理类似的对象。

    利用接口实现多口实现多态性

  • 接口名可以声明对象引用变量。
  • 一个接口引用变量可以指向实现该接口的任何类的任何对象。
  • 方法的参数可以是多态性的,,使得方法所接受的参数具有灵活性。
  • 以多态性方式实现的排序算法可对任何一组可比较的对象排序。
  • 学会使用排序法和插入法。
  • 多态性允许用一致性的方法实现不一致的行为。
  • 学会使用线性搜索和二分搜索。

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

  • 问题1:排序算法的比较
  • 问题1解决方案:如书上所说,选择法排序和插入法排序实质上有同等的效率。但是选择法排序容易理解,大多数情况下能满足需求,并且每个值一次性准确的移动到自己的最终位置,所以优于插入法。

具体举例如下:

使用选择和插入排序法,写出第3次排序的结果:3  1 9  3 6 2 10
选择排序法:1 2 3 9 6 3 10插入排序法:1 3  3 9 6 2 10。
  • 问题2: 搜索当方法的比较
  • 问题2解决方案:就搜索方法而言,二分法远比线性搜索的效率高,但二分搜索要求数据已经经过排序。
    如果数据排序相对容易或者数据的搜索量非常大,则使用二分搜索较合适,但是线性搜索的实现相当简单,若长远的看守所的效率不是重要问题时,线性搜索则可能是最佳的选择。
    线性查找可以针对任何数组,将数组中的每项依次遍历出来之后,与所要查找项对比。
    消耗时间也是不规律的,可能查找项处于数组的第一位,也可能处于数组的最后一位。还有可能数组中完全不存在需要查找的项目。

二分查找法,针对有序数组使用。
因为数组已经有序排列,可以通过将数组从中间分割,将中间项与所需查找项对比;然后再根据对比结果,再次向上或者向下,寻找中间项对比,直至完成查找。
而且,对于查找最开始,可以通过与第一项和最末项的对比,确定查找项是否处于此数组中。

  • 《线性查找与二分查找的差异》

代码托管

上周考试错题总结

  • 1.All classes in Java are directly or indirectly subclasses of the ________ class.
    A Wrapper
    B String
    C Reference
    D this
    E Object
    分析:Java要求所有类都有父类。如果一个类不扩展另一个类,那么它在默认情况下扩展了对象类。对象类是Java中其他类的父类或父类。所以obiect是作为其他类的父类的。

结对及互评

点评模板:

  • 博客中值得学习的或问题:

    • 图片和文字相结合,方便理解。
    • 增加了博客中的目录,方便查看,同时样式进行了更新,显得更加美观
    • 阅读了许多资料,使得博客更有说服力。
  • 代码中值得学习的或问题:
    • 我两在做本周的四则运算中,严域俊同学就编写题目输出花费了大量时间,和我也讨论了许多编写类的方法,这种共同协作的态度我们以后一定会继续加强。
    • commit依旧很详细,有条理性。

点评过的同学博客和代码

  • 本周结对学习情况

    • 20172333
    • 结对学习内容
      • 学习第十章pp项目。
      • 学习继承的具体内容
      • 一起做四则运算的的项目。

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

这一周在做课后项目时问题不大,但是在做是四则运算的编写时遇到了很多问题,需要继续努力研究。

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 180/180 2/2 20/25
第二周 312/414 2/4 20/45
第三周 557/971 1/5 25/70
第四周 1217/2242 2/7 44/114
第五周 734/2976 1/8 24/138
第六周 523/3509 1/9 20/158
第七周 697/4206 1/10 24/182
第八周 1118/5324 3/113 30/212

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

  • 计划学习时间:20小时

  • 实际学习时间:24小时

  • 改进情况:

这周对于课后练习做的没有那么吃力,但还是存在一些对于类的编写的问题,希望继续加油。

参考资料

  • 《Java程序设计与数据结构教程(第二版)》

  • 《Java程序设计与数据结构教程(第二版)》学习指导

转载于:https://www.cnblogs.com/linanlalala/p/8982099.html

20172330 2017-2018-1 《Java程序设计》第八周学习总结相关推荐

  1. 20155227 2016-2017-2 《Java程序设计》第九周学习总结

    20155227 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 JDBC简介 JDBC全名Java DataBase Connectivity,是java联 ...

  2. 20155303 2016-2017-2 《Java程序设计》第二周学习总结

    20155303 2016-2017-2 <Java程序设计>第二周学习总结 教材学习内容总结 『注意』 "//"为单行批注符: "/*"与&quo ...

  3. 20175227张雪莹 2018-2019-2 《Java程序设计》第九周学习总结

    20175227张雪莹 2018-2019-2 <Java程序设计>第九周学习总结 教材学习内容总结 第十一章 JDBC数据库操作 MySQL数据库管理系统 下载安装MySQL 若下载的是 ...

  4. 20155305乔磊2016-2017-2《Java程序设计》第九周学习总结

    20155305 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 JDBC入门 JDBC简介 1.JDBC是java联机数据库的标准规范,它定义了一组标准类与 ...

  5. 20175317 《Java程序设计》第一周学习总结

    20175317 <Java程序设计>第一周学习总结 教材学习内容总结 本周学习了Java大致的开发步骤,完成了课件自带的习题. 学习了在windows与Linux系统下不同的编译方法,掌 ...

  6. 20172318 2016-2017-2 《Java程序设计》第一周学习总结

    20172318 2016-2017-2 <Java程序设计>第一周学习总结 教材学习内容总结 在教材中基本明白了计算机系统的运行方式,了解了对于高级语言是使用是掌握好编程的关键,掌握了一 ...

  7. 20175208 《Java程序设计》第九周学习总结

    20175208 2018-2019-2 <Java程序设计>第九周学习总结 一.教材学习内容总结: 第11章 JDBC与MySQL数据库 MySQL数据库管理系统 MySQL数据库管理系 ...

  8. 20175204 张湲祯 2018-2019-2《Java程序设计》第九周学习总结

    20175204 张湲祯 2018-2019-2<Java程序设计>第九周学习总结 教材学习内容总结 -第十一章JDBC和MySQL数据库要点: 1.下载MySQL和客户端管理工具navi ...

  9. 20155313 2016-2017-2 《Java程序设计》第二周学习总结

    20155313 2016-2017-2 <Java程序设计>第二周学习总结 教材学习内容总结 1.1 基本类型 整数:可细分为short整数(占2字节).int整数(占4字节)与long ...

  10. 20155226 2016-2017-2 《Java程序设计》第一周学习总结

    20155226 2006-2007-2 <Java程序设计>第一周学习总结 教材学习内容总结 第一周主要学习了一二章的内容,也浏览了剩余章节,以下是本周主要学习内容总结 1.首先了解了[ ...

最新文章

  1. 今生不再见, VS Code !
  2. GDT(全局描述符表)和LDT(局部描述符表)
  3. 吴恩达 coursera AI 专项二第一课总结+作业答案
  4. php gd库 图片水印,php使用GD库实现文字图片水印及缩略图教程
  5. [转]详细讲解提高数据库查询效率的实用方法、外键关于性能
  6. android自定义optionmenu,android - 自定义onOptionMenu外观 - 堆栈内存溢出
  7. 牛客 - 建通道(思维)
  8. git 回退远端master分支版本
  9. python 检查文件是否存在_Python中如何判断文件是否存在?
  10. mysql执行sql流程_MySQL架构与SQL执行流程
  11. 字节流和字符流学习笔记:
  12. 第一段冲刺 站立会议 5.6
  13. Atitit 性能提升总结 流水线模式 FutureTask ForkJoinTask 1.1. 流水线工作方式pipeline 1 1.2. FutureTask模式使用异步 流水线 还有多
  14. 学习人工智能导论(1)
  15. AM调制时域代码matlab,AM调制的FPGA实现
  16. 电子工程师12个忠告,新手老鸟都值得一看!
  17. Linux操作手机端
  18. android壁纸软件代码,android高清壁纸APP完整源码HD Wallpaper(服务端+客户端)
  19. 中国XXXXXXXXXXXXX管理软件销售实施三部曲
  20. 2021-10-4Bootstrap

热门文章

  1. SQL已知现在的某一天求去年的同一天或去年同月份的第一天
  2. Elasticsearch官档翻译——1 4 修改数据
  3. Cassandra概念学习系列之Cassandra是什么?
  4. I.MX6 make menuconfig进入x86模式
  5. ASP.NET 性能监控工具和优化技巧
  6. html + CSS
  7. 结对编程之求首尾相连数组中最大子数组的和
  8. UNIX-LINUX编程实践教程-第五章-实例代码注解-echostate.c
  9. 第四季-专题19-I2C驱动程序设计
  10. STL中的序列式容器——priority_queue(优先队列)