20162323周楠《Java程序设计与数据结构》第八周总结
20162323周楠 2016-2017-2 《程序设计与数据结构》第八周学习总结
教材学习内容总结
一个异常是一个对象,它定义了并不轻易出现的或是错误的情形
异常由程序或运行时环境抛出,并能被捕获,需要时可进行适当的处理,与错误(error)不同,error不可恢复,且不应该被捕获
导致异类的几种情形:
1.试图被0除
2.数组下标越界
3.没有找到指定的文件
4.请求的I/O操作没能正常执行
5.试图访问空引用所指的对象
6.试图执行一个违反某类安全措施的操作
处理异常的方式:
1.不处理异常
2.在异常发生的地方处理
3.在程序的其他地方处理异常
不捕获异常:抛出异常时输出的消息提供了方法调用栈的轨迹
try-catch语句:每个catch子句处理try块中可能抛出的一种特定类型的异常
finally语句:不论是正常退出try块,还是因跑出一个异常而退出,都要执行finally子句
异常传播:有一个可以让方法调用层次中的外层方法捕获并处理异常,如果在发生异常的方法内没有捕获并处理它,控制立即转向产生异常的这个方法的调用方法,以此类推。
异常类的层次:Error类和Exception类的共同父类是Throwable类。从Excption类或他的一个后继类派生一个新类,就可以定义新的异常。
必检异常和免检异常:方法头中的throws子句必须包含方法中没有被捕获及处理的必检异常
I/O异常(输入/输出异常):
1.流是字节的顺序序列,他可以用作输入流或输出的目的地
2.标准的I/O流:System类中的三个公有引用变量(in、out、err)
System.in 标准输入流 System.out 标准输出流 System.err 标准错误流(输出信息错误)
3.Java类库中包含了许多类,可用来定义具有不同属性的I/O流
教材学习中的问题和解决过程
- 问题1:对异常的分类比较模糊,层次不清
- 问题1解决方案:从视频中学习,再分类
- 问题2:异常的处理
- 问题2解决方案:Java的异常处理是通过5个关键字来实现的:try,catch,throw,throws,finally。对这几个方法再分开比较
代码调试中的问题和解决过程
- 问题1:运行结果出错
- 问题1解决方案:看书的时候看错了,然后以为是运行错误,去翻了视频,发现没有错误,再去认真看书
代码托管
(statistics.sh脚本的运行结果截图)


上周考试错题总结
1.假设Horse是Animal的子类,且都不是抽象类。下面哪项是无效的声明和初始化?
A .
Horse h = new Horse();B .
Horse h = new Animal();C .
Animal a = new Animal();D .
Animal a = new Horse();E .
all of the above(以上都正确) are valid(以上都是有效的)答案:B。由于Horse是Animal的子类,所以B需要一个明确的类。
2.下面哪个方法包含了实现Iterator接口的对象?
A .
nextB .
hasNextC .
toStringD .
all of the above(以上都正确)E .
a and b(a和b)答案:D。Iterator接口指定实现它的所有对象必须具有hasNext和next方法, 由于Java中的所有对象都是Object类的子类,所以它还将包含toString方法。
3.为了创建一个实现接口的类,需要使用关键字____
A .
extendsB .
interfacesC .
implementsD .
finalizesE .
abstracts答案:C。实现接口的类使用implements关键字来声明该类。
4.假设Animal是一个指定了单一方法的接口--speak。现在假设Dog类实现了Animal接口。除了speak方法外,Dog类还有一个方法wagTail。现在思考下面的代码:
Animal a = new Dog();
a.wagTail();关于这段代码,下面哪项是正确的
A .
这段代码会引起编译时错误B .
这段代码会引起运行时错误C .
这段代码将会调用Animal接口中的speak方法D .
这段代码将会调用Dog类中的wagTail方法E .
以上都正确答案:A。此代码将引起编译时错误,因为Animal接口未指定wagTail方法。 调用wagTail方法时,可以通过显式地转换为Dog来避免编译时错误。
5.假设Animal是一个接口。那么,通过初始化Animal接口创建一个对象是可能的).
A .
trueB .
false
答案:B。接口无法实例化。6.接口不能声明任何实例变量).
A .
trueB .
false
答案:A。接口只能声明常量。
6.Linux中获取当前路径的绝对路径的命令是()?
A .
cdB .
passwdC .
treeD .
pwd
答案:D。使用 cd 命令可以切换目录,在 Linux 里面使用 . 表示当前目录,.. 表示上一级目录, - 表示上一次所在目录,~ 通常表示当前用户的 home 目录。使用 pwd 命令可以获取当前所在路径(绝对路径)。
passwd 修改用户登录口令,tree给出目录树结构。
结对及互评
点评过的同学博客和代码
- 本周结对学习情况
- [20162323朱娅霖](http://www.cnblogs.com/zyl905487045/)
- 结对学习内容
- 对出现的错误一起讨论
- 一起看博客,交流,交换笔记查漏补缺
- 上周博客互评情况
思考
每个章节末尾的重点总结里面有好多东西,基本上这一章里面的所有东西都在这里,在学习的过程中,最开始是一页一页看书,但是效率太低,后来是视频与课本结合起来学习,然后开始通过敲书上代码来掌握知识,这周又开始回归书本知识,先阅读重点总结,知道这一章有哪些重要的知识点,然后看视频,最后再把书本细过一遍,学习方法在不断地改进,希望能找到最适合自己的那一种。
学习进度条
| 代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
|---|---|---|---|---|
| 目标 | 5000行 | 30篇 | 400小时 | |
| 第五周 | 479/200 | 7/24 | 18/100 | |
| 第六周 | 559/500 | 9/33 | 20/120 | |
| 第七周 | 630/1000 | 4/37 | 18/138 | |
| 第八周 | 300/1300 | 2/9 | 30/90 |
20162323周楠《Java程序设计与数据结构》第八周总结的更多相关文章
- 20172306 2018-2019-2 《Java程序设计与数据结构》第九周学习总结
20172306 2018-2019-2 <Java程序设计与数据结构>第九周学习总结 教材学习内容总结 无向图 图是由结点和这些结点之间的连接构成 就图来说,结点叫做顶点,结点之间的连接 ...
- 20172306 2018-2019 《Java程序设计与数据结构》第一周学习总结
20172306 2018-2019 <Java程序设计与数据结构(下)>第一周学习总结 教材学习内容总结 第一章 概述 (程序=数据结构+算法 软件=程序+软件工程) 1.1 软件质量 ...
- 20172306《Java程序设计与数据结构》第一周总结
20172306<Java程序设计>第一周学习总结 教材学习内容总结 本周主要学习<Android和Java>书中的第二十三章和第二十六章. 第二十三章:Android简介 A ...
- 20172306《Java程序设计与数据结构》第九周学习总结
20172306<Java程序设计>第九周学习总结 教材学习内容总结 第十一章: try-catch语句.其中还有finally语句.try是进行某些操作,catch是捕获异常,并通过某些 ...
- 《JAVA程序设计》_第八周学习总结
一.学习内容 1.泛型类声明--15.1知识 可以使用"class 名称"声明一个类,为了和普通的类有所区别,这样声明的类称作泛型类,如: class People<E> ...
- 20162323周楠《Java程序设计与数据结构》第六周总结
学号 2016-2017-2 <程序设计与数据结构>第六周学习总结 教材学习内容总结 继承:从已有类派生一个新类,是面向对象程序设计的一个特点 在Java中只支持单继承,不支持多继承 继承 ...
- 20172306 2018-2019-2 《Java程序设计与数据结构》第八周学习总结
20172306 2018-2019-2 <Java程序设计与数据结构>第八周学习总结 教材学习内容总结 堆 堆是具有两个附加属性的一棵二叉树 它是一个完全树 对每一结点,它小于或等于其左 ...
- 20172306 2018-2019-2 《Java程序设计与数据结构》第七周学习总结
20172306 2018-2019-2 <Java程序设计与数据结构>第七周学习总结 教材学习内容总结 概述 二叉查找树是一种含有附加属性的二叉树,即其左孩子小于父结点,而父结点又小于或 ...
- 20172306 2018-2019-2 《Java程序设计与数据结构》第六周学习总结
20172306 2018-2019-2 <Java程序设计与数据结构>第六周学习总结 教材学习内容总结 概述(了解一下树的一些概念) 树是一种非线性结构.树由一个包含结点和边的集构成,其 ...
- 20172306《Java程序设计与数据结构》第十周学习总结
20172306<Java程序设计>第十周学习总结 教材学习内容总结 本章主要的讲的是集合有关的知识: 1.集合与数据结构 - 集合是一种对象,集合表示一个专用于保存元素的对象,并该对象还 ...
随机推荐
- 分布式架构设计(一) --- 面向服务的体系架构 SOA
1.1 基于TCP协议的RPC 1.1.1 RPC名词解释 RPC的全称是Remote Process Call,即远程过程调用,RPC的实现包括客户端和服务端,即服务调用方和服务提供方.服务调用方发 ...
- Maven错误信息:Missing artifact jdk.tools:jdk.tools:jar:1.6
在pom.xml中添加依赖: <dependency> <groupId>jdk.tools</groupId> <artifactId>jdk.too ...
- JS中的闭包问题
一.闭包:在函数外也可使用局部变量的特殊语法现象 全局变量 VS 局部变量: 全局变量:优点:可共享,可重用; 缺点:在任意位置都可随意修改——全局污染 局部变量:优点:安全 缺点:不可共享,不可重用 ...
- Error400
关于Error400,研究了几天终于弄明白了.不是FQ的问题,也不是DNS污染的问题.之前网上很多帖子说Error400可以通过删除 cookies来解决.但是其实这个并不管用.也就是说.原因并不是由 ...
- 自定义MVC框架---第一章
MVC基本介绍 介绍: mvc是一种编程思想,用来解决开发项目的时候,代码如何编写,项目如何架构的问题,更具体一点就是解决多人协同开发时,如何分工协作的问题,从而提升开发效率 举一个例子:有一个人想 ...
- mysql5.6 绿色免安装版 安装详解
一.安装版本简介 MySQL是一个小巧玲珑但功能强大的数据库,目前十分流行.但是官网给出的安装包有两种格式,一个是msi格式,一个是zip格式的.很多人下了zip格式的解压发现没有setup.exe, ...
- Maven-06: 插件的内置绑定
Maven的生命周期与插件相互绑定,用以完成实际的构建任务.具体而言,是生命周期的阶段与插件的目标相互绑定,以完成某个具体的构建任务.例如项目编译这一任务,它对应default生命周期的compile ...
- DOM节点的创建
1.createAttribute() 创建一个属性节点 => 接收参数为string类型的属性名称 var a=document.getElementsByClassName('name1') ...
- Spring Clould负载均衡重要组件:Ribbon中重要类的用法
Ribbon是Spring Cloud Netflix全家桶中负责负载均衡的组件,它是一组类库的集合.通过Ribbon,程序员能在不涉及到具体实现细节的基础上"透明"地用到负载均衡 ...
- 排序算法Java实现(冒泡排序)
算法描述:对于给定的n个记录,从第一个记录开始依次对相邻的两个记录进行比较,当前面的记录大于后面的记录时,交换位置,进行一轮比较和交换后,n个记录中的最大记录将位于第n位:然后对前(n-1)个记录进行 ...