1、数组定义格式:
格式一(**常用**):数据类型[] 变量名;
例:int[] arr;
释:定义了一个int类型的数组,数组名是arr;
格式二:数据类型 变量名[];
例:int arr[];
释:定义了一个int类型的变量,变量名是数组;
2、数组动态初始化:
初始化时只指定数组长度,由系统为数组分配初始值;
格式:数据类型[] 变量名 = new 数据类型[数组长度]
例:int[] arr = new int[3];
3、数组访问方式:
格式:数组名
例:System.out.println(arr);
4、数组内部元素访问方式:
格式:数组名[索引]
例:System.out.println(arr[0]);
5、索引:
数组中的编号方式;
与数组中的值一一对应;
特点:从0开始、是连续的、是逐一递增的;
6、输出数组:
// 定义数组
int[] arr = new int[3];
// 输出数组所占内存空间
System.out.println(arr);
// 输出数组指定索引的值
System.out.println(arr[0]);
7、数组静态初始化:
初始化时指定每个数组元素的初始值,由系统决定数组长度;
**格式**:数据类型[] 变量名 = new 数据类型[]{数据1,数据2,数据3,……};
例:int[] arr = new int[]{1,2,3};
**简化格式**:数据类型[] 变量名 = {数据1,数据2,数据3,……};
例:int[] arr = {1,2,3};
8、两个常见小问题:
问题一:索引越界
int[] arr = {1,2,3}; // 索引为0,1,2,对应值为1,2,3;
System.out.println(arr[4]); // 输出索引4,找不到索引4,所以会报错
报错内容:ArrayIndexOutOfBoundsException
问题二、空指针异常
int[] arr = new int[3];
arr = null; // 给数组所占内存空间赋值为null了
System.out.println(arr[0]); // 访问即访问不到指定的值,所以报错
System.out.println(arr[2]);
报错内容:NullPointerException