DATE,Exception

Date:

        java.util

        表示特定的瞬间

构造方法:

        Date()

        分配一个 Date对象并将它初始化,它代表的时间分配给它,测量精确到毫秒

Date(long date)

        分配一个 Date对象并将它初始化为代表指定的毫秒数自基准时间被称为“时代”,即1970年1月1日,00:00:00 GMT。

方法:

        public long getTime()--获取long类型的毫秒值

参考基准时间来计算

        public void setTime(long time)--设置当前Date的毫秒值

总结:

        Date<->long:

Date->long:

getTime()

long->Date:

new Date(long time)

setTime(long time)

Calendar:

        日历类

        java.util包

public abstract class  -- 抽象类 不能直接创建对象

获取Calendar的对象:

Calendar calendar = Calendar.getInstance();

属性:

        public static final int YEAR -年

        public static final int MONTH -月

        public static final int DAY_OF_MONTH - 日

        public static final int DATE - 日

        public static final int HOUR - 0-11

        public static final int HOUR_OF_DAY - 0-23

        public static final int MINUTE - 分钟

        public static final int SECOND - 秒

        public static final int MILLISECOND - 毫秒

方法:

        public int get(int field)--返回指定字段的数据

        public void set(int field,int value)--设置指定字段的值

        public abstract void add(int field, int amount)

amount

负数  当前时间往前

   正数 当前时间往后

public final Date getTime()--Calendar->Date

public long getTimeInMillis() -- Calendar->long

public final void setTime(Date date) -- Date->Calendar

public void setTimeInMillis(long millis) -- long->Calendar

日期的格式化和解析

格式化:

        日期类型->String

解析:

        String->日期类型对象

DateFormat:

        java.text 包

        public abstract class DateFormat - 抽象类

子类:

        SimpleDateFormat

        

SimpleDateFormat :

        构造方法:

                public SimpleDateFormat()--默认格式来进行格式化和解析

                public SimpleDateFormat(String pattern) -- 指定格式来进行格式化和解析

日期格式写法:

yyyy-MM-dd  1999-12-02

yyyy-MM-dd HH:mm:ss   1999-12-02 10:08:26

yyyy/M/dd HH:mm  2021/7/13 10:15

yyyy年M月dd日 2021年7月22日

方法:

格式化:

public final String format(Date date)

解析:

public Date parse(String source)

异常

Throwable

        --Error  错误

        人为无法解决  不用处理

例如:

StackOverflowError 栈内存溢出错误

--Exception  异常

        编译时异常-已检查异常

要求必须处理,否则编译报错无法运行

Exception的子类除RuntimeException及其之类之外都是编译时异常

例如:

CloneNotSupportedException 克隆不支持异常

ParseException 解析异常

运行时异常-未检查异常

可以处理也可以不处理,程序可以运行

RuntimeException及其子类都是运行时异常

例如:

ArithmeticException

ClassCastException

 NullPointerException

异常一旦出现,程序默认情况下停止执行,将异常信息打印,之后的代码都无法执行了。

Exception类:

        构造方法:

                new Exception()--不指定任何内容  异常信息都是空的

                new Exception(String message)--传入了异常的描述信息

方法:

        getMessage()-获取异常的描述信息

        printStackTrace()--打印异常的堆栈跟踪信息

        

异常的产生:

        throw关键字  产生异常

格式:

        throw new 异常类名(String message);

注意:

        如果异常类型是编译时异常,则throw语句所在的方法必须处理异常(通常通过直接抛出的方式来解决异常)

        如果异常类型是运行时异常,则可以不用处理

        如果调用的方法有异常抛出,则调用方法的位置也需要处理异常

异常的处理:

1、直接抛

throws关键字在方法上声明异常的抛出

格式:

方法声明 throws 异常类型1,异常类型2,…{}

特点:

throws抛出 导致程序停止运行

main方法如果抛出异常,则抛给虚拟机,虚拟机处理方式是:打印异常的堆栈跟踪信息,停止程序运行

注意:

throws后边可以声明异常类型为Exception 或者Throwable顶级父类

2、try.catch.finally代码块处理异常-捕获

try catch finally关键字

格式一:

try{

可能异常的代码块;

}catch(异常类型 对象名){

处理异常

}

格式二:

try{

可能异常的代码块;

}catch(异常类型1 对象名1){

处理异常

}catch(异常类型2 对象名2){

处理异常

}…

注意:

catch中也可以声明异常类型为Exception Throwable父类类型  简化catch代码块

如果catch有多个,且声明的异常类型存在子父类继承关系,将子类放前边,父类类型放后边

格式三:

try{

可能异常的代码块;

}catch(异常类型1 对象名1){

处理异常

}catch(异常类型2 对象名2){

处理异常

}finally{

无论try中是否抛出异常都要执行的代码块;

}

应用场景:

finally中通常用于进行资源的释放

通常用于IO资源释放

特点:

try中无论是否出现异常,try.catch之后的代码可以正常执行

try中出现异常之后的代码不再执行

总结:

1、throw throws关键字的区别?

作用不同

throw 产生异常

throws 抛出异常-处理异常

内容不同

throw 异常对象

throws 异常类型

数量

throw后只能跟一个异常对象

throws后边写多个异常类型

2、编译时异常  运行时异常

编译时异常要求必须处理

运行时异常 可以处理也可以处理

3、处理异常的两种方式

1、throws直接抛出

2、try.catch捕获异常

适用场景:

如果异常处理不了,直接抛出

如果异常可以处理 且 必须实现不影响后续代码执行 try catch捕获--必须要留下异常的信息

自定义异常:

考虑是编译时异常 还是运行时异常

1、自定义编译时异常

class 异常类名 extends Exception{

提供构造方法

无参

有参

}

例如:

public class MyException extends Exception{

    public MyException(){}

    public MyException(String message){

        //调用父类的有参构造

        super(message);

    }

}

2、自定义运行时异常

class 异常类名 extends RuntimeException{

提供构造方法

无参

有参

}

例如:

public class MyException extends RuntimeException{

    public MyException(){}

    public MyException(String message){

        //调用父类的有参构造

        super(message);

    }

}

应用场景:

自定义和业务内容相关的异常

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值