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的区分。

结对及互评

点评模板:

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

    • 我觉得他可以在看书的时候思考是一件很值得学习的事情。对于错误和异常的那个问题,我看到的时候,我在想我为什么没有想到呢。而且看了他的解答,我觉得还是很容易懂的。
  • 代码中值得学习的或问题:

    • 他在问题中可以学到新的东西,这是很好的一个习惯,值得我学习。
  • 基于评分标准,我给本博客打分:8分。

点评过的同学博客和代码

  • 本周结对学习情况

    • 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

参考资料

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

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

    一.学习内容 1.数据库的建立.配置 在官网先下载好MySQL.navicat for MySQL.XAMPP.MySQL-connecter 在XAMPP中点击start开启MySQL 在navic ...

  2. 20172306 2018-2019-2 《Java程序设计》第五周学习总结

    20172306 2018-2019-2 <Java程序设计>第五周学习总结 教材学习内容总结 查找 查找中,我们对这些算法的实现就是对某个Comparable对象的数组进行查找 泛型声明 ...

  3. 20172306《Java程序设计》第五周学习总结

    20172306 2016-2017-2 <Java程序设计>第五周学习总结 教材学习内容总结 第五章主要学习了if以及while的语句的运用 运算符:== 代表相等,是两个之间的内存地址 ...

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

    20172325 2017-2018-2 <Java程序设计>第十一周学习总结 教材学习内容总结 Android简介 Android操作系统是一种多用户的Linux系统,每个应用程序作为单 ...

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

    20172325 2017-2018-2 <Java程序设计>第十周学习总结 教材学习内容总结 1.集合与数据结构 集合是一种对象 集合按照保存类型来看可以分为两种: (1)同构集合:只能 ...

  6. 20145213《Java程序设计》第五周学习总结

    20145213<Java程序设计>第五周学习总结 教材学习内容总结 "素衣莫起风尘叹,犹及清明可到家."每每念此,不得不心疼自己.古人清明长假都进城耍了,还担心自己清 ...

  7. 20155231 2016-2017-2 《Java程序设计》第5周学习总结

    # 20155231 2016-2017-2 <Java程序设计>第5周学习总结 教材学习内容总结 学习目标 理解异常架构 掌握try...catch...finally处理异常的方法 会 ...

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

    20172325 2018-2019-2 <Java程序设计>第八周学习总结 教材学习内容总结 一.堆 1.什么是堆? 具有两个附加属性的一个二叉树. 堆分为小顶堆和大顶堆. 最小堆:对每 ...

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

    20172325 2018-2019-2 <Java程序设计>第六周学习总结 教材学习内容总结 本周学习第十章--树 1.什么是树 (1)树是一种数据结构,与之前学过的栈.队列和列表这些线 ...

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

    20172325 2018-2019-2 <Java程序设计>第五周学习总结 教材学习内容总结 本次学习第九章内容,主要学习查找和排序. 查找 查找的定义:是一个过程,即在某个项目组中寻找 ...

随机推荐

  1. Python基础学习Day4 列表的使用方法、range 用法、in用法

    一.列表 1.1列表:python基础数据类型之一:其他语言也有列表的概念,js 数组,可索引 ,可切片,可加步长 1.2列表的索引,切片,切片+ 步长 结果: 注意:列表里元素的数据类型,就是它本身 ...

  2. 安装 telnet

    yum install telnet-server yum install telnet service xinetd restart 查询是否正常启动telnet       netstat -tn ...

  3. 我在eclipse输出的第一个hello world!

    下学期就要学习JAVA 语言,我现在对它好像还真的是一无所知.记得两次在帮学长做测评的时候,他们都说要装上eclipse.然后从放假我就忙着下载,安装,但是由于官网都是英文,似乎一直在出差错.询问了学 ...

  4. C++访问二维数组元素

    if(*image_in+j*+xsize+i)>=thresh)//xsize图像宽度 image_out是首地址,加上j*行宽就是目标行的首地址,再加上i,就是在此行中的第i个像素,所以整个 ...

  5. git库初次下载

    1.右键Git Batch Here==>输入 git config --list 确认2.再次输入ssh-keygen -t rsa -C “修改后的邮箱” 3.回车多次 找到 生成序列目录 ...

  6. js中函数的 this、arguments 、caller,call(),apply(),bind()

    在函数内部有两个特殊的对象,arguments 和 this,还有一个函数对象的属性caller. arguments对象 arguments是一个类似数组的对象,包含着传入函数的所有参数. func ...

  7. java搭建web从0-1(第一步:创建web工程)

    intellij idea版本:2017 1.新建一个web工程 使用工具intellij ideal,注意:只有Ultimate版本的可以新建web工程,社区版本的不支持新建web工程   File ...

  8. Linux之间配置SSH互信(SSH免密码登录)

    为简化SSH过程,采用证书方式,免去SSH登入时需要输入账号密码的过程,具体操作如下: 一.在SSH服务器所在机器上 1.以root用户登录,更改ssh配置文件 /etc/ssh/sshd_confi ...

  9. mysql 取得各种时间

    转载 取得当前日期:DATE_FORMAT(NOW(),'%e'): 取得当前年月:DATE_FORMAT(NOW(),'%Y-%c'):Y:四位.y:两位:m:两位.c:前面不加0: /*当前时间加 ...

  10. HandlerMapping和HandlerAdapter配置须知

    ---------------------siwuxie095                                 HandlerMapping 和 HandlerAdapter 配置须知 ...