- 数组的特点
1)数组属于引用数据类型的变量,数组元素既可以是基本数据类型,也可以是引用数据类型。
2)数组是有序排列的。
3)创建数组对象。会在内存中开辟一整块连续空间。
4)数组长度一旦确定,就不能更改。
5)定义并用运算符new分配空间后,才可以引用数组中的每个元素。 - 一维数组的使用
1)一维数组的声明和初始化
静态初始化:数组的初始化和数组元素的初始化同时进行。
例:int[] arr=new int[] {1001,1002,1003,1004};
动态初始化:数组的初始化和数组元素的初始化分开进行。
例:int[] arr=new int[4] ;
数组一旦初始化完成,其长度就确定了。
2)数组索引从0开始,到数组长度-1结束。
3)数组名.length
4)遍历数组
for(int i=0;i<arr.length;i++){
System.out.print(arr[i]+" ")
}
5)数组元素初始化值:
数组元素是整型:默认值0
数组元素是浮点型:默认值0.0
数组元素是char型:默认值ASCII为0的字符或者/U0000
数组元素是boolean型:默认值false
数组元素是引用数据类型:默认值null
3.二维数组的使用
1)从数组底层的运行机制来看,其实没有多维数组。
2)二维数组分为外层数组的元素,内层数组的元素
初始化方式一:
例:int[][]arr=new int[4][3];
外层元素初始化值为:地址值;
内层元素初始化值为:与一维数组初始化情况相同;
初始化方式二:
例:int[][]arr=new int[4][];
外层元素初始化值为:null;
内层元素初始化值为:不能调用,否则报错,空指针异常;
3)引用类型变量要么存地址,要么为null。
4)注意特殊写法情况:int[] x,y[]; x是一维数组,y是二维数组。
4.栈(stack):局部变量;堆(heap):new出来的结构:对象、数组。
5.Arrays工具类:
java.util.Arrays 操作数组的工具类,里面定义了很多操作数组的方法。
常用有:
1)Boolean equals(int[] a,int[] b) //判断两数组是否相等。
2)String toString(int[] a) //输出数组信息。
3)void fill(int[] a,intval) //将指定值intval填充到数组中。
4)void sort(int[] a) //对数组排序。
5)int binarySearch(int[] a,int key) //
- 数组中常见异常:
1)数组角标越界的异常:Array Index OutOfBounde Excetion
- 空指针异常: NullPointerException