数组概述

  • 数组就是一个容器,可以从存储多个数据类型一致的元素。
  • 数组既能存储基本类型的元素,也能存储引用数据类型的元素。

数组的定义语法

  • 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];