在学习数组之前,应该先简单了解一下什么数组,这里我想借用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}};