------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------
一、数组的概念
可以把数组想象成一个容器,这个容易用来存放同一种类型数据的集合。
把数据存入数组,数组会自动把存入的数据加上角标,也就是数组的索引。
二、数组的类型
常用的数组有一维数组,二维数组,三维数组
1)一维数组的格式
格式1.元素类型[] 数组名 = new 元素类型[元素的个数或数组长度];
例:int[] arr = new int [2];
格式2.元素类型[] 数组名 = new 元素类型{元素1,元素2,元素3};
例:int[] arr = new int {1,2,3};
还有一种简写的方式,
例:int [] arr = {1,2,3,4,5};(开发中常用这种方式)
new 关键字:new 关键字是用来在堆内存中产生一个容器的实体。
注意!!——数组中的索引使用0开始的,也就是说数组中第一个元素的引用是0。
——数组在堆内存中创建 有初始值 int 为0 ,boolean 为 false。
数据是引用数据类型。不同于一般的常量引用。在内存中分为 栈和堆。如图所示。
2)二维数组的格式
格式1. int[][] arr= new int[3][2];
以上表示名称为arr的二维数组。有3个一维数组,每一个一维数组中有2个元素。
格式2: int[][] arr= new int[3][];
表示有3个一维数组,没个以为数组为null;
格式3:int[][] arr = {{3,8,2},{2,7},{9,0,1,6}}
表示数组初始化。
二维数组在内存中存在的形式。
int [][] arr = new int [2][4];
三、数组操作中常见的问题
1、数组脚标越界异常(ArrayIndexOutOfBoundsException)。例:
int[] arr = new int[2];
System.out.println(arr[3]);
访问到了数组中的不存在的脚标时发生。
2、空指针异常(NullPointerException)。例:
int[]arr = null;
System.out.println(arr[0]);
arr引用没有指向实体,却在操作实体中的元素时。