目录
数组的定义
数组是一个容器,用来存储同一类型的数据
基本数据类型(4类8种)和引用数据类型(分3种:类,接口,数组)
数组的初始化
动态初始化
int[] array = new int[3]; /*常用
或
int array[] = new int[3];
静态初始化
完整格式如下(也就是说新开辟一个空间存放数组,地址会变成最新的)
int[] array = new int[] {1,2,3,4};
(简化格式)
int[] array = {1,2,3,4};
简化格式不允许拆开写(以下代码是错误写法)
int[] array;
array[] ={1,2,3,4};
静态初始化需要注意的问题:
int[] array = new int[注意 这里不能写具体的长度] {1,2,3,4};
数组的存取
存:顾名思义,数组就是容器,是用来存放同一数据类型的数据(基本数据类型和引用数据类型)
动态的赋值
arr[0]=1;
静态赋值 参考静态初始化
取:单个数据的取法 按照索引取
int a = arr[0];
数组的遍历
将数组中的元素依次取出来称为数组的遍历
for (int i = 0; i < array.length; i++) {
System.out.print(array[i]+" ");
}
array.length 举例解释
array[] ={1,2,3,4};
0 1 2 3(索引值)
以上代码为例 array.lengtg = 10, 也就是说该数组的长度为4(arr.length 为数组的长度)
数组的最大索引值为 数组名.length-1(4-1=3)3则为该数组的最大索引
解释:索引是以0开始,而长度是以1开始。
索引越界异常和空指针异常
索引越界异常:
数组的索引编号从0开始,—直到“数组的长度-1”为止。
如果访问数组元素的时候,索引编号并不存在,那么将会发生数组索引越界异常
ArrayIndexOutOfBoundsException
系因:索引编号写错了。
解决:修改成为存在的正确索引编号
int arr[] = new int[3];
arr[3]=1;
空指针异常:
所有的引用类型变量,都可以赋值为一个null值。但是代表其中什么都没有。
数组必须进行new初始化才能使用其中的元素。
如果只是赋值了一个null,没有进行new创建,那么将会发生:
空指针异常NuLLPointerException
原因:忘了new
解决:补上new
public class Demo02ArrayNull {
public static void main(String[ ]args) {
int[ ]array = null;
// array = new int[3]; 补上new
System.out. println( array[0]);
}
}