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

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

教材学习内容总结

第十一章:

  1. try-catch语句。其中还有finally语句。try是进行某些操作,catch是捕获异常,并通过某些异常来进行某些操作。finally是无论是否有异常都会进行的语句。可以没有catch语句。
  2. 异常的传递。我觉得传递,主要是某地方的异常是由其他的方法引起的,异常就会传递到那个方法上。书中的例子可以很好的表现出来。
  3. IO异常。书中的内容主要是围绕异常来写。老师在蓝墨云中有写有关IO更为详细的内容。例如创建文件,写入文件,读取文件等等。

第十二章:

  1. 递归和循环是差不多的但是还是有不同的。对于死循环和死递归,死循环会一直循环运行,而死递归会出现溢出。因为空间是有限的。
  2. 通过迷宫旅行和汉诺塔问题的模型,我个人学习到的是,考虑问题需要详细一些。具体的代码如何编写,我认为更重要的是理解它是如何进行操作的。

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

  • 问题1:什么是方法调用堆栈踪迹?
  • 问题1解决方案:我上网查了一下。
  • 问题2:对于eg11.2中一行代码:district = Integer.parseInt(code.substring(3,7));中(3,7)不明白是多少到多少?
  • 问题2解决方案:利用IDEA可以看到,substring(begineIndex,endIndex);我又问了同学,知道了这个应该是索引3,4,5,6。没有7。
  • 问题3:
  • 问题3解决方案:最开始没有理解它start,end,temp的含义。后来问了同学,加上自己的理解。知道其实这个方法,就是我们平时的时候,通过不断调用的另一个柱子以实现从大到小的排列的这么一个过程。

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

  • 问题1:在进行课后的实验的时候,有这样的问题,不知道是为什么
  • 问题1解决方案:原来是在IDEA中,我应用了中文,那么我就应该,从而可以应用中文。
  • 问题2:在做PP12.1时,最开始我想的是根据书中的迷宫旅行的代码的样式,对第五章的Tester进行改造。,但是结果却是错误的。即使是用书中的例子abracadabra,结果出来也是IS而实际应该是NOT
  • 问题2解决方案:最开始我想的是,是不是我的条件出现了错误。我进行了略微调整,发现依旧是错的。后来我在想,这个不通,可不可以看看尝试一下汉诺塔的那个模型,后来用了另一种方式成功了。
  • 问题3:在做PP12.9的习题时,花费了很久的时间。最开始我找不到它的逻辑。后来想到可以按照行和列的数组的形式。我就在书中写了这个,然后编了一个递归的类。但是出现了这个问题
  • 问题3解决方案:我上网查了一下,这个意思就是栈溢出,说明我的表达式不够优化。所以又进行了修改。
  • 问题4:还是对于PP12.9的问题。我可以运行了,但是结果是 我就改了一下,但是又变成了
  • 问题4解决方案:本来我就打算就这样吧,后来还是问了一下同学,才知道我应该怎么改,然后得到了符合条件的结果

代码托管

上周考试错题总结

  • 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 本题选E ,这题是我的马虎。finally会在任何情况下都会执行。

  • The Scanner class provides an abstraction for input operations by Scanner类为输入操作提供了一个抽象

    A using try and catch statements to catch any IOException instead of throwing the Exception elsewhere(使用try和catch语句捕捉任何IOException,而不是将异常抛出其他地方)

    B parsing input lines into individual tokens(将输入行解析为单个记号)

    C performing conversion operations from String to the appropriate type as specified in the Scanner message(在扫描消息中指定的从字符串到适当类型的转换操作)

    D inputting from the standard input stream if create is called using System.in(如果创建的调用是使用系统的那么从标准输入流中输入。)

    E all of the above 本题选E

  • The term "exception propagation" means

    A an exception is caught by the first catch clause

    B an exception not caught by the first catch clause is caught by an outer (enclosing) catch clause(不被第一个catch子句捕获的异常被一个外部(封闭的)catch子句捕获)

    C exceptions are caught, sequentially, by catch clauses in the current try block

    D exceptions always are caught by the outermost try block(异常总是被最外层的try块捕获)

    E none of the above 本题选E

  • 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 本题选B

  • The following defines a new Exception called AnewException.

    public Exception ANewException

    {

    public ANewException(String message)

    {

    super(message);

    }

    }

    A true

    B false 本题选B 它应该定义的是一个类,而不应该是Exception.

  • If an exception arises in a catch statement, and the exception is of the type caught by the catch statement, then the catch statement catches the same exception. For instance, if the following catch statement first catches an ArithmeticException and, while executing, throws another ArithmeticException, it is able to catch the second ArithmeticException as well the first.

    catch (ArithmeticException ex) {...}

    A true

    B false 本题选B 一个exception导致当前语句停止执行和控制转移到第一个捕获(在当前语句之后)的转移,从而捕获异常。因此,catch语句不会捕捉从自身内部抛出的异常,尽管catch语句可以嵌套在它的内部附加尝试和捕获语句。

  • The difference between the throw reserved word and the throws reserved word is that throw is used within a method body, while throws is used within a method header.

    A true

    B false 本题选A,这个主要是throws和throw的区分。

结对及互评

点评模板:

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

    • xxx
    • xxx
    • ...
  • 代码中值得学习的或问题:
    • xxx
    • xxx
    • ...
  • 基于评分标准,我给本博客打分:XX分。得分情况如下:xxx
  • 参考示例

点评过的同学博客和代码

  • 本周结对学习情况

    • 20172325

      • 一起学习了第十一章和第十二章的内容。

其他

这两章是在老师讲了之后我才去看的。基本是看得懂的。但是老师说对于IO异常这个方面,更需要了解的是如何利用流进行读写文件等。这个方面我觉得我还不是很会,所以之后还会继续学习这个。而十二章,我觉得对于我来说,重点就是要了解它每一步的操作,因为我觉得书中的递归的代码写的十分的缜密,这个方面我也不擅长,就在编写后面的题时就可能想少东西,导致结果有问题。还需要学习。

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 193/200 1/1 20/20
第二周 247/440 1/1 22/42
第三周 445/895 2/2 20/62
第四周 885/1780 1/1 43/105
第五周 775/2555 1/1 55 /160
第六周 1171/3726 1/1 38/198
第七周 596/4322 1/1 60/258
第八周 569/4891 2/2 55 /313
第九周 1890/ 6781 1/1 66/379

参考资料

原文地址:https://www.cnblogs.com/lc1021/p/9032767.html

时间: 2024-08-30 00:29:07

20172306《Java程序设计与数据结构》第九周学习总结的相关文章

《JAVA程序设计》_第九周学习总结

一.学习内容 1.数据库的建立.配置 在官网先下载好MySQL.navicat for MySQL.XAMPP.MySQL-connecter 在XAMPP中点击start开启MySQL 在navicat for MySQL中点击连接,输入信息后确定 在连接名处右击,创建新数据库,输入数据库名,字符集和校对均选择gb2312... 在表处右击,输入表的信息 点开创建的mess表输入信息,按tab键可快速换行 将MySQL-connecter添加到IDEA的module中 输入以下代码,检测数据库

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

20172320 2017-2018-2 <Java程序设计>第十周学习总结 教材学习内容总结 1.集合是一种对象,类似于保存其他对象的存储库 - 集合的同构意味着这种集合保存类型全部相同的对象:异构意味着可以保存各种类型的对象 2.抽象数据类型(ADT)是由数据和在该数据上所实施的具体操作构成的集合. - ADT有名称.值域和一组允许执行的操作 - ADT上可以执行的操作与底层的实现分离开了 3.一个动态数据结构用链来实现,动态数据结构的大小规模随需要增长和收缩 4.线性数据结构 - 队列:

20175310 《Java程序设计》第10周学习总结

20175310 <Java程序设计>第10周学习总结 本周博客: 2018-2019-2 20175310 实验三<敏捷开发与XP实践>实验报告 教材学习内容总结 这周学习了第十二章的内容,主要的知识点如下: 进程与线程 进程与线程的关系: 进程是程序的一次动态执行进程,它对应了从代码加载.执行至执行完毕的一个完整过程 线程不是进程,一个进程在其执行过程中,会产生多个线程,线程间可以共享进程中的代码和数据. 没有进程就没有线程 Java中的线程 多线程: 多线程是指一个应用程序中

20155208徐子涵 2016-2017-2 《Java程序设计》第5周学习总结

20155208徐子涵 2016-2017-2 <Java程序设计>第5周学习总结 教材学习内容总结 第八章 异常处理 8.1 语法与继承结构 Java中所有错误都会被打包为对象,运用try.catch,可以在错误发生时显示友好的错误信息.如: import java.util.*; public class Average2 { public static void main(String[] args) { try { Scanner console = new Scanner(Syste

20145331 《Java程序设计》第10周学习总结

20145331 <Java程序设计>第10周学习总结 教材学习内容总结 网络编程 网络编程就是在两个或两个以上的设备(例如计算机)之间传输数据.程序员所作的事情就是把数据发送到指定的位置,或者接收到指定的数据,这个就是狭义的网络编程范畴.在发送和接收数据时,大部分的程序设计语言都设计了专门的API实现这些功能,程序员只需要调用即可. 网络编程步骤: 1. 建立网络连接 客户端网络编程的第一步都是建立网络连接.在建立网络连接时需要指定连接到的服务器的IP地址和端口号,建立完成以后,会形成一条虚

20145239杜文超 《Java程序设计》第10周学习总结

20145239 <Java程序设计>第10周学习总结 教材学习内容总结 Java的网络编程 网络编程 网络编程就是在两个或两个以上的设备(例如计算机)之间传输数据. 网络概述 1.计算机网络概述 (1)路由器和交换机组成了核心的计算机网络,计算机只是这个网络上的节点以及控制等,通过光纤.网线等连接将设备连接起来,从而形成了一张巨大的计算机网络. (2)网络最主要的优势在于共享:共享设备和数据,现在共享设备最常见的是打印机. (3)IP地址:为了能够方便的识别网络上的每个设备,网络中的每个设备

20145216史婧瑶《Java程序设计》第9周学习总结

20145216 <Java程序设计>第9周学习总结 教材学习内容总结 第十六章 整合数据库 16.1 JDBC入门 撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的增删查找. JDBC目的:让Java程序设计人员在撰写数据库操作程序时可以有个统一的接口,无须依赖特定的数据库API,“写一个Java程序,操作所有数据库”. 联机数据库,需要在classpath中设定JDBC驱动程序. 基本数据库操作相关JDBC接口或类是为位于java.sql包中. Connection接口的操作对

20145331《Java程序设计》第5周学习总结

20145331<Java程序设计>第5周学习总结 教材学习内容总结 第八章 概述 Java异常机制主要依赖于try.catch.finally.throw.throws五个关键字. 语法格式如下: try { 被检代码; } catch(异常类 变量) { 处理异常的代码(处理方式): } 关键词try后的一对大括号将一块可能发生异常的代码包起来,称为监控区域.Java方法在运行过程中出现异常,则创建异常对象.将异常抛出监控区域之 外,由Java运行时系统试图寻找匹配的catch子句以捕获异

20145321 《Java程序设计》第5周学习总结

20145321 <Java程序设计>第5周学习总结 教材学习内容总结 第八章 1.Try.catch:Java中所有错误都会被打包为对象,通过try和catch语法可以对代表错误的对象做处理. 2.包装成对象的错误都是可抛出的(通过throw语法),设计错误对象都继承自java.lang.Throwable类,其子类为 java.lang.Error与java.lang.Exception. 3.如果方法设计流程中发生异常,而你没有充足的信息来知道如何处理,可以抛出异常,让调用方法的客户端来

20145326 《Java程序设计》第5周学习总结

20145326 <Java程序设计>第5周学习总结 教材学习内容总结 第八章 一.语法与继承结构 1.使用try .catch 我们编写程序时总有些由意想不到的状况而引发的错误,java中的错误以对象方式呈现为java.lang.Throwable的各种子类实例.只要能捕捉包装错误的对象,就可以针对该错误做一些处理.java中所有错误都会被打包为对象,如果愿意,可以尝试(try)捕捉(catch)代表错误的对象后做一些处理.以书上228页的代码为例,这里使用了try,catch语法,JVM会