-----数组------
/*-----数组是指一组数据的集合,数组中的每个数据被称作元素,每个元素可以通过下标来访问**(下标第一个元素是从0开始)。
需要注意的是,数组中最小的索引是0,最大的索引是“数组的长度减一。”**
*------数组的长度是固定的,一旦被创建,它的大小就是不可被改变的。
*------数组可以存放任意类型的元素,但同一个数组的元素类型必须一致。
*数组的定义格式:
- (1)-----int [] x = new int[100];
- (2)-----int [] x; //声明一个int[]类型的变量
- ---------- x = new int[100]; //创建一个长度为100的数组
- */
//动态初始化数组:只是定义数组的长度,由系统自动为元素赋初值的方式称作动态初始化
//静态初始化数组:在定义数组的同时就为数组的每个元素赋值,称作静态初始化
元素默认值
- byte,short,int,long类型定义的数组,初始化默认是0
- float、double类型定义的数组,默认值是0.0
- String类型定义的数组,默认值是null
- char类型定义的数组,默认值是‘0’(’\u0000’)
- boolean类型定义的数组,默认值是false
- 引用数据类型定义的数组,默认值是null,表示变量不引用任何对象。
在java中,为了方便获得数组的长度,提供了一个length属性
public class ArrayDemo01 {
public static void main(String[] args) {
//数组声明创建
int [] x = new int[100];//未分配初始值,所以这些变量的初始值都是0(动态初始化)
int [] uzi;//声明一个int[]类型的变量
uzi = new int[99];//创建一个长度为99的数组
System.out.println("数组的长度是:"+uzi.length);//获取数组的长度
}
}
数组操作常见异常
1.数组越界异常
我们在访问数组的元素时,索引不能超过0~length-1这个范围,否则程序会报错。
System.out.println(uzi[100]);//访问角标100的元素(已经超过了0~length-1(99))
运行后则会出现如下错误。
2.空指针异常
在使用变量引用一个数组时,变量必须指向一个有效的数组对象,如果该变量的值为null,则意味着没有指向任何数组,此时通过该变量访问数组的元素会出现空指针异常。
有上图运行结果可以看出,在数组元素为66时可以访问,而当数组uzi=null;时,再次访问就会出现空指针异常。