day13-学习笔记

day.13笔记

一.Arrays数组的工具类
1.概念:此类是用来操作数组的各种方法
方法的名称方法的描述
public static void sort(int[] a)对指定的 int 型数组按数字升序进行排序。该排
序算法是一个经过调优的快速排序法
public static String toString(int[] a)返回指定数组内容的字符串表示形式
public static int binarySearch(byte[]a, byte key)查找指定元素在数组中的索引值
public static float[] copyOf(float[]original, int newLength)创建的一个新的数组 将旧的数组中的数据
赋值到新的数组中并且可以扩容
public static void fill(int[] a, int val)将指定的 int 值分配给指定 int 型数组的每个元素
二.try-catch-catch 捕获异常
1.语法:
	try{
		可能产生异常的代码
	}catch(异常声明){
		处理异常1的方式
	}catch(异常声明){
		处理异常2的方法
	}
2.执行流程:
	A.先执行可能发生异常的代码
	B.如果发生异常,依次与catch里面的异常声明来进行匹配,如果可以执行,catch后面大括号里面的代码
	C.如果发生异常,yucatch里面的异常声明不匹配,则jvm来进行处理,停止程序,
3.注意点:在jdk1.7以后,多个异常的声明可以通过使用|来进行链接,一般不能链接Exception
		声明多个异常的时候,异常类的范围从小到大来进行声明
package com.qf.lt.oop01;

import java.util.Scanner;

public class Test02 {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        int [] arrys = new int[2];
        System.out.println("输入第一个数:");
        arrys[0] = input.nextInt();
        System.out.println("输入第二个数:");
        arrys[1] = input.nextInt();
        try {
            int number = arrys[0]/arrys[1];
            int arry[]=null;
        }catch (ArithmeticException e){
            System.out.println("ArithmeticException异常");
        }catch (Exception e){
            System.out.println("异常");
        }




    }
}

三.try-catch-finally捕获异常
1.语法:
	try{
		可能发生异常的代码
	}catch(异常的声明){
	处理异常的方式
	}finally{
		最终执行的代码
	}
2.执行流程:
	A.执行可能发生异常的代码
	B.依次与catch里面的异常声明进行匹配,如果可以匹配,执行catch后面大括号里面的代码,不能匹配最后执行finally代码。
	C.依次与catch声明异常进行匹配,如果不匹配,则交给jvm来进行处理
3.说明:
	A.不管发生不发生异常,finally中的代码都会执行
	B.如果return,关键字不发生异常,先执行finally中的代码,在执行return;
	C.杀死jvm才不会执行finally中的代码  System.exit(0);
package com.qf.lt.oop01;

import java.util.Scanner;

public class Test03 {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        int [] arrys = new int[2];
        System.out.println("输入第一个数:");
        arrys[0] = input.nextInt();
        System.out.println("输入第二个数:");
        arrys[1] = input.nextInt();
        try {
            int number = arrys[0]/arrys[1];
            return;
        }catch (ArithmeticException e){
            System.out.println("ArithmeticException异常");
        }finally {
            System.out.println("最后执行");
        }


    }
}

四.Throws
1.Throws 声明异常
2.使用场景:程序在运行期间,可能发生异常,不想自己进行处理,就可以声明异常,给调用者来进行处理
3.语法:在方法的参数列表的后面
	访问修饰符  返回值类型  方法的名称(参数列表) throws 异常1 ,异常2{
		方法体
		retrun 返回值;
	}
4.注意点:
	声明异常是运行时异常以及其子类,调用者不处理,如果不是则需要调用者来进行处理
	声明异常的范围越小越好,越精确更好,方便查找进行修改
五.Throw
1.Throw 抛出异常
2.语法:写在方法中
	访问修饰符 返回值类型 方法的名称(参数列表){
		throw new 异常类型
	}
3.说明:
	如果在方法中,抛出的异常是运行时异常的子类以及其本身。则不需要在方法上面进行异常的声明
	如果在方法中,抛出不是运行时异常,要么进行异常的捕获,要么进行异常的声明
	一般发生异常建议捕获
	在实际开发中,一般Throw与Throws会进行搭配使用
	

异常处理的两种方法:
A.在方法的参数列表后面使用throws来进行异常声明,把这个异常抛给调用者去解决
B.另一种是使用try-catch来进行异常捕获后,进行处理

六.继承中的异常
在继承中,子类重写方法时,声明的异常范围不能父类异常的范围,要么是其本身或是其子类
七.集合概念
1.集合:用于来存储数据的容器
2.数组和集合的区别:
	不同点:
		A.数组可以用来存放基本数据类型,也可以存放引用数据类型  集合只能存放引用数据类型
		B.数组是固定的, 集合的长度不是固定的
	相同点:都是存放数据的容器
3.集合的体系:
		单列集合:集合中的一个数据是一个单独的单元
		双列集合:集合中的数据是以组来进行存放的,以键值对来进行存放

单列集合:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ABULiCfL-1642596905912)(C:/Users/%E6%82%B2%E9%99%8C/AppData/Roaming/Typora/typora-user-images/image-20220119204705735.png)]

双列集合:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NrEbyLWC-1642596905913)(C:/Users/%E6%82%B2%E9%99%8C/AppData/Roaming/Typora/typora-user-images/image-20220119204746406.png)]

八.Collection集合
1.概念:Collection层次结构中的跟接口 子接口Set和List
2.使用多态来进行实例化对象
3.展示实现类

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tKRT2dEX-1642596905914)(C:/Users/%E6%82%B2%E9%99%8C/AppData/Roaming/Typora/typora-user-images/image-20220119205101379.png)]

4.常用方法:
方法名称方法描述
boolean add(E e)向列表的尾部添加指定的元素
void clear()从列表中移除所有元素
boolean contains(Object o)列表是否包含指定的元素
boolean isEmpty()列表中是否包含元素(集合中是否有元素)
Iterator iterator()将集合转换为迭代器
boolean remove(Object o)删除集合中指定的元素
int size()返回集合中元素的个数
Object[] toArray()将集合转换为数组

代码:

package com.qf.lt.oop03;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;

public class Test {
    public static void main(String[] args) {
        Collection col =new ArrayList();

        col.add("张三");
        col.add("李四");
        col.add("王五");
        System.out.println(col);
        //获取集合里面元素长度
        System.out.println(col.size());
        //判断集合是否为空
        System.out.println(col.isEmpty());
        Object[] ob = col.toArray();

        System.out.println(Arrays.toString(ob));
    }
}

作业:

常见的异常:IOException:当发生某种 I/O 异常时,抛出此异常。

​ PrintException:类 PrintException 封装了与打印有关的错误状况,

​ RuntimeException: 是那些可能在 Java 虚拟机正常运行期间抛出的异常的超类。

​ SQLException:提供关于数据库访问错误或其他错误信息的异常。

​ 空指针异常

异常处理方式:

​ 1.异常的声明

​ try{

​ 可能发生异常的代码

​ }catch(异常的声明){

​ 异常处理的方法

​ }

2.异常的捕获

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一个胖小白

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值