Java学习之数组

数组

1.什么是数组

数组是一个变量,存储相同数据类型的一组数据。

2.数组的存储

数组的地址存储在中,数组中的数据实际存放在

3.数组基本要素

标识符:数组的名称,用于区分不同的数组
数组元素:向数组中存放的数据
元素下标:对数组元素进行编号,从零开始,可以通过下标访问数组中的元素
元素类型:数组元素的数据类型

4.如何使用数组

4.1. 声明数组

/*数据类型[] 数组名(推荐)或
*数据类型 数组名[]
*/

int []a

4.2. 分配空间

声明并分配空间:数据类型[] 数组名=new 数据类型[数组大小]

a=new int[5]

4.3. 赋值

边声明边赋值:数据类型[] 数组名=new 数据类型[]{元素1,元素2}
直接赋值:数组名[下标]=值(使用循环逐个赋值)

int[] a=new int[]{1,2,3,4,5}//边声明边赋值方式
int[] b={1,2,3,4,5}//边声明边赋值的简明方式
int[] c=new int[5];
for(int i=0;i<c.length;i++){
	c[i]=i;
}

5.数组越界异常

当访问的元素下标超过数组长度时,运行时会发生数组越界异常:
Exception in thread “main” :ArrayIndexOutOfBoundsException

6.数组操作

6.1. 数组排序

使用java.util.Arrays类的sort(数组名)方法:

Arrays.sort(数组名);

6.2. 数组复制

6.2.1. 使用clone()复制
  1. 语法
数据类型[] newArray=(数据类型[])oldArray.clone();

2.实例

int[] oldArray={1,2,3,4,5};
int[] newArray=(int[])oldArray.clone();
6.2.2. 使用System.arraycopy复制数组
  1. 语法
System.arraycopy(from, fromIndex, to, toIndex, count)
  1. 语法说明
    from为源数组, fromIndex为源数组起始下标, to为目的数组, toIndex为目的数组起始下标, count为复制的元素个数
  2. 实例
// 复制数组
int[] oldArray={1,2,3,4,5};
int[] newArray=new int[5];
System.arraycopy(oldArray, 0, newArray, 0, 5);

7. 二维数组

7.1. 定义

数据类型 数组名[][]; 或
数据类型[][] 数组名; 或
数据类型[] 数组名[];
如:

int[][] iArray;

7.2. 初始化

7.2.1. 动态初始化

语法说明:

数据类型[][] 数组名=new 数据类型[m][n]
m:表示二维数组中一维数组的个数
n:表示一维数组中的元素个数
7.2.2. 静态初始化

语法说明:

数据类型[][] 数组名=new 数据类型[][]{{元素…},{元素…},{元素…}}
简化格式:
数据类型[][] 数组名={{元素…},{元素…},{元素…}}

7.3. 二维数组的遍历

int[][] array={{1,2,3},{4,5,6},{7,8,9}};
//打印二维数组中的元素2
System.out.println("打印元素2:\n"+array[0][1]);
//遍历二维数组
System.out.println("遍历数组:");
for(int i=0;i<array.length;i++){
		for(int j=0;j<array[i].length;j++){
				System.out.print(array[i][j]+"\t");
		}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值