2020-11-13

集合的工具类
数组的工具类Arrays 集合的工具类就是 Collections
常用的方法
(1)public static int binarySearch(List<? extends Comparable<? super T>> list , T key) 使用二分法来进行查找索引 必须是按照升序来进行排列
第一个参数 是需要查询的集合 第二个参数是需要搜索的数据(索引)

(2)public static void copy(List<? super T> dest , List<? extends T> src)将所有元素从一个列表复制到另一个列表
注意点: 在进行copy方法使用的时候一定要给其长度

(3)public static void fill(List<? super T> list , T obj) 使用指定元素替换指定列表中的所有元素
(4)public static int frequency(Collection<?> c,Object o)==>查找指定元素在集合出现的次数
(5)public static <T extends Object & Comparable<? super T>> T max(Collection<? extends T> coll)
最大值
public static <T extends Object & Comparable<? super T>> T min(Collection<? extends T> coll)
最小值

public static boolean replaceAll(List list , T oldVal , T newVal)
替换
public static void reverse(List<?> list)
反转
public static void shuffle(List<?> list)
随机置换 集合中的元素
public static <T extends Comparable<? super T>> void sort(List list)
排序
代码:
在这里插入图片描述
在这里插入图片描述

作业6.键盘录入一样字符串 uu3uuu3kkmhhfhf ffjfjf 打印的格式是{u=5,3=2,m=1}

public class HomeWork4 {
    public static void main(String[] args) {
        Scanner inout= new Scanner(System.in);
        String string=inout.nextLine();
        char[] chars=string.toCharArray();
        Map<Character,Integer> map=new HashMap<>();
        for (int i=0;i<chars.length;i++){
            if(!map.containsKey(chars[i])){
                    map.put(chars[i],1);
            }else {
                Integer j=map.get(chars[i])+1;
                map.put(chars[i],j);
            }
        }
        System.out.println(map);

    }
}

异常

4.ThrowAble Error ==>这种异常是非常严重的异常 这种异常是jvm虚拟机给抛出(底层的一些异常 不需要解决 解决不了)
Execption 这个异常不是特别严重的异常 这种异常是必须要解决
ArithmeticException 算术异常
NullPointerException 空指针异常

3.说明:
定义的方法产生异常时候
这个异常会返回给调用者
如果不解决这个异常 就会继续往上抛 ==> 一直抛到jvm
jvm ==> 报错 打印堆栈信息
== > 停止程序运行 异常后面的代码是不会执行
总结:在开发中所以的异常 都不要给jvm来处理 给jvm处理只有一种结果就是项目崩溃

捕获异常 > 自定对异常进行处理 自己来解决这个异常>捕获异常
捕获异常有三种写法
第一种 try catch
第二种 try catch finally
第三种 try finally

2.说明:
1. try 尝试 catch 抓取 捕获
2. try 是可能发生异常的代码 并不一定会发生异常
3.catch() ==> 异常类型的声明 就是具体的异常类 空指针异常 算术异常
4.catch(){ 发生异常后的处理方式 : 收集这个异常信息 发送到服务器
给用户一个友好的提示 }
3.代码执行的流程
1.没有发生异常
正常执行 try中代码 直到执行的最后 结束
2.有异常发生
声明的异常与产生的异常是否匹配
如果匹配 正常执行 catch 代码
如果不匹配 这个异常就是由jvm 来处理 就报错

try {
可能发生异常的代码
}catch(异常类型1 e){
产生异常1 类型 所处理的方式
}catch(异常类型2 e){
产生异常类型2 所处理的方式
}catch(异常类型3 e){
产生异常类型3 所处理的方式
}

4.说明:
1.在jdk1.7之后的版本 声明多个异常可以使用 | 来进行连接
注意点:不能编写Execption

finally
4.执行流程:
没有发生异常
正常执行try的代码 ,还会执行finally代码
发生异常:
声明的异常与发生的异常是否匹配
如果匹配
执行catch代码 最后执行finally的代码
如果不匹配
报错 但是 还是会执行finally中的代码

ThrowAble 类的介绍
(1)Throwable 类是 Java 语言中所有错误或异常的超类
(2)只有当对象是此类(或其子类之一)的实例时,才能通过 Java 虚拟机或者
Java throw 语句抛出

(3)只有此类或其子类之一才可以是 catch 子句中的参数类型
类的构造方法
public Throwable()
public Throwable(String message)
public Throwable(String message,Throwable cause)
public Throwable(Throwable cause)
public void printStackTrace() 打印的就是堆栈信息
public String toString() 返回此 throwable 的简短描述
在这里插入图片描述

throw 与throws

1.throw

抛出 声明异常
2.使用场景:执行某段代码 这段代码可能产生错误 这时候就会声明一个异常 提示其它程序员注意着段代码
3.作用:封装比较详细的异常信息 提供给其它人使用 用于结束程序
4.位置: 编写在方法里
5.代码:
在这里插入图片描述

6.说明:

  1. 如果是运行时候异常 或者是其子类 都可以不用处理
  2. 如果不是运行时异常 就必须捕获或者是抛出异常
  3. 在方法中只能声明一个异常

throws

1.throws 抛出异常
2.使用场景: 执行某段代码可能产生异常 但是自己不想处理这个异常,就可以抛出异常 给调用者来进行处理
3.作用: 自己可以不用处理这个异常,也可以提示其它开发人员 这个地方可能会出现错误
7.throw 与throws区别:

  1. throw 声明异常 throws 抛出异常
  2. throw 定义在 在方法中 throws是定义再方法的参数的后面
  3. throw 在方法中只能声明一个异常 throws 可以抛出多个异常
  4. throw 声明的异常是实实在在存在 throws 不一定会发生 不一定存在

3.自定义异常类的步骤
1.自动以一个类继承 Throwable 或者是Execption类
2.定义一个构造方法 调用父类的构造给message进行赋值

4.需求:
定义一个学生类 id name age <=0 >100 把异常信息打印出来
代码:
自定义异常类
在这里插入图片描述
学生类
在这里插入图片描述
测试类
在这里插入图片描述

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值