特点:
数组是一段连续的存储空间,对改查操作进行比较快,数组一旦创建大小则不能被修改
声明:
一维数组:
静态声明:直接添加内容
int[] arr1 = {1,2,3,.....};
int[] arr2 = new int[]{1,2,3,.....};
动态声明:
int[] arr = new int[数组大小];
数组类型可以为基本类型或引用类型,但只能存放与声明相关的类型值
二维数组:
静态声明:直接添加内容
int[][] arr2 = {{1, 2}, {3, 4}};
int[][] arr3 = new int[][]{{1, 2}, {3, 4}};
动态声明:
int[][] arr1 = new int[7][];
数组是引用类型存放在堆中,栈中变量名指向堆中的地址
数组使用:
变量名【下标】
下标为【0,变量名.length)
数组异常:
int[] arr = null;
System.out.println(arr[0]);
//空指针异常
Exception in thread "main" java.lang.NullPointerException
int[] arr = new int[2];
System.out.println(arr[3]);
//下标越界异常
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException
传递方式:
数组为地址传递,当调用时,在数组内修改值后,调用方值也将被修改