zoukankan      html  css  js  c++  java
  • 29162309《程序设计与数据结构》第八周学习总结

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

    教材学习内容总结

    第十章学习的是java中的异常,首先要明确一个异常是一个对象的这一基本概念,本章的主要内容是当java编译过程中出现异常和错误时对错误进行排查和修正,以及分析异常及错误出现的原因。首先需要了解的是几种常见的异常类型,并掌握其对应的解决方法,在发现问题中找到解决问题的办法。判断异常原因,其中异常的输出结果就显得比较重要了,异常结果的输出语句往往代表着这一个程序的错误原因、错误位置,第一行即是异常的性质及原因,而后面的内容则联系到了一个新的概念,即调用栈跟踪,起判断位置的作用,理解其中信息的含义,并对错误进行修复,是完善编译的有效途径。
    在知道异常产生的位置和原因后,需要的是解决异常,第十章的后面的内容即详细地讲解了几种修正错误的方法,包括需要执行的语法及命令。同时,异常的类同样有层次,UML类图就会对异常的处理起到一个很好的作用,这也能判断异常的传播途径。

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

    • 问题:关于I/O异常的问题。在I/O流中,是否三种I/O流与I/O异常有什么关系?I/O异常是不是只是指在java编译时in和out产生的错误?同时java.io的含义包括具体作用是什么?

    • 问题解决方案:在网上查阅资料,首先确定I/O类的异常必须被捕获,且除了三个I/O流,java.io包为程序提供了全面的IO接口,在Java类库中,IO部分的内容是很庞大的,因为它涉及的领域很广泛:标准输入输出,文件的操作,网络上的数据流,字符串流,对象流,zip文件流。在input和out的过程中时常伴随错误的出现,这就产生了I/O异常。同时,JDK所提供的所有流类位于java.io包中,都分别继承自以下四种抽象流类。

    • ...

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

    • 问题:关于程序10.2ProductCodes,编译时正常,但运行时出现报错现象,同时没有理解10.2的代码含义和运行机制,同时两个catch语句的作用没有明晰。

    • 问题解决方案:
      程序10.2的运行规则是当编译完成后,输入对应的产品代码,并继续完成以后的步骤。在抛出异常后,控制需要立即转向对应的catch处理器,StringIndexOutOfBoundsException异常就由第一个catch语句进行处理,而catch前面的if语句是在两个异常还没有抛出时的检查语句。

    • ...

    代码托管

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

    上周考试错题总结

    • 错题1
      The commitment to execute certain code to carry out a method invocation is referred to as _____________(通过提交来执行确定的代码从而完成方法的调用,被称为).
      A
      .
      execution(执行)
      B
      .
      binding(绑定)
      C
      .
      polymorphism(多态)
      D
      .
      inheritance(继承)
      E
      .
      none of the above(以上都不正确)

    解析:Binding refers to the commitment to execute certain code to carry out a method invocation.

    • 错题2
      In Java, polymorphic method binding occurs ____________________ (在Java中,多态方法的绑定发生在____).
      A
      .
      at run time(运行时)
      B
      .
      at compile time(编译时)
      C
      .
      never(不发生)
      D
      .
      when a programmer writes the code(当程序员编写代码时)
      E
      .
      during the testing phase of software development(在软件开发的测试阶段期间)

    解析:polymorphic method binding occurs at run-time.

    错题:
    Let Object a be larger than Object b.  What will the following method call return?(假设对象a大于对象b.下面的方法将返回什么?)
    a.compareTo(b)
    A
    .
    it will return 0(返回0)
    B
    .
    it will return a number greater than 0(返回一个大于0的数)
    C
    .
    it will return a number less than 0(返回一个小于0的数)
    D
    .
    it will return true(返回true)
    E
    .
    it will return false(返回false)

    解析:The compareTo method returns an integer.  If Object a is bigger than Object b, it will return a number greater than 0.If Object a is less than Object b, it will return a number less than 0.  If they are equal it return 0.

    • ...

    结对及互评

    本周没有实验课,学习内容为教材上的第十章,通过和20162313苑洪铭同学进行交流和共同学习,我对异常中的语句执行和异常的继承传播有了更加深入地理解,其中比较值得注意的一点是finally语句的执行次序。

    点评过的同学博客和代码

    http://www.cnblogs.com/yuanhongming/
    

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

    包括I/O异常在内,整个第十章的内容相对比较抽象,个人感觉没有前几章那么好理解,同时,异常及错误作为java编译过程中的重要的一个成分,掌握异常的解决方法,学会找到异常,辨别异常的种类,快速地修正错误,这是一个学习java的学生需要掌握的技能,同时这也是锻炼逻辑思维和严谨细致的训练,对很多以后的学习上有很大的帮助。例如I/O异常,在教材中涉及到了较多的概念,十分容易混淆,而IO流中,io包内包含了JDK中的各种类流,这是一个新的知识点。
    xxx
    xxx

    学习进度条

    代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
    目标 5000行 30篇 400小时
    第七周 776/776 2/2 26/26
    第八周 663/663 1/1 35/35
    第九周 0/1000 1/1 00/60
    第十周 0/1000 1/1 00/90
    • 计划学习时间:35小时

    • 实际学习时间:35小时

  • 相关阅读:
    Shared Memory in Windows NT
    Layered Memory Management in Win32
    软件项目管理的75条建议
    Load pdbs when you need it
    Stray pointer 野指针
    About the Rebase and Bind operation in the production of software
    About "Serious Error: No RTTI Data"
    Realizing 4 GB of Address Space[MSDN]
    [bbk4397] 第1集 第一章 AMS介绍
    [bbk3204] 第67集 Chapter 17Monitoring and Detecting Lock Contention(00)
  • 原文地址:https://www.cnblogs.com/Metwox/p/6736493.html
Copyright © 2011-2022 走看看