在学习数组之前,应该先简单了解一下什么数组,这里我想借用java核心技术的开头。

数组:是一种数据结构,用来存储同一类型值的集合。

一、定义一维数组

Type[] name = new Type[number];    //  Type应该是一致的
1. int[] arrayList;
2. double[] arrayList = new double[2];
3. String[] arrayList = {"a", "b"};

ps: 一定不要忘记末尾的分号

我们来分析一下这三种数组定义的不同之处。

1. int[] arrayList;

这一种,只是声明一个int类型的数组,但并没有进行初始化。如果要初始化可以使用arrayList = new int[10],或者 arrayList = new int[]{1,2,3,4,5};

2. double[] arrayList = new double[2];

这一种是声明了double类型并默认初始化为2个长度的数组,我们可以使用System.out.println(arrayList.lenth)来查看长度 (数组变量名.lenth)这里有一个点

3. String[] arrayList = {"a", "b"}

这一种是声明了String对象类型并直接赋值的数组。数组的长度会根元素长度来自行判断。可以使用System.out.println(Array.toString(arrayList))来查看。

二、访问数组

数组是通过整形下标来进行访问,下标从0开始,也就是说数组的第一个元素的下标为0,而非1.这里请牢记。

变量名[index] 可以用来访问指定下标的元素,如下例:

int[] numbers = new int[]{1,2,3,4,5};
System.out.println(numbers[4]);  //  5

我们说过,下标是从0开始,所以numbers[4]其实就是访问的第五个元素。

三、赋值

其实就是将一个元素赋值给一个变量而已,只不过这里需要加一个指定位置。

变量名 [index] = 元素;

numbers[4] = 6;

此时我们在打印System.out.println(numbers[4])会得到 6,很简单吧。

四、循环遍历数组

一般已知长度我们都会使用for循环,而未知长度或者死循环我们使用while循环。

来看一下例子吧:

for (int i = 0; i < numbers.lenth; i ++)
{
System.out.println(numbers[i])
}

我们循环初始下标为0,结束条件为小于数组长度,然后每循环一次初始化下标就自增,在循环中我们打印每一个数组的元素。很简单吧。

五、默认初始化值

double[] arrayList = new double[2];

一般未进行赋值的数组默认是数组类型的默认值

int为0,double为0.0,char其实打印出来是空,String是对象,所有对象的默认值为null。

六、数组小方法

1.获取数组长度

array.lenth

2.拷贝数组

int[] arr = Arrays.copyOf(numbers, numbers.lenth)

第一个参数代表要拷贝那个数组,第二个 参数代表新数组的长度。

3. 快速排序

Arrays.sort(变量名)

七、定义多位数组

一般我们我们只需要了解二维数组即可

1.  int[][] ids;

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

2.  int[][] age = new int[2][3];

3.int[][] name = {{1,2,3},{4,5,6}};