一、数组介绍
数组指的是一种容器,可以用来存储同种数据类型的多个值。
二、数组的定义与静态初始化
数组的定义
格式一: 数据类型[] 数组名
范例: int[] array
格式二: 数据类型 数组名[]
范例: int array[]
数组的静态初始化
初始化:就是在内存中,为数组容器开辟空间,并将数据存入容器中的过程
完整格式: 数据类型[] 数组名 = new 数据类型[] {元素1,元素2,元素3……};
简单格式: 数据类型[] 数组名 = {元素1,元素2,元素3……};
格式详解:
数组存储的数据类型: 创建的数组容器可以存储什么数据类型。
[] : 表示数组。
数组名字:为定义的数组起个变量名,满足标识符规范,可以使用名字操作数组。
new:关键字,创建数组使用的关键字。
数组存储的数据类型: 创建的数组容器可以存储什么数据类型。
[长度]:数组的长度,表示数组容器中可以存储多少个元素
注意:数组有定长特性,长度一旦指定,不可更改
定义可以存储3个整数的数组容器,代码如下:
int[] arr = new int[]{1,2,3,4,5};
// 可以拆分
int[] arr;
arr = new int[]{1,2,3,4,5};
扩展方法: Arrays.fill
快速初始化,填充一个数组
java中的数组初始值都为零,若快速填充一个其他值的数组,即将数组批量填充相同的值,可以用 Arrays.fill 方法,但只能填充一个一维数组,多维数组还得用循环。
import java.util.Arrays;
public class HelloWorld {
public static void main(String[] args) {
int[] arr = new int[5];
Arrays.fill(arr, 1);
System.out.println(Arrays.toString(arr)); // [1, 1, 1, 1, 1]
}
}
虽然Arrays.fill方法不能填充二维数组,不过在下面这种情况下,还是可以用一下的:
int[][] map=new int[4][5];
int[] row={1,2,6,3,6,1,7};
Arrays.fill(map,row);
当row中的数值不固定,也不一定有规律时,可以用Arrays.fill()来填充二维数组,使其每一行都是{1,2,6,3,6,1,7}
数组的访问
索引: 每一个存储到数组的元素,都会自动的拥有一个编号,从0开始,这个自动编号称为数组索引 (index)
,可以通过数组的索引访问到数组中的元素
数组的长度属性: 每个数组都具有长度,而且是固定的,Java中赋予了数组的一个属性,可以获取到数组的长度,语句为:数组名.length
,属性length的执行结果是数组的长度,int类型结果。由次可以推断出,数组的最大索引值为数组名.length-1
。
public static void main(String[] args) {
int[] arr = new int[]{1,2,3,4,5};
//打印数组的属性,输出结果是5
System.out.println(arr.length);
}
-
索引访问数组中的元素:
- 数组名[索引] = 数值,为数组中的元素赋值
- 变量 = 数组名[索引],获取出数组中的元素
public static void main(String[] args) { //定义存储int类型数组,赋值元素1,2,3,4,5 int[] arr = {1,2,3,4,5}; //为0索引元素赋值为6 arr[0] = 6; //获取数组0索引上的元素 int i = arr[0]; System.out.println(i); //直接输出数组0索引元素 System.out.println(arr[0]); }