1、定义 :数组是相同数据类型元素的集合
注意:数组本身是引用数据类型,但是它可以存储基本数据类型也可以存储引用数据类型。
2、声明数组的两种形式:eg:int[] a ; int a[];
注意: 1、数据类型指的是数组里面存的数据类型。
2、建议使用第一种
3、数组在声明后还只是一个空指针,不能使用,要想使用必须创建。
3、数组创建的三种方式:
1、声明数组的同时,根据指定的长度分配内存,但数组中元素值都为默认的初始化值
int[] a = new int[5]
2、声明数组并分配内存,同时将其初始化
int[] a = new int[]{1,2,3,4}
3、与前一种方式相同,仅仅只是语法相对简略
int[] a = {1,2,3,4}
注意:1、长度是固定的,并且会有初始化的值
2、数组的长度是属性,String的长度是length();
3、创建数组的时候必须指定数组的长度,而且一经定义则不允许改变。
4、数组的长度虽然是7,但是在内存中实际给8个位置,另外一个存储的是长度7.
4、数组赋值:赋值赋的是虚地址,此时两个数组指向同一块内存空间
eg:int[] ary1 = {1,2,3,4,5};
int[] ary2 ;
ary2 = ary1;
5、数组的使用:
数组名字[索引] 例如:a[2];
注意: 1、数组的索引从0开始。
2、索引的数据类型是整型
3、索引最大值和数组长度始终差1
6、数组的遍历:for循环,增强for循环
//第一种数组遍历方式
for(int i = 0;i<names.length;i++){
System.out.println(names[i]);
}
/*
* 第二种遍历方式---增强for循环
* for(数组元素的类型 临时变量名字 :数组的名字){
System.out.println(临时变量名字 );
}*/
for(String name : names){
System.out.println(name);
}
7、二维数组
定义:多维数组即数组的数组,即数组的元素也是数组
//二维数组的声明和创建 3种
int [][] c = new int[][]{{1,2},{2,3},{1,22,3,4}}; //声明并全部赋值
int []a[] = {{1,2},{2,3},{1,22,3,4}} ; //二维数组,声明并全部赋值,简写
int b [][] = new int[3][]; //创建,只定义长度,初始化是默认的值
b[0] = new int[]{1,2,3};
b[1]= new int[3];
b[2]= new int[]{1,2,3,4};
//二维数组的遍历
for (int i = 0; i < a.length; i++) {
for (int j = 0; j < a[i].length; j++) {
System.out.println(a[i][j]);
}
}
8、数组的拷贝
System.arraycopy(Object src, int srcPos, Object dest, int destPos, int length)
从指定源数组中复制一个数组,复制从指定的位置开始,到目标数组的指定位置结束