1.数组的基本概念及作用:数组是相同数据类型元素的集合,数组本身是引用数据类型,即对象。但是数组可以存储基本数据类型,也可以存储引用数据类型。

例如:int [] a = new int []{1,2,3,4,5};

String [] s = new String []{"小熊","小小熊","小小小熊"};

Employee [] e=new Employee[10];Employee是自定义类)

2.数组的声明:数组的声明的两种方式(一般用第一种):

①数据类型 []  数组名字    例如:int  []  a;

②数据类型 数组的名字 []   例如: int  a [];

3.数组的创建:数组创建的三种方式:

①声明数组的同时,根据指定的长度分配内存,但数组中元素值都为默认的初始化值。例如:char[] chAry = new char[10];

②明数组并分配内存,同时将其初始化。例如:int[] ary1 = new int[]{1, 2, 3, 4, 5};

③与前一种方式相同,仅仅只是语法相对简略。例如:int[] ary2 = {1, 2, 3, 4, 5};

4.数组的长度:length属性。例如:int [] b1 = new int []{1,2,3,4,5,6,7};

System.out.println(b1.length);

①创建数组的时候必须指定数组的长度,而且一经定义则不允许改变。

②数组的长度虽然是7,但是在内存中实际给8个位置,另外一个存储7

5.数组之间的赋值:直接赋值,但实际得到的效果是两个数组引用指向同一块内存。

6.数组的访问:数组名字[索引]    例如:a[2];

注意:①数组的索引从0开始。

②索引的数据类型是整型。

③索引最大值和数组长度始终差1

7.数组的迭代:有两种方式。例如:

int [] b1 = new int []{1,2,3,4,5,6,7};

第一种:for循环进行数组的迭代。

for(int i =0;i<b1.length;i++){

System.out.println(b1[i]);

}

第二种:增强for循环进行数组的迭代。

for(int x:b1){

System.out.println(x);

}

8.多维数组的声明有三种方式:int [][] a;  int []a1[];  int a2[][];

9.多维数组的迭代:int [][] b1 = new int [][]{{1,2},{3,4}};

              for(int i =0;i<b1.length;i++){

                 for(int j =0;j<b1[i].length;j++){

                 System.out.print(b1[i][j]);

}

}

10.数组的拷贝:arraycopy(Object src1, int srcPos, Object src2, int destPos, int length)
          从指定源数组src1中复制一个数组,复制从指定的位置srcPos开始,到目标数组src2的指定位置结束。

例如:      int[] a={10,100,1000};

            int[] b={20,200,2000,20000};

            System.arraycopy(a, 1, b, 2, 2);

            for(int x:b){

            System.out.println(x);

            }

输出结果为:20  200  100  1000

11.数组的特点:①数组是引用数据类型;

②数组是存储相同数据类型的集合;

③数组的下标从0开始。

④优点:越界检查、通用算法;

⑤缺点:长度一经定义不能改变。