20172325 2017-2018-2 《Java程序设计》第十周学习总结

教材学习内容总结

1.集合与数据结构

  • 集合是一种对象
  • 集合按照保存类型来看可以分为两种:
    (1)同构集合:只能保存类型全部相同的对象;
    (2)异构集合:可以保存各种类型的对象。

2.分离接口与实现

  • 集合可以用各种方式实现
  • ADT:是由数据和在该数据上所实施的具体操作构成的集合,一个ADT有名称、值域和一组允许执行的操作。
  • 集合和抽象数据类型可以互换的等同概念。

3.数据结构的动态表示

  • ArrayList类解决可变大小数组问题的方法是创建一个更大的数组并将原有的数据复制到新数组里,但这种方法未必是最高效的。
  • 一个动态数据结构用链来实现。利用对象引用作为连接对象间的链。
  • 动态数据结构的大小规模需要增长和收缩。

4.线性数据结构
1、队列:类似于列表,但是在存取方式上有所不同,是一种先进先出方式管理数据的线形数据结构;
2、堆栈:也类似于列表和队列,但是是一种以后进先出方式管理数据的线形数据结构;

5.非线性结构
1、树:是一种以层次结构组织数据的非线性数据结构;
2、图:是非线性数据结构,使用常见的边来连接节点;

6.Java集合类API。

  • Java标准类库中定义了几种表示不同类型集合的类,常称为Java集合类API。
  • 泛型:一个集合所管理的对象的类型要在实例化该集合对象时才确定。
  • 集合所能存放的对象与继承关系有关。

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

  • 问题1:对于集合和数组关系理解得不是很清楚
  • 问题1解决方案:
    数组特点:大小固定,只能存储相同数据类型的数据
    集合特点:大小可动态扩展,可以存储各种类型的数据
    虽然存在不同,但是二者之间可以实现转换

  • 问题2:紧接着问题一,既然集合可动态扩展,但是课本上说道她不是一种高效的实现数据结构动态表示的方法,也就是说不能用集合实现,这又是因为什么呢?
  • 问题2解决方案:参考下列博客

就是说,按照链来实现的话就能够达到动态的实践,根据需要增长和收缩,而集合时通过在静态时的声明来达到的,每次改变的储存空间相同,没有体现出动态这个概念。

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

本周代码与之前的内容有相似,没有遇到太大问题。

代码托管

上周考试错题总结

  • 错题1:
  • 解析:调用堆栈跟踪提供了存储在运行时堆栈上的方法的名称。方法名称从堆栈中删除以相反的顺序放置,也就是说,最早的方法是先放在这里,下一个方法其次,等等,所以最近调用的方法是在堆栈上最后一项,这是第一个删除。然后堆栈跟踪显示所有的活动方法,它们被称为(最近的第一次)。
  • 错题2:
  • 解析:数据流表示特定的源或目标流,用于输入或输出。处理流就像一个数据流,其中添加了一些额外的进程(is),添加到输入或输出中。例如,一个处理字节流可以从一个文件中输入所有的项目,并删除任何不是数字的ASCII字符,这样输入的数字将不会抛出NumberFormatException。
  • 错题3:
  • 解析:Java程序的输入很困难,因为它需要大量的开销。扫描器类实现了所有的开销,这样程序员就不必看到它了。因此,扫描器是执行输入操作的抽象,而不需要细节。这些细节包括导入java.IO类,以某种方式处理IOexception,从标准输入流中输入,将输入划分为单个令牌,并根据需要将每个令牌转换为请求形式。
  • 错题4:
  • 解析:异常传播意味着一个异常被匹配的catch子句在当前try块级别,如果没有匹配,然后在下一个封闭try块级别,等等,直到异常已经被匹配的条款或异常的主程序和被Java虚拟机。

结对及互评

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

    • 排版有进步
    • 问题跟踪详细解答清晰
  • 基于评分标准,我给本博客打分:9分。

    点评过的同学博客和代码

  • 本周结对学习情况
    • 20172306
    • 结对学习内容
      我们一起学习了第十三章的内容。
      继续了四则运算的项目,将项目完善。
      进行了蓝墨云的实验。- 上周博客互评情况(只要链接,具体点评放相应博客下)

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

课本的第一遍学习已经完成,但是由于进度等问题,对于很对知识的理解和运用都不是很清楚,所以还需要回头去重新查缺补漏,希望能够在复习中发现问题解决问题,提高自己对java的掌握力度。

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 129/129 1/1 20/20
第二周 359/488 1/2 18/38
第三周 521/1009 2/4 22/60
第四周 1057/2066 1/5 30/90
第五周 636/2702 1/6 30/120
第六周 489/3191 1/7 28/158
第七周 831/4022 1/8 41/199
第八周 382/4404 3/11 16/215
第九周 1301/5705 2/13 28/243
第十周 982/6687 1/14 25/268

参考资料

20172325 2017-2018-2 《Java程序设计》第十周学习总结的更多相关文章

  1. 201521123027 <java程序设计>第十周学习总结

    1.本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结异常与多线程相关内容. 异常: 多线程: 2.书面作业 Q1.finally 题目4-2 1.1 截图你的提交结果(出现学号) 1.2 ...

  2. Java程序设计第十周学习总结

    Java课程知识梳理: 流的区分; 字符流与字节流的区别: 字节流是直接操作文件本身的,如果没有关闭字节流操作,文件会依然输出内容 而字符流在程序运行之后会发现文件没有任何的内容,这是因为字符流操作的 ...

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

    20172325 2018-2019-2 <Java程序设计>第九周学习总结 教材学习内容总结 图的定义 图是由顶点集(VertexSet)和边集(EdgeSet)组成,针对图G,顶点集和 ...

  4. 20172325 2017-2018-2 《Java程序设计》第九周学习总结

    20172325 2017-2018-2 <Java程序设计>第九周学习总结 教材学习内容总结 异常 1.学习了异常的基本概念: 2.区分异常与错误: 一个异常是指一个定义非正常情况或错误 ...

  5. 20172325 2018-2019-1 《Java程序设计》第二周学习总结

    20172325 2018-2019-1 <Java程序设计>第二周学习总结 教材学习内容总结 3.1集合 集合是一种聚集.组织了其他对象的对象.集合可以分为两大类:线性集合和非线性集合. ...

  6. 20172325《Java程序设计》第一周学习总结

    20172325<Java程序设计>第一周学习总结 教材学习内容总结 第一章 1.1软件质量 软件工程是一门关于高质量软件开发的技术和理论的学科. 高质量软件的特征 1.2 数据结构 软件 ...

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

    学号 20175212 <Java程序设计>第九周学习总结 教材学习内容总结 一.MySQL数据库管理系统 1.在官网上下载并安装MySQL 2.在IDEA中输入测试代码Connectio ...

  8. 20145213《Java程序设计》第九周学习总结

    20145213<Java程序设计>第九周学习总结 教材学习总结 "五一"假期过得太快,就像龙卷风.没有一点点防备,就与Java博客撞个满怀.在这个普天同庆的节日里,根 ...

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

    20145224 <Java程序设计>第九周学习总结 第十六章 整合数据库 JDBC入门 ·数据库本身是个独立运行的应用程序 ·撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的 ...

  10. 20145236 《Java程序设计》第九周学习总结

    20145236 <Java程序设计>第九周学习总结 教材学习内容总结 第十六章 整合数据库 JDBC简介 1.JDBC是java联机数据库的标准规范.它定义了一组标准类与接口,标准API ...

随机推荐

  1. Spectrum Scale

    高端存储:2016年为止,最新产品为DS8884.DS8886和DS8888. 闪存系统:2016年为止,最新产品,以FlashSystem 900为硬件基础,包装了FlashSystem V9000 ...

  2. 一种思路,隐藏input标签,通过label关联

    <label class="btn btn-default btn-file">上传图片 <input hidden type="file" ...

  3. linux系统下修改文件夹目录权限-chmod

    Linux.Fedora.Ubuntu修改文件.文件夹权限的方法差不多.很多人开始接触Linux时都很头痛Linux的文件权限问题.这里告诉大家如何修改Linux文件-文件夹权限.以主文件夹下的一个名 ...

  4. python入门-IF语句

    1 格式 cars = ['audi','bmw','subaru','toyata'] for car in cars: if car =='bmw': print(car.upper()) els ...

  5. 0_Simple__simpleTexture + 0_Simple__simpleTextureDrv

    使用纹理引用来旋转图片,并在使用了静态编译和运行时编译两种环境. ▶ 源代码:静态编译 #include <stdio.h> #include <windows.h> #inc ...

  6. socket编程一些注意的东西

    帮一个同学做了一下面试的作业.主要是socket编程要写一个多人博彩游戏室.没注意,被一些地方坑了一下,而且其实如果没有这个概念,还不好发现. 1.readLine() http://blog.csd ...

  7. PHP依赖注入(DI)和控制反转(IoC)详解

    这篇文章主要介绍了PHP依赖注入(DI)和控制反转(IoC)的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 首先依赖注入和控制反转说的是同一个东西,是一种设计模式,这种设计模式用来减少程 ...

  8. 关于RabbitMQ以及RabbitMQ和Spring的整合

    转自:https://www.cnblogs.com/s648667069/p/6401463.html 基本概念 RabbitMQ是流行的开源消息队列系统,用erlang语言开发.RabbitMQ是 ...

  9. UI5-文档-4.28-Unit Test with QUnit

    现在我们在应用程序中有了一个测试文件夹,我们可以开始增加我们的测试覆盖率. 实际上,到目前为止我们添加到应用程序中的每个特性都需要单独的测试用例.到目前为止,我们完全忽略了这一点,所以让我们为步骤23 ...

  10. AJAX是什么?

    AJAX的全称是Asynchronous JavaScript and XML(异步的 JavaScript 和 XML). ajax不是新的编程语言,而是一种使用现有标准的新方法.ajax是与服务器 ...