二维数组,异常,排序

二维数组

  1. 数组中存放的是数组

  2. 声明方式

  1. 数据类型[][] 数组名 ; --推荐使用这种声明方式

  2. 数据类型[] 数组名[] ;

  3. 数据类型 数组名[][];

初始化

  1. 数据类型[][] 数组名=new
    数据类型[一维数组的长度][二维数组的长度];

  2. 数据类型[][] 数组名=new 数据类型[一维数组的长度][];

  3. 数据类型[][] 数组名=new 数据类型[][]{{1,2,3},{4,5},{6}…};

  4. 数据类型[][] 数组名={{1,2,3},{4,5},{6}…};

遍历二维数组的方式

双重for循环(可以普通for,可以是增强for)

在这里插入图片描述

常见的两个异常

ArrayIndexOutOfBoundsException 数组索引越界异常

  1. 索引超过最大值

  2. 索引为负数

NullPointerException 空指针异常

  1. 引用值为null

数组的排序

选择排序

  1. 元数据{5,7,2,6,3} 一共比较的轮数:是数据个数-1 1~arr.length-1
    0~arr.length-2

  2. 第一轮比较:{2,7,5,6,3} 确定一个最小值放在索引为0的位置
    比较规则:拿索引为0的第一个数据和后面的每一个数据比较,找到最小的放在索引为0的位置

  3. 在这里插入图片描述

  4. 在这里插入图片描述

冒泡排序

  1. 选择排序和冒泡排序比较:

  2. 冒泡排序更简单

  3. 选择排序执行效率相对更高

  4. 在这里插入图片描述

二分法查找

  1. 先升序 排序为前提

  2. 最小索引:min

  3. 最大索引:max

  4. 中间索引:mid=(min+max)/2

  5. 如果找到返回索引:

  6. 如果不存在要查找数据,返回-1

  7. 在这里插入图片描述

可变参数

  1. 可变 可以有,可以没有,有的个数可变

  2. … :表示可变参数,放在数据类型和参数名之间 int a,int … b

  3. 可变参数要写在参数列表的最后面

  4. 可变参数,会内部自动为它创建一个数组,如果要在方法中使用可变参数的内容,需要使用数组的使用方式

Arrays

  1. static int[] copyOf(int[] original, int newLength)

  2. 复制指定的数组,截取或用 0
    填充(如有必要),以使副本具有指定的长度。

  3. 默认从索引为0的位置开始拷贝,返回新数组

  4. 在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值