今天学了两个小时的java,主要是学习了异常处理方面的知识,也是为了明天的上课进行预习,
1.对于异常处理主要是以两种方式来解决的一种是 try catch,来对异常进行捕获,还有就是throws来对于异常进行向上抛出,直到抛出到JVM。
然后主要的异常种类和继承关系就是下面这个图,异常的使用细节也是跟这个继承关系有关
上面的图也是很清晰的分成了两类,一类就是运行异常,一类就是编译异常。
对于运行异常的几个基本类型就是下面这个图片
然后对于try catch处理方式的相关操作模板就是下面这个图片
对于这其中的finally这个语句这是十分特殊的,这个必须要实现是一定会实现的,就是如果在try 代码块中结束程序也是会执行完这句话才进行结束,然后就会形成一个比较特殊的结果。
就比如下面这个代码
它会先执行finally 中的语句输出i=4;然后输出临时变量中的3;
还有就是throws语句,因为这个方法对于运行异常是自动进行了throws操作所以对于编译异常才需要使用这个,然后就是要注意这个语句中的对于throws后面的各种异常的继承关系,不管是那个形式异常之间的继承关系但是很重要的。
就比如·
这个代码对于有多个catch的情况一定要遵守上面写的第三条,不然的话编译器就会报错,因为子类写在父类后面子类就无法发挥作用。
2.对于我写的题目
这个题目我使用了一个排序,然后取中间的数据,这样对于一个一定有一个数量大于数组一半的元素来说中位数一定是这个数。
代码如下
class Solution {
public:
int majorityElement(vector<int>& nums) {
sort(nums.begin(), nums.end());
int m=nums.size() / 2;
return nums[m];
}
};
今天的总结就到这里了。