数组
数组声明
数组的声明有2种格式:
数组的元素类型 数组名[];
数组的元素类型[] 数组名; //建议使用该方法
例如:
int a[];
int[] b;
float[] c;
int d[], e[]; //声明多个数组
int[] f, g; //声明多个数组
当然要值得注意的是,int[] a , b[];
用此方法不能同时创建多个一维数组,而是同时创建一个一维数组 a 和一个二维数组 b 。
数组使用
创建数组:
//方式一 3为数组元素个数
int[] a = new int[3];
//方式二
int[] b;
b = new int[3];
//方式三 创建的同时给元素赋值
int[] c = {1,2,3};
分配元素:
//方式一 创建的同时给元素赋值
int[] a = {1,2,3};
//方式二 创建完数组后再给元素赋值
int[] b = new int[3];
b[0] = 1;
b[1] = 1;
b[2] = 1;
注意:
- 方式一在创建数组的并给数组元素赋值,所以创建出来的数组大小就为赋值的元素个数
- 方式二在创建数组时,如未给数组元素赋值,则数组内的元素值默认为该数组元素类型的默认值
- 在给数组赋值时,下标是为0开始而不是1,赋值的元素个数也不得超过数组设定大小
获取元素:
int b = a[0]; //需根据数组类型来设置变量类型
System.out.println(b);
数组遍历
方式一:for循环
int[] a = new int[3];
a[0] = 1;
a[1] = 1;
a[2] = 1;
for (int i = 0; i < a.length; i++) {
System.out.println("a[" + i + "]=" + a[i]);
}
运行结果:
a[0]=1
a[1]=1
a[2]=1
方式二:For-Each 循环
int[] a = new int[3];
a[0] = 1;
a[1] = 1;
a[2] = 1;
for (int element : a) {
System.out.println(element);
}
运行结果:
1
1
1
注:此方法可在不使用数组下标的情况下进行遍历
方式三:Arrays.toString()打印
int[] a = new int[3];
a[0] = 1;
a[1] = 1;
a[2] = 1;
System.out.println(Arrays.toString(a));
运行结果:
[1, 1, 1]
注:记得导入包:import java.util.Arrays;
方式四:直接打印(仅限char类型数组)
char[] a = new char[3];
a[0] = 'a';
a[1] = 'b';
a[2] = 'c';
System.out.println(a);
运行结果:
abc
多维数组(以二维数组为例)
多维数组可以看成是数组的数组,比如二维数组就是一个特殊的一维数组,其每一个元素都是一个一维数组。
多维数组声明
多维数组的声明有2种格式:
数组的元素类型 数组名[][];
数组的元素类型[][] 数组名; //建议使用该方法
例如:
int a[][];
int[][] b;
float[][] c;
int d[][], e[][]; //声明多个数组
int[][] f, g; //声明多个数组
int[] h[];
多维数组使用
创建二维数组:
//方式一
int[][] a = new int[3][3];
//方式二
int[][] b;
b = new int[3][3];
//方式三 创建的同时给元素赋值
int c[][] = {{1,2,3}, {1,2,3}, {1,2,3}};
分配元素:
//方式一 创建的同时给元素赋值
int[][] a = {{1,2,3}, {1,2,3}, {1,2,3}};
//方式二 创建完数组后再给元素赋值
int[][] b = new int[3][2];
b[0] = new int[3];
b[1][0] = 1;
b[1][1] = 2;
注意:
- 方式一在创建数组的并给数组元素赋值,所以创建出来的数组大小就为赋值的元素个数
- 方式二在创建数组时,如未给数组元素赋值,则数组内的元素值默认为该数组元素类型的默认值
- 在给数组赋值时,下标是为0开始而不是1,赋值的元素个数也不得超过数组设定大小
- 如果右边的
[]
设置大小的话,直接引用超过数组大小则会报错。而如果b[0] = new int[3];
新的数组的话,b[0]
的大小则会3而不是2,其覆盖了原来设定的大小。
获取元素:
int b = a[0][0]; //需根据数组类型来设置变量类型
System.out.println(b);
数组length的使用
数组的元素称为数组的长度。
一维数组:数组名.length
为数组中元素的个数
多维数组:数组名.length
为最左边的[]
声明的大小
例如:
int[] a = new int[3];
System.out.println(a.length);
int[][] b = new int[4][5];
System.out.println(b.length);
运行结果:
3
4
注:该文章主要参照 《Java 2实用教程(第6版)》以及 菜鸟教程: Java 数组