什么是数组?
数组是存储一组相同数据类型的容器。
数组定义:数组是一种数据结构,存储指定相同数据的容器。
数组是一种数据类型(引用数据类型)
引用数据类型:通过地址引用具体的数据
Java语言支持两种数组的定义格式:
type[] arrayName;
type arrayName[];
定义数组的时候,不能指定数组的长度。
数组的初始化:Java中,想要使用数组,就必须先初始化,然后才能使用。所谓的初始化,就是给数组的数组元素分配内存空间,并为每一个数组元素赋初始值。
数组的初始化分两类:
1.静态初始化:初始时由程序员指定每隔数组的初始值,由系统决定需要的数组的长度。
2. 动态初始化:初始化时,程序员指定数组的长度,由系统为数组元素赋初始值
动态初始化只指定数组的长度,由系统为每个元素指定初始值。格式如下:
type[] arrayName;//定义数组
arrayName= new type[length];//动态初始化数组
例:
//定义一个整数类型的数组,并且动态初始化其长度
int [] intArray = new int [5];数组的内存图解:
静态初始化:初始化时由程序员指定数组中每个元素的指定值,由系统决定需要的数组的长度。
格式:type[] arrayName;//定义一个数组
arrayName= new type[]{元素1,元素2,……};//初始化
例:int[] intArray;//定义数组
intArray= new int[]{1,2,3,4,5};//初始化
intArray= {1,2,3,4,5};//简写的初始化
int [] intArray = {1,2,3,4,50};// 定义一个数组并且给它赋上指定的值
数组操作时出现的异常:
1.数组的下标索引从0开始,如果指定的索引小于0或者大于其数组的长度,则编译不会出错,但是运行时会出现异常:java.lang.ArrayIndexOutOfBoundsException:2(数组索引越界异常)
注意事项:
1、数组只能存储相同类型的数据
2、数组的长度一旦确认下来了,就不能改变
3、使用的时候,不能超过数组的下标
4、 两个大异常 : 1 、数组下标 越界; 2、 空指针异常2. 定义一个数组,但是没有初始化这个数组,随后就访问数组中的元素,则会发生空指针异常( NullPointException )