JAVA异常和基础类库

知识点总结第四篇

 
1.Java中导致程序中断运行的错误称为异常
 
2.Exception异常分为可查异常和不可查异常两种,且不可察异常一般为RuntimeException和它的子类异常,其他都是可查异常
 
3.并不是所有的异常我们都要捕获,我们只用关心有关程序运行还有程序的逻辑性的异常
 
3.一个try语句可以有多个catch与之对应,换句话说可以捕获多个异常eg:

try {
            //可能会发生异常的代码
        }
        catch (异常类型1 e) {
            //捕获并抛出try产生的异常类型为1的程序代码
        }
        catch (异常类型2 e) {
            //同上
        }
        catch (异常类型3 e) {
            
        }
        finally {
            //对try语句做最后的处理,无论是否抛出异常都要执行
        }

注意:有catch的时候finally可要可不要,但是如果没有catch的时候,finally必须有!
 
4.异常也是一个类,我们也可以写自己定义的异常,只需要继承Throwable类或者Exception类,重写父类的构造方法和getMessage方法。
eg:

class myException extends Exception {
    String news;
    public myException(String news) {
        this.news = news;
    }

    @Override
    public String getMessage() {//重写父类的getMessage方法
        return news;
    }
}

5.throw和throws的区别在于
    1.throws是向上抛出,一般用于方法内当前方法发现异常不做处理,而是抛给上一级方法;
    2.throw则是在当前方法或者域内对返现的异常进行抛出处理。
 
6.Throwable和Exception的区别
    1.Throwable是父类,Exception是子类
    2.throwable用来定义所有可以作为异常抛出的类,而Exception专指程序本身可以处理的异常,一般性的异常
 
7.程序在运行的时候会自动抛出系统定义的异常,异常的抛出顺序和catch的顺序有关
 
8.Java常用的类包:
    1.java.lang
    2.java.io
    3.java.util
 
9.String字符串创建的字符串是常量(不可以被修改),创建后不能改变;但是Stringbuffer创建的是缓冲区,字符串可以改变
 
10.String对象使用了concat等方法后其本身并未改变,只不过方法返回了一个新的字符串
 
11.由于String创建的是字符串常量,也就是说同样的字符串内容相当于创建了一个字符串对象
 
12.字符串常用的方法
    1.charAt(int index)  返回指定索引的char值
    2.compareTo(String str)  返回第一个不相等字符的ASCII差值,也就是说两字符串相等返回0,第一个字符串的字典序大于第二个返回正数,否则返回负数
    3.concat(String str)  将字符串str链接到当前字符串的末尾,但是当前字符串并未改变,而是创建了一个新的字符串返回
    4.equals(Object obj)  相同返回true,否则返回false
    5.indexof(String str)  返回当前串第一次出现的str的索引
    6.split(String str) 按照正则表达式拆分字符串
    7.append(String str) 在当前字符串末尾添加str(Stringbuffer的方法),并且当前字符串内容改变
 
13.Stringbuffer是线程安全的,Stringbuilder是线程不安全的,Stringbuffer的速率慢于Stringbuilder
 
14.next读入的是一个字符串但是遇到空格或者回车就会停止读入,想要以回车最为分隔符可以使用nextLine方法
 
15.数学类常用的方法有
    1.random() 产生随机数的
    2.pow() 乘幂
    3.sqrt()平方根
    4.abs()取绝对值
    5.max()、min()   求最大最小值
 
16.日期类Date,内置的常用方法
    1.boolean after(Date d) 测试此日期是否在指定日期之后
    2.boolean before(Date d)测试此日期是否在指定日期之前
    3.int cmpareTo(Date d)比较两个时间的顺序
    4.long getTime() 返回自GMT1970年1月1日00:00:00以来,到此对象的毫秒数
 
17.包装类弥补了基础数据类型没有对象特征的不足,当我们在使用后面的一些集合的时候就不能使用基础数据类型,而是用与之对应的包装类进行
 
18.八大包装类
Integer(int) 、Long(long)、Short(short)、Byte(byte)、Character(char)、Double(double)、Float(float)、Boolean(boolean)、BigInteger、BigDecmail
其中BigInteger、BigDecimal没有相对应的基本类型,主要应用于高精度的运算,BigInteger 支持任意精度的整数,BigDecimal支持任意精度带小数点的运算。
 

posted @ 2020-12-25 14:29  MangataTS  阅读(128)  评论(0编辑  收藏  举报