day05-递归 时间api 异常

递归

StackOverflowError:栈内存溢出.

递归就是方法直接或者间接调用本身.

注意事项: 递归如果没有控制好终止,会出现递归死循环,导致栈内存溢出现象.

使用:一些算法题.

时间api

jdk8-

Date类:

构造方法:1.pblic Date():将此刻的时间封装为对象

2.public Date(long date):根据传入的毫秒值,;来设置时间对象

成员方法:1.public void setTime(long time):根据传入的毫秒值,;来设置时间对象

2.public long getTime( ):获取时间远点,到Date对象所经历过的毫秒值.

SimpleDateormat类

Calendar类

1.创建对象:public sataicCalendar getInstance:获取Calendar的子类对象并方法并返回

2.成员方法public int get(int field):返回规定日历字段的值 Calendar.Yeay:年Caedar.MONTH月 Claednder.DAY_OF-MONTH: 日Calendar.Day_OF_WEEk

异常介绍

异常学习什么?

1.能够看懂异常信息

指的是程序在编译或者执行过程中,出现的非正常情况(错误)

注意:语法错误并非异常.

从下往上看

2.了解异常体系结结构和分类

Throwable类是所有java异常的父类.

Error:严重级别问题

常见:栈内存溢出(StackOverfloError),堆内存溢出(OutOfMemoryError)

Exception:常见问题

1.RuntimeException及其子类:运行时异常(编译时不会出错,但是运行期间会出现错误)

2.除RuntimeException之外所有异常:编译时异常(在编译阶段,语法没有问题.但是编译就是出错)--受检测异常,提醒我们这段代码很有可能出现错误,需要程序员给出预处理方案---没有错误:正常执行------有错误:执行我们给出的错误.

3.掌握异常的两种处理方式

1.抛出异常

在自己所在方法后面给出抛出的对象.java程序遇到异常,默认处理方案就是抛出异常

①在遇到异常的地方自动创建异常对象 ②然后抛个上级 mian方法.

③然后继续抛给上级JVM虚拟机 .④虚拟机接收到异常,先在控制台直接输出异常信息数据⑤终止java程序的运行⑥,后续代码没有机会执行

2.捕获异常

try...catch...捕获异常

try{

可能会出先异常的代码

}chat(异常的类名称,对象名){

异常的处理方案

}

执行流程:

①执行try{}中的代码,看是否有一次对象产生

②没有:就不会执行catch内部的代码,程序会继续向下执行.

③有:使用catch进行捕获,执行我们给出的异常处理方案,程序在继续执行.

注意:tyu语句后面可以编写多个catch,但是最大的异常一定要放在后面捕获.

结好处: try..catch语句可以让后面语句继续执行.

例子:

案例:需求:键盘录入学生的姓名和年龄,将其封装为Student学生对象

throw:用在方法中,后面gender是异常对象,是真正抛出异常对象的关键字

--编译是异常:必须编写throws声明

--运行是异常:不需要编写throws声明.

throws:用在方法声明上,后gender是异常类名,作用是声明此方法中存在异常

异常的两种处理方式,怎么选?

思路:看问题是否需要抛出

1.需要:抛出

2.不需要:try...catch...捕获异常.

4.自定义异常.

Throwable:

getMessage():返回异常的错误原因

toString():返回次异常信息的简短描述

printStackTrace():返回异常错误的完整信息.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值