数组
一、数组的概念
数组是同一种类型数据的集合。其实数组就是一个容器。运算的时候有很多数据参与运算,那么首先需要做的是什么.不是如何运算而是如何保存这些数据以便于后期的运算,那么数组就是一种用于存储数据的方式,能存数据的地方称之为容器,容器里装的东西就是数组的元素, 数组可以装任意类型的数据,虽然可以装任意类型的数据,但是定义好的数组只能装一种元素, 也就是数组一旦定义,那么里边存储的数据类型也就确定了。
二、数组的格式
元素类型[] 数组名 = new 元素类型[元素个数或数组长度];
示例:
int[] arr = new int[5];
1.声明数组变量(=左半部分)
为了使用数组必须在程序中声明数组,并指定数组的元素类型
先写左边明确了元素类型 是int ,容器使用数组,那么如何来标识数组?.那么用一个特殊的符号[]中括号来表示。使用数组需要给数组起一个名字,这里给这个数组起名字为x .接着跟上等号。
代码体现:
int [] x
注意:
int x[] 也是一种创建数组的格式。推荐使用int [] x 的形式声明数组。
2.创建数组(=右半部分)
要使用一个新的关键字.叫做new。new 用来在内存中产生一个容器实体,数据要存储是需要有空间的,存储很多数据的空间用new 操作符来开辟,new int[3]; 这个3是元素的个数。右边这部分就是在内存中定义了一个真实存在的数组,能存储3个元素。
new int[3] 做了两件事情,首先使用new int[3] 创建了一个数组,然后把这个数组的引用赋值给数组变量x。
3.注意:int [] x=new int[3];中的x 是什么类型?
任何一个变量都得有自己的数据类型。注意这个x 不是int 类型的 。int 代表的是容器里边元素的类型。那么x 是数组类型的。
数组是一种单独的数据类型。数据类型分为2大派,分为基本数据类型和引用数据类型。 第二大派是引用数据类型。那么大家现在已经接触到了引用数据类型三种当中的一种。就是数组类型 [] 中括号就代表数组。
三、定义数组
格式1:
元素类型[] 数组名 = new 元素类型[元素个数或数组长度];
示例:
int[] arr = new int[5];
格式2:
元素类型[] 数组名 = new 元素类型[]{元素,元素,……};
示例:
int[] arr = new int[]{3,5,1,7};
int[] arr = {3,5,1,7};
注意:给数组分配空间时,必须指定数组能够存储的元素个数来确定数组大小。创建数组之后不能修改数组的大小。可以使用length 属性获取数组的大小。
三、数组初始化
1.先定义,再初始化
int[] x = new int[3];
x[0] = 1;
x[1] = 2;
x[2] = 3;
2.定义时初始化
该形式可以直接明确数组的长度,以及数组中元素的内容
int[] x = { 1, 2, 3 };
int[] x = new int[]{1,2,3};
四、遍历数组
数组中有一个属性可以获取到数组中元素的个数,也就是数组的长度. 数组名.length
public class Main {
public static void main(String[] args)
{
int[] x = { 1, 2, 3 };
for (int i = 0; i < x.length; i++){
System.out.println(x[i]);
}
}
}
五、数组的常见异常
1.数组角标越界异常:
注意:数组的角标从0开始。
public static void main(String[] args) {
int[] x = { 1, 2, 3 };
System.out.println(x[3]);
//java.lang.ArrayIndexOutOfBoundsException
}
2.空指针异常:
public static void main(String[] args) {
int[] x = { 1, 2, 3 };
x = null;
System.out.println(x[1]);
// java.lang.NullPointerException
}