数组概述
- 数组就是一个容器,可以从存储多个数据类型一致的元素。
- 数组既能存储基本类型的元素,也能存储引用数据类型的元素。
数组的定义语法
- JAVA中的数组,必须先初始化,才能使用
所谓初始化,就是为数组中的数组元素分配内存空间,并为数组的元素赋值。 - 动态初始化:由我们为数组指定长度,由系统为数组元素赋值默认值。
方式一:int[ ] arr=new int[3];
方式二:int arr[ ]=new int[3];
- 静态初始化:由我们为数组元素赋值,由系统计算长度。
int[ ] arr=new int[ ]{10,20,30,40,50}; /*静态初始化的简写方式,省略new那部分不写 */
int[ ]arr={10,20,30,40,50};
数组length属性
- 数组有一个自带属性,叫做length属性,这个属性可以获得数组的长度
int[ ] arr={10,20,30};
int len=arr.length;
System.out.println(“arr数组长度:”+len);
- 输出:3
在使用数组过程中容易出现的异常:
- Exception ArrayIndexOutOfBoundsException:数组角标越界异常-----在获取数组元素或给数组元素赋值时,访问不存在的索引,就会出现数组角标越界异常。
int[ ] arr2={20,30,60};
System.out.println(arr2[3]);//ArrayIndexOutOfBoundsException
- NullPointerException:空指针异常
int[ ]arr3={20,30,60};
arr3=null;
System.out.println(arr3[0]);//NullPointerException
二维数组概述
- 二维数组:是元素为一维数组的数组,数组里面套的数组
二维数组的定义格式:
- 动态初始化:由我来指定长度,由系统来给元素赋值。第一维长度必须指定,第二维可以不指定。若第二维指定的话就初始化了二维数组中的一维数组,若没有指定则只初始化了二维数组,没有初始化一维数组,二维数组中每个元素为null。
//如果第二个中括号中不写长度,就不会帮你初始化一维数组
int[ ][ ] arr1=new int[3][2]; /*3表示二位数组的长度,2表示二维数组中一维数组的长度 */
//如果第二个中括号不写长度,就不会帮你初始化一维数组
int[ ][ ]arr2=new int[3][ ];
- 静态初始化:由我为数组元素赋值,由系统计算长度
int[ ][ ] arr2=new int[ ][ ]{{20,10},{20,30,4},{6,6,7}};
//简写形式:省略new
int[ ][ ] arr3={{20,10},{20,30,4},{6,6,7}};
- 二维数组定义的其他语法:
int arr4[ ][ ]=new int[3][2];
int[ ] arr5[ ]=new int[3][2];