数组复习

数组概述

数组(array)是一种数据结构,包含相同类型的一组数据。他们在内存中的连续的储存。

数组的声明

类型[ ] 数组变量名;
类型 数组变量名[ ];

数组的实例化和初始化

new运算符自动将数组的元素初始化为相应的默认值:简单数据类型数组元素的默认值设置为0;char类型数组元素被初始化为0(\u0000);boolean类型数组元素被初始化为false;引用类型默认值为null。

数组变量名=new 数组类型[数组元素个数];   //创建(实例化)数组
类型[ ] 数组变量名 = new 数组类型[数组元素个数];//同时声明与创建数组
数组变量名 = new 数组类型[ ]{元素0,元素1,...,元素n-1};//创建并初始化
类型[ ] 数组变量名 = new 数组类型[ ]{元素0,元素1,...,元素n-1};//同时声明与创建数组初始化
类型[ ] 数组变量名 = {元素0,元素1,...,元素n-1};//同时声明与创建数组初始化

数组的基本访问操作

通过length属性获取数组的长度
通过数组名[下标]的方式访问数组中的数据---》其中能访问的数据。
会产生以下几种异常

  1. 数组的索引越界异常(索引为负或者超过数组长度)

  2. 空指针异常 int[ ] 数组名={1,5,8}; 数组名[]=null;
    null是“空”的意思,表示将数组名中原本代表的地址清除
    此时再输入:System.out.println(数组名[]);
    将会出现异常

foreach方法遍历一维数组

int[ ]  arr = {1,2,3,4,5};
for(int i:arr){
	System.out.print(i+“    ”);
}
输出结果为
1    2    3    4    5

多维数组

基本概念与使用方法均与一维数组类似
在这里插入图片描述

JAVA类库中操作数组的类和方法

java.util.Arrays

名称说明
sort(数组名)或
sort(数组名,起始索引,结束索引(键值)
按升序排序数组。如果指定范围则从起始索引(包括)到结束索引(不包括)。可能会发生下标越界与null指针异常
binarySearch(数组名,键值)或
binarySearch(数组名,起始索引,结束索引,键值)
在指定索引范围内搜索
使用二分搜索法查找,注意要先排序,搜索键包含在数组中时返回的是键值在数组中位置的下标,否则返回(-(插入点)-1)
equals(数组名1,数组名2)两个数组以相同的顺序包含相同的元素,则两个数组是相等的。注:两个数组引用均为null,则认为它们是相等的。
fill(数组名,值)或
fill(数组名,起始索引,结束索引,值)//填充指定索引范围
以“值”填充数组,指定范围时就从起始索引(包括)到结束索引(不包括)以“值”
copyOf(数组名,新长度)复制数组,截取或用默认值填充(如有必要),结果位相同数据类型的长度为指定长度的长度。注:只适用与一维数组
int[] arr={1,2,3,4};
int [] brr=Arrays.copyOf(arr,3);
copyOfRange(数组名,起始索引,结束索引)复制数组的指定内容:从起始索引(包括)到结束索引(不包括)
toString(数组名)deepToString(数组名)//打印多维数组返回数组内容的字符串表示形式

System.arraycopy

System.arraycopy(src,srcPos,dest,destPos,length)是System类提供的一个静态方法,用他来实现数组间的复制,以及数组的扩张。

  1. src:源数组。
  2. srcPos:源数组要复制的起始位置。
  3. dest:目的数组。
  4. destPos:目的数组放置的起始位置。
  5. length:复制的长度。

数组名.clone()

优点是简单,缺点是不灵活,不能直接运用与一维数组。

int[ ] arr = {1,2,3,4};
int[ ] brr = arr.clone();

上一篇:JAVA语言语法等基础
下一篇:

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值