20155220 2016-2017-2《Java程序设计》第五周学习总结
20155220 2016-2017-2《Java程序设计》第五周学习总结
教材学习内容总结
异常处理
-
Java异常处理通过5个关键字try、catch、throw、throws、finally进行管理。
-
基本过程是用try语句块包住要监视的语句,如果在try语句块内出现异常,则异常会被抛出,你的代码在catch语句块中可以捕获到这个异常并做处理;还有以部分系统生成的异常在Java运行时自动抛出。你也可以通过throws关键字在方法上声明该方法要抛出异常,然后在方法内部通过throw抛出异常对象。finally语句块会在方法执行return之前执行.
注意一下异常处理的语法规则:
-
try语句不能单独存在,可以和catch、finally组成 try...catch...finally、try...catch、try...finally三种结构,catch语句可以有一个或多个,finally语句最多一个,try、catch、finally这三个关键字均不能单独使用。
-
try、catch、finally三个代码块中变量的作用域分别独立而不能相互访问。如果要在三个块中都可以访问,则需要将变量定义到这些块的外面。
- 多个catch块时候,Java虚拟机会匹配其中一个异常类或其子类,就执行这个catch块,而不会再执行别的catch块。
- throw语句后不允许有紧跟其他语句,因为这些没有机会执行。
- 如果一个方法调用了另外一个声明抛出异常的方法,那么这个方法要么处理异常,要么声明抛出。
Collection与Map
认识Collection架构:
收集对象的共同行为定义在Collection中。既然可以收集对象,也要能逐一取得对象,这就是java.lang.Iterable定义行为,它定义了iterator()方法返回java.util.Iterator操作对象,可以逐一取得对象。
键值对应的Map
- 常用Map操作类有HashMap、TreeMap和Properties。HashMap的特点是线程不安全,速度快,允许存放null键,TreeMap会对键进行排序,条件是作为键的对象必须操作Comparable接口,或者是在创建TreeMap时指定操作Comparable接口的对象,Properties的setProperty()可以指定字符串类型的键值,getProperty()可以指定字符串类型的键,取回字符串类型的值,通常称为属性名称与属性值。
教材学习中的问题和解决过程
-
问题:throw和throws关键字是如何区别的?
-
throw用来抛出一个异常,在方法体内。语法格式为:throw 异常对象。
-
throws用来声明方法可能会抛出什么异常,在方法名后,语法格式为:throws 异常类型1,异常类型2...异常类型n
代码调试中的问题和解决过程
public class Main{
public static void main (String [] args){
try {
int number = Integer.parseInt(args[0]);
System.out.println(number++);
}catch(NumberFormatException ex){
System.out.println("必须输入数字");
}
}
}
最后结果显示 Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0
显示ArrayIndexOutOfBoundsException堆栈追踪
代码托管
上周考试错题总结
-
错题1:面向对象中,设计经验可以用(设计模式)表达。
-
错题2:可以用父类声明对象引用,用子类生成对象,但需要强制类型转换。(X)
原因:只有父类引用本身指向的就是一个子类对象时,才可以把父类引用强制转换为子类对象
代码托管
- 基于评分标准,我给该博客打分:8。
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第二周 | 40/100 | 1/2 | 8/20 | |
第三周 | 100/150 | 1/3 | 18/26 | |
第四周 | 465/605 | 1/4 | 23/49 | |
第五周 | 527/1132 | 1/5 | 35/84 |