一、数组:
概念:存放一组类型相同的数据。
知识点:
1.数组的声明:
要确定存入的数据是什么类型,
int[] arr;另外一种写法:int arr[];
2.数组的初始化(第一次赋值):两种方式
2.1.静态初始化
int[] arr = {1,2,3};
String[] arr = {"1","2","3"};
2.2.动态初始化
int[] arr = new int[5];---,规定长度。
是有元素的,都是相应类型的默认值 'u0000'
int[] arr = new int[]{1,2,3,4,5};--直接赋值
3.数组的元素
数组对象里的数据就叫元素
4.数组的长度。
数组元素的个数,变量名.length;
5.数组的下标,指元素的位置(索引)
index:从0到length-1
6.数组对象一个特点:
一经创建,长度不可变。
例如: 创建一个26个长度的char类型数组chs1,分别存入
a~z,然后遍历输出显示
char[] chs1 = new char[26];
for(char i='a';i<='z';i++){
chs1[i-97] = i;
}
7.Arrays.toString(数组变量名);
导包:import java.util.Arrays;
作用:将数组的元素变成字符串
"["+元素1+","+元素2+","+…………+元素n+"]"
8.数组下标越界异常:
当使用的索引超出了0~length-1时,就会报异常
ArrayIndexOutOfBoundsException
9.数组的扩容(缩容)
Arrays.copyOf(p1,p2)
p1:要扩容(缩容)的数组变量。
p2:要扩容(缩容)到多长。扩容或缩容后的总长度。
此方法有返回值:返回的是一个新数组
10.二维数组:
可以看成是一个数组的元素依然是一个数组。
int[][] arr = new int[3][];
arr[0]=new int[5];
arr[1]=new int[3];
arr[2]=new int[]{1,2,3,4};
即:arr={{0,0,0,0,0},
{0,0,0},
{1,2,3,4}
}
11.系统复制
System.arraycopy(p1,p2,p3,p4,p5);
p1:要复制的数组,
p2:从A中的哪个索引开始复制
p3:复制到的数组,
p4:从B中的那个索引开始复制
p5:要复制多长(个数)
数组越界异常:
ArrayIndexOutOfBoundsException: