20172324 2017-2018-2 《程序设计与数据结构》第十周学习总结

20172324 2017-2018-2 《程序设计与数据结构》第十周学习总结

教材学习内容总结

  • 集合的概念
  • 集合是储存对象的,长度可变,可以封装不同的对象
  • 迭代器: 其实就是取出元素的方式(只能判断,取出,移除,无法增加)
  • 集合与数据结构
  • 集合是一种对象,类似于保存其他对象的存储库。
  • 我们常常用集合表示一个专门用于保存元素的对象,并且该对象还提供增添、删除等管理所保存元素的服务。例如Arraylist类。
  • 集合的同构与异构
  • 同构:只保存同类元素
  • 异构:可保存不同类元素
  • 动态结构
  • 建立动态结构的链,见下,实例化两个Node类对象,并使一个Node对象的引用变量next指向另一个Node对象,从而将两个对象链接起来。
  • 队列:队列类似于列表,不同的地方在于队列元素存取方式有限制,队列采取先进先出(FIFO)的存取方式,即类似于生活中我们排队的情况,我们是从队尾入队,队首出队。
  • 堆栈:堆栈类似于队列,不同之处在于元素的存取方式,它是采用后进先出(LIFO)的存取方式,也就是堆栈元素在堆栈的同一端进入和移出栈堆,最后进入的是第一个移出的。
  • 树:由一个根节点和构成层次结构的多个节点组成,除根节点外的所有节点称为内部节点,没有子节点的节点称为叶节点。注意,由下至上地画一棵树,根节点在顶层,叶节点在底层。
  • 图:图没有类似树根节点那样的初始入口点,一个图中,一个节点到另一个节点的连接称为边,连接一个图内各节点的边数没有限制。
  • java集合类API
  • 泛型:指一个集合所管理的对象的类型要在实例化该集合对象时才确定。java集合类API中定义的类称为泛型泛型保证了集合中对象类型的兼容性。

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

  • 问题1:
    几种集合的不同之处
  • 问题1解决方案:

List:元素是有序的,元素可以重复.因为改集合体系有索引.

ArrayList:底层的数据结构使用的是数组结构,特点:查询速度快,但是增删慢.线程不同步

LinkedList:底层使用的是;链表数据结构,特点:增删速度快,查寻速度慢.

Vector:底层的数据结构使用的是数组结构,线程同步,速度慢,被ArrayList替代

list:特有方法,凡是可以操作角标的方法都是该体系特有的方法
增:add(index,element); addAll(index,Collection);
删:remove(index);
改:set(index,element);
查:get(index);subList(from,to);ListIterator();(重点)

  • 问题2:集合使用时一些比较有用的方法
  • 问题2解决方案:
  1. toArray()方法:是遍历用的(把集合转变为数组)
  • asList()方法,把数组转变为集合
  • 数组长度是length方法,字符串的长度是length(),集合求长度的方法是size.
  • Iterator迭代器是集合的特有遍历方法:while方法、for循环方法。
  • list集合特有的遍历方法:就是size和get()的结合
    for(int x=0; x<list.size();x++){
    System.out.println(list.get(x));
    }
  • 问题4:IO流
  • 问题4解决方案:I/O异常有可能产生的异常太多了,我选择看API

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

代码托管

上周考试错题总结

  1. A finally clause will execute
    A . only if the try statement that precedes it does not throw an exception
    B . only if the try statement that precedes it throws an exception that is caught
    C . only if the try statement that precedes it throws an exception that is not caught
    D . only if the try statement that precedes it throws an exception, whether it is caught or not
    E . in any circumstance
    最后一个子句,无论在try和catch语句中发生什么,都将执行 (因为它是可选的)。
  2. In order to have some code throw an exception, you would use which of the following reserved words?
    A . throw
    B . throws
    C . try
    D . Throwable
    E . goto
    当检测到异常时,使用保留字throw抛出异常,如:if (score < 0)抛出新的IllegalTestScoreException(“输入分数”+ score +“为负值”);
  3. Character streams manage
    A . byte-sized data
    B . binary data
    C . Unicode characters
    D . ASCII characters
    E . compressed data
    字符流用于管理16位Unicode字符。
  4. A method that uses the Scanner class to obtain input does not require either catching or throwing an IOException. This is because
    A . the Scanner class does not call upon any classes that throw checked exceptions
    B . the Scanner class‘ methods call input methods in try statements and catch IOExceptions so that they are handled directly in the Scanner class
    C . the Scanner class uses JOptionPane dialog boxes instead of java.io classes so that it does not have to deal with IOExceptions
    D . the Scanner class overrides the class IOException making it an unchecked exception
    E . none of the above, methods do require handling IOException even if thrown by a method in a Scanner class
    通过拥有自己的catch (IOException…)catch语句,导致一个IOException的扫描器类中的任何代码都被扫描器类捕获

结对及互评

写在评论里

点评过的同学博客和代码

  • 本周结对学习情况

    • 21

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

??

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 200/200 1/2 20/20
第二周 329/500 2/3 18/38
第三周 619/1000 2/5 22/60
第四周 817/1734 2/7 38/98
第五周 674/2408 1/9 30/128
第六周 1136/2870 2/10 30/158
第七周 1000/3791 1/11 32/190
第八周 2662/6453 2/13 48/238
第九周 782/7573 2/15 48/238
第十周 782/7573 2/17 48/238

参考资料

原文地址:https://www.cnblogs.com/amberR/p/9063614.html

时间: 2024-08-30 08:13:49

20172324 2017-2018-2 《程序设计与数据结构》第十周学习总结的相关文章

20172324 2018-2019-1 《程序设计与数据结构》第一周学习总结

20172324 2018-2019-1 <程序设计与数据结构>第一周学习总结 教材学习内容总结 概述 软件质量 准确性:软件提供的功能是否正确(用户需要的) 可靠性:产品在规定的条件下,在规定的时间内完成规定功能的能力 健壮(易恢复)性:系统失效后,重新恢复原有的功能和性能的能力 可用性:在指定使用条件下,产品被理解. 学习.使用和吸引用户的能力 可维护性:在规定条件下,规定的时间内,使用规定的工具或方法修复规定功能的能力 可重用性:软件组建可用于其他软件开发的难易程度 可移植性:从一种环境

20172305 2017-2018-2 《程序设计与数据结构》第一周学习总结

20172305 2017-2018-2 <程序设计与数据结构>第一周学习总结 教材学习内容总结 本书的第一章简单的介绍了计算机和JAVA的历史,基础内容很多,代码的讲解还没用正式进入,本周一直在做敲代码的准备,简单敲了老师给的"Hello World!"以及书后的PP1.3.PP1.4等简单的小程序. 教材学习中的问题和解决过程 问题1:三种不同类型的错误,运行错误和逻辑错误的混淆 问题1解决方案:针对EX1.20的"希望做加法时却做里乘法"进行了网上

20172314 2017-2018-2 《程序设计与数据结构》第一周学习总结

20172314 2017-2018-2 <程序设计与数据结构>第一周学习总结 教材学习内容总结 本书第一章为计算机系统概述,前面是一些计算机相关的基础知识,让我对计算机有了一个总体的认识,不再是一片空白了,对主存储器和CPU影响深刻,主存储器用于保存程序和数据,CPU执行程序指令.在接下来的Java编程语言与程序开发部分,开始看的时候有点迷茫,不是很理解,后来先按照作业中附带的流程完成一些代码托管之后,接触了完整的简单的程序之后,再回过头来看书,看到的一些陌生的名词在脑海中就有了实际的对应,

20172317《程序设计与数据结构》第一周学习总结

20172317 2017-2018-2 <程序设计与数据结构>第一周学习总结 教材学习内容总结 重新温习了一遍计算机的基础 总算了解了局域网广域网因特网万维网这些东西之间的区别了 通过URL的例子知道了网址各个部分的含义 对Java编程语言和程序开发有了一个粗浅的了解 教材学习中的问题和解决过程 问题:练习题SR1.13出现了答案与题目不相符的情况 问题解决方案:题中有个选项是"网卡",答案中没有,反而有个题目没有的选项"调制解调器"(俗称"

20172322 2017-2018-2 《程序设计与数据结构》第二周学习总结

20172322 2017-2018-2 <程序设计与数据结构>第二周学习总结 教材学习内容总结 了解了print与println的区别 了解了字符串的拼接可以用+来完成 了解了转义字符的使用 学会了使用赋值 学会使用部分算术运算符 学会了使用Scanner来实现交互性 教材学习中的问题和解决过程 问题1:在最初接触赋值时对foalt和double的赋值范围不了解 问题1解决方案:使用万能的度娘后看到一个高赞答案后有了了解 问题2:在提前预习时看到2.7图形后敲入的代码无法执行 问题2解决方案

20172328《程序设计与数据结构》第二周学习总结

20172328李馨雨<程序设计与数据结构>第二周学习总结 又到周五,李馨雨同学要开始写博客了.让我们开始吧!(????) 教材学习内容总结 1.首先是String类定义的字符串,然后是print和println的区别.转义字符的学习.(让我印象深刻的\b[回车符]在字符串结尾不显示哈哈,及其更新的\t[换行符],还有在课堂上真正明白了什么是回车.) 2.了解变量.常量.赋值语句.变量:保存数据的内存单元.常量:坚定自己不会变的数据!除非你用java的反射(有点复杂,改权限.去修饰符等等.没实

20172327 2017-2018-2 《程序设计与数据结构》第二周学习总结

20172327 2017-2018-2 <程序设计与数据结构>第二周学习总结 教材学习内容总结 字符串的拼接和转义序列的使用 变量的声明和使用 讨论语法及表达式的处理 定义数据转换类型和实现类型转换的机制 创建Scanner类 教材学习中的问题和解决问题 暂无 代码学习中的问题和解决过程 问题1:在提交过程中,突然遇到无法上传的情况 问题2解决方案:通过上网查找,输入git pull之后弹出一个编辑框,选择关闭之后,再次用git push就成功了. 问题2:在按照例题2.10打代码时,Jav

学号20172328《程序设计与数据结构》第九周学习总结

学号20172328<程序设计与数据结构>第九周学习总结 教材学习内容总结(异常和递归) 第11章:异常 1.[异常处理]: 一个异常:是一个定义非正式情况或错误的对象,由程序或者运行时环境抛出,可以根据需要捕获和处理. 错误:错误类似于异常,但是错误代表不可恢复的问题并且必须捕获处理. 2.[处理异常的三种方法]:①根本不处理异常②当异常发生时处理异常③在程序的某个位置集中处理异常. 3.[未捕获的异常]:如果程序中不处理异常,则程序将非正常的终止运行,并产生关于描述在何处发生什么异常的信息

20172326 《程序设计与数据结构》第九周学习总结

学号 20172326 <程序设计与数据结构>第九周学习总结 教材学习内容总结 异常(exception):定义非正常情况下或错误的情况的对象,由程序或运行时环境抛出,可根据需要进行相应的捕获处理. 异常与错误的区别:错误代表不可恢复的问题并且必须捕获处理.而异常可以忽视,或者使用try语句处理,或调用更高级的方法. 可检测异常与不可检测异常:可检测异常必须由方法捕获,或者必须在可能抛出或传递异常方法的throws子句中列出来.在方法定义的声明头中追加一条throws子句.不可检测异常不需要使

20172322 2017-2018-2 《程序设计与数据结构》第九周学习总结

20172322 2017-2018-2 <程序设计与数据结构>第九周学习总结 教材学习内容总结 异常 学会了使用try-catch来实现未捕获的异常的处理.可以使得异常被捕获进而不导致程序出现错误退出.使用try写入可能产生异常的语句,使用catch来编写在捕获异常后继续执行的代码(可以为空). "未捕获的异常"指在编译过程中不会被编译软件显示异常但是在运行时会出现异常导致程序直接退出,例如:"ArithmeticException"."In