标签:bin loading print ack long log 序列 bit 怎么
本周学习第十一章异常和第十二章
第十一章-异常
异常抛出时所输出的信息提供了方法调用堆栈踪迹。如图
第一行抛出异常及原因,之后的几行指出发生异常的方法文件和代码行号。getMessage方法返回字符串解释异常抛出的原因,printStackTrace方法输出调用堆栈踪迹信息
System类中的三种对象引用变量代表标准I/O流
标准I/O流 | 说明 |
---|---|
System.in | 标准输入流 |
System.out | 标准输出流 |
System.err | 标准错误流 |
第十二章-递归
问题1解决方案:按照教材的说法,异常代表的是一种意外的情况,这样来分别的话就可以理解为异常不一定是错误,但错误一定是一种异常,但事实上在异常类层次结构中,
Throwable类下,异常(Exception)和错误(Error)是同级的两个子集,是一个并列的关系。
在我的理解来看,异常代表了一些逻辑上的问题,比如出现无限循环,除零操作之类等等的,但是错误就相当于是代码编写时方法的错误运用,导致运行出错(感觉上两者概念的界限比较模糊)。但在网络上给出的资料中,似乎将错误的范围拓展到了稍稍和教材给出的不太一样的方向
异常和错误最本质的区别就是异常能被开发人员处理而错误时系统本来自带的,一般无法处理也不需要我们程序员来处理。
似乎书上给出的错误并没有像是系统自带的,难道是理解的偏差?
问题2解决方案:书上没有详细提到throw子句,综合网络的信息,我找到了一个详细的解答
1、throws出现在方法函数头;而throw出现在函数体。
2、throws表示出现异常的一种可能性,并不一定会发生这些异常;throw则是抛出了异常,执行throw则一定抛出了某种异常对象。
3、两者都是消极处理异常的方式(这里的消极并不是说这种方式不好),只是抛出或者可能抛出异常,但是不会由函数去处理异常,真正的处理异常由函数的上层调用处理。
同时给出了例子,throw一般会用于程序出现某种逻辑时程序员主动抛出某种特定类型的异常,throws是方法可能抛出异常的声明。(用在声明方法时,表示该方法可能要抛出异常)
我理解的该方法的意思就是,当调用该方法之后,将停止流对文件的输入或输出(关闭该流),清空缓存区的内容(释放与之关联的所有系统资源)
应该这里提到的fw和bw分别是指FileWriter和BufferedWriter吧,FileWriter 用于写入字符流而BufferedWriter将文本写入字符输出流,缓冲各个字符,从而提供单个字符、数组和字符串的高效写入。也就是说,BufferedWriter会先将流里的字符进行缓冲之后再输入或输出,这样可以提高写入速度。
问题4解决方案:
在java.io包中操作文件内容的主要有两大类:字节流、字符流,两类都分为输入和输出操作。在字节流中输出数据主要是使用OutputStream完成,输入使的是InputStream,在字符流中输出主要是使用Writer类完成,输入流主要使用Reader类完成。
字节流可用于任何类型的对象,包括二进制对象,而字符流只能处理字符或者字符串;字节流提供了处理任何类型的IO操作的功能,但它不能直接处理Unicode字符,而字符流就可以
问题5:
每一次对方法的递归调用,都会创建新的局部变量与参数。
怎么理解这句话?
问题1解决方案:
首先是这个valid方法,提供了方法判断输入的数组位置是否越界,并且是否是通路(用1表示)或者是否已经走过,如果是返回result值为false,不是为true。
输入的数组位置一开始经过valid判断输出true后进行下一步操作,判断如果走到右下角就返回一个true值,如果没有就分别向下,右,上,左四个方向移动直到找到一个方向是通路就移动过去继续进行递归操作直至走到右下角,如果四个方向都是死路,就返回false结束操作。
** 点评过的同学博客和代码**
本周学习了异常和递归两个章节的内容,总体来说不是特别难,只需要认真学习就能够基本掌握。同时本周还同时进行结对编程的练习。
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第一周 | 117/117 | 1/1 | 19/19 | |
第二周 | 289/406 | 1/2 | 21/40 | |
第三周 | 403/809 | 2/4 | 22/62 | |
第四周 | 1783/2592 | 1/5 | 35/97 | |
第五周 | 770/3362 | 1/6 | 25/122 | |
第六周 | 734/4096 | 1/7 | 25/147 | |
第七周 | 687 / 4783 | 1/8 | 25/172 | |
第八周 | 824/5607 | 2/10 | 30/202 | |
第九周 | 764/6371 | 2/12 | 30/432 |
计划学习时间:20小时
实际学习时间:30小时
20172323 2017-2018-2 《程序设计与数据结构》第九周学习总结
标签:bin loading print ack long log 序列 bit 怎么
原文地址:https://www.cnblogs.com/Lewandodoski/p/9032308.html