api和异常

常用API

Math

Math类概述

包含基本数字运算的方法

没有构造方法如何使用类里的成员呢

看类的成员是否都是静态的,如果是,通过类名就可以直接调用

Math类的常用方法

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IMSBb8kL-1658970134191)(C:\Users\29304\AppData\Roaming\Typora\typora-user-images\image-20220725143001645.png)]

System

System包含几个有用的类字段和方法,它不能被实例化

System常用方法

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-iDeFxZ5D-1658970134192)(C:\Users\29304\AppData\Roaming\Typora\typora-user-images\image-20220725155423441.png)]

Object

Object概述

Object是类层次结构的跟,每个类都可以将Object作为超类。所有类都直接或间接继承自该类

构造方法 public Object()

回想面向对象中,我i什么说子类的构造方法默认访问的是父类的无参构造方法

因为他们的顶级父类只有无参构造方法

看方法的源码,选中方法 按下CTRL+B

to String

所打的是一串信息,建议所有子类重写此方法

equals

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BBJs6c2q-1658970134193)(C:\Users\29304\AppData\Roaming\Typora\typora-user-images\image-20220725172050480.png)]

this==o比较的地址

如果地址相同,那么就是同一个对象,直接返回ture

if o==null(判断参数是否为null如果是直接是false)|| 还有一种判断两个对象是否来自同一个类

有一种情况满足返回false

o强转为student(向下转型)student 代表s2

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nimzlM1s-1658970134193)(image-20220725192401197.png)]

隐含this s1的age与s2的age对比不等于的话返回false

(比较年龄是否相同)

最后的是比较姓名是否相同

判断s1的name等不等于null如果等于null(调方法) equals(判断内容是否相同)

Object类中equals方法默认比较的是地址,重写后按照重写的规则进行比较

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-q5ZL8kdN-1658970134194)(image-20220725193139441.png)]

Arrays

冒泡排序

排序:将一组数据按照固定的规则排列

冒泡排序:一种排序方式,要对进行排序的数据中相邻的数据进行两两比较较大的数据放在后面,依次对所有的数据进行操作,直至所有数据按照要求完成排序

如果有n个数据进行排序,总共需要比较n-1次

每次比较完毕,下一次比较就会少一个数据参与

Arrays概述

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7rwL87NW-1658970134194)(image-20220725194929167.png)]

日期类

Date类描述和构造方法

date代表了一个特定的时间,精确到毫秒

public Date()
    分配一个date对象,并初始化以便代表它被分配的时间,精确到毫秒
public Date(long date)
    分配一个date对象并将其初始化成从基准时间起指定的毫秒数  

Date类常用方法:

public longgetTime()
    获取的是日期对象从197011000000到现在的毫秒值
public void setTime(long time)
    设置时间,给的是毫秒值

SimpleDateFormat类概述

SimpleDateFormat是一个具体的类,用于以区域设置敏感的方式格式化和解析日期 我们重点学习日期格式化和解析

日期和时间格式是由日期和时间模式字符串指定在日期和时间模式字符串中,从‘A’到‘Z’以及从’a’到‘z’引号的字母被解释为表示日期或时间字符串的组件的模式字母

y 年 M 月 d 日 H 小时 m 分钟 s 秒

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-spMipP6Y-1658970134195)(image-20220726083831190.png)]

格式化

public final String format(Date date):将日期格式化成日期/时间字符串
public Date parse(String score):从给定字符串的开始解析文本已生成日期

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-f0AHih88-1658970134196)(image-20220726085030933.png)]

工具类:构造方法私有 成员方法静态

package practic;

import java.util.Date;

public class Demo {
    public static void main(String[] args) {
        Date d=new Date();
        String s1 = DateUtils.dateToString(d, "yyyy年MM月dd日 HH:mm:ss");
        System.out.println(s1);
    }
}
package practic;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.SimpleTimeZone;

public class  DateUtils {
    private DateUtils(){}
    public static String dateToString(Date date,String format){
        SimpleDateFormat sdf=new SimpleDateFormat(format);
        String s = sdf.format(date);
        return s;
    }
    public static Date StringToDate(String s,String format) throws ParseException {
        SimpleDateFormat sdf = new SimpleDateFormat(format);
        Date d = sdf.parse(s);
        return d;
    }
}

Calender

calender类概述

为某一时刻和一组日历间的转换提供了方法,并为操作日历字段提供了一些方法

Canlender提供了一个类方法getInstance用于获取Calender对象,其日历字段已使用当前日期和时间初始化,

Canlender rightNow=Canlender.getInstance();

常用方法

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lIPJ7T3n-1658970134196)(image-20220726095541407.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NixGm9kw-1658970134196)(image-20220726100551769.png)]

异常

异常概述

就是程序出现了不正常的情况

异常体系

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-uP3qBtGd-1658970134197)(image-20220726103219112.png)]

JVM的默认处理方案

如果程序出了问题,我们没有做任何的处理,最终JVM会做出默认处理

把异常名称,异常原因以及异常出现的位置信息输出在控制台

程序停止执行

异常处理

如果程序出现异常需要处理有两种方案

try…catch…

try{
    可能出现异常的代码;
}catch(异常类名 变量名){
    异常的处理代码;
}

执行流程:

程序从try里面的代码开始执行

出现异常,会自动生成一个异常类对象,该异常对象也会被提交给Java运行时系统

当Java运行时系统接受到异常对象时,回到catch中去找匹配的异常类,找到后进行异常处理

执行完毕后,程序还可以继续向下执行

Throwable的成员方法

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mTFy4eCh-1658970134197)(image-20220726104124933.png)]

编译时异常和运行时的异常的区别

Java中的异常被分为两大类,编译时的异常和运行时异常,也被称为受检异常和非受检异常

所有的RuntimeException类及其子类被称为运行时异常,其它异常都是编译时异常

编译时异常:必须处理,否则程序就会发生错误

运行时异常:无需显示处理,也可以和编译时异常一样处理

throws处理异常

虽然我们通过try…catch…可以处理异常,但并不是所有情况我每年都有权限对异常进行处理也就是说有的时候出现的异常是我们处理不了的

针对这种情况,java提供了throws的处理方案

格式

throws 异常类名;
    注意这个格式是跟在方法的括号后边的(仅仅是把异常抛出去了)

编译时出现异常必须处理,两种方案一种try catch后者是throws,如果采用后者,将来谁调用谁处理

运行时异常可以不处理,出现问题后需要我们回来改代码

自定义异常

虽然java提供了很多的异常类供我们使用,但实际上需要我们自己去定义异常类

public class 异常类名 extends Exception{
  无参构造
  带参构造
}

throws和throw的区别

前者在方法声明后,跟的是异常类名后者在方法体内,跟的是异常对象名

前者表示抛出异常,有该方法的调用者来处理后者表示抛出异常由方法体内的语句处理

表示出异常的一种可能性,并不一定发生这些异常 执行throw一定是抛出了某种异常

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值