DUFQ_2020.11.23-杜飞强
数组
1.什么是数组?
数组是具有相同的数据类型并且按照一定次序排列的一组变量的集合体。即数组是存储相同数据类型的一组数据。
一个数组中包含多个数组元素
2.数组元素
构成一个数组的每一个数据称为数组元素。
注意:数组元素是变量,是连续的存储内存空间。
3.数组下标
数组中的每一个元素都按照一定的顺序排列,每一个元素都有一个下标,序号都是从0开始,依次+1,序号就是数组元素的下标。
4.数组的大小
数组中元素的个数,一般通过数组名.length来获取数组的大小。
5.使用数组的步骤
(1)定义数组
数据类型 数组名[];
eg:int arr[];或者int[] arr;
(2)为数组元素分配内存
数组名 = new 数据类型[数组长度];
eg:arr = new int [5];
定义数组和数组元素分配内存可以合成一步即:
数据类型 数组名[] = new 数据类型[数组长度];
![int arr[] = new int[5];]
ps: new在Java中表示分配内存,即程序向JVM申请连续的、可以存放5个int类型变量的存储空间;
new申请的内存一定被分配在堆中。
(3)初始化数组
eg:arr[0] = 445;
arr[1] = 23;
定义数组、为数组元素分配内存、数组元素初始化可以合并在一起写,即:
数据类型 数组名[] = new 数据类型 []{数组元素,用逗号隔开};
eg:int arr[] = new int []{35,67,23,67,56};
int arr[] = {35,67,23,67,56};
PS:基本数据类型的变量存储的真实的数据,引用类型的变量存储的是内存地址编号
(4)使用数组
PS:数组是什么数据类型,数组的元素就是什么数据类型;
数组的特征是 [];
数组是引用类型,默认值是null;
通常情况下使用for循环为数组初始化时,将for循环的循环变量作为数组的下标使用。
6.常见的异常
(1)下标越界异常
当下标越界程序运行会抛出异常:java.lang.ArrayIndexOutOfBoundsException,表示数组的下标越界。
eg:int arr[] = {34,64,23,55,213};
System.out.println(arr[5]);
(2)没有分配内存空间
数组名称在栈中分配了内存,但没有在堆中为数组元素分配内存,运行程序会抛出异常:**java.lang.NullPointerException **,表示空指针异常。
eg:int arr[] = null;
(3)语法错误
<1>等号左边的中括号中不允许写长度
错误写法:int arr1[3] = new int[]{1,12,23};
应改为: int arr1[] = new int[]{1,12,23};
<2>直接为数组元素初始化时不允许指定数组长度
错误写法:int arr2[] = new int[3]{1,12,23};
应改为: int arr2[] = new int[]{1,12,23};
<3>直接初始化数组元素的代码必须写在一行
错误写法:int arr3[];
arr3={1,12,23};
应改为: int arr[] = new int[]{1,12,23};
评论留言