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. SignalR + Mvc 4 web 应用程序

    在上节中,我们已经初步对 SignalR 进行了了解,这一节我们将做一个SignalR Demon,具体的步骤如下: 1. 创建一个 mvc 4 web 应用程序,并选择 Basic 2. 创建一个 ...

  2. Python之部分基础知识点汇总

    1.三元运算(又称三目运算) 三元运算(又称三目运算),简单条件语句的简写    if a<b: A    else: B等价于:A if a<b else B 2.

  3. 网际协议版本4(IPv4)

    IP是一种不可靠的无连接数据报协议-一种尽最大努力交付的服务,尽最大努力一词的意思是IP分组可能会损坏,丢失,失序或延迟到达,并且可能给网络带来拥塞. 网络层的分组称为数据报.是一个可变长度的分组.由 ...

  4. Table-Driven Design 表驱动设计

    注:本文所有代码来自 http://www.codeproject.com/Articles/42732/Table-driven-Approach 在许多程序中,经常需要处理那些拥有种种色色不同特性 ...

  5. leetcode345

    public class Solution { public string ReverseVowels(string s) { var str = s.ToList(); var Vowels = n ...

  6. leetcode107

    /** * Definition for a binary tree node. * public class TreeNode { * public int val; * public TreeNo ...

  7. MS SQL 2005 无法建立用户实例

    SC.EXE stop "MSSQL$SQLEXPRESS"RD /S /Q "%USERPROFILE%\Local Settings\Application Data ...

  8. python 文件移动

    python实现文件移动: import shutil shutil.move("original_path", "new_folder") # move fi ...

  9. 线性判别分析LDA详解

    1 Linear Discriminant Analysis    相较于FLD(Fisher Linear Decriminant),LDA假设:1.样本数据服从正态分布,2.各类得协方差相等.虽然 ...

  10. idea 打包java程序

    创建maven项目 在pom.xml中添加: <build> <plugins> <plugin> <groupId>org.apache.maven. ...