数组的基本理解

概念

存储数据长度固定的容器,且存储数据的数据类型一致

定义格式

1.数据类型[] 数组名;

2.数据类型 数组名[];

数组的初始化

1.动态初始化:创建数组时只给定数组的长度,由系统给出默认的初始化值

2.静态初始化:创建数组时直接将元素确定

//创建一个长度为6的数组
//1.动态初始化
int[] arr1 = new int[6];
for(int i = 0 ; i < arr1.length ;i++){
  System.out.println(a[i]);//整数类型初始化默认是0      
}
//2.静态初始化
int[] arr2 = new int[]{1,2,3,4,5,6};
for(int i = 0 ; i < arr2.length ;i++){
  System.out.println(a[i]);//数组索引默认从零开始      
}
//数组静态初始化简写格式
int[] arr3 = {1,2,3,4,5,6};

数组元素的访问

每个存放到数组中的元素,都会有一个编号,称之为索引,

通过数组的索引访问到数组中的元素

访问格式:数组名[索引] //默认编号从0开始 通过地址找到数组,通过索引找到元素

数组在内存中的存储

数组是一个引用变量,在内存中分区存储

数组变量-->栈里面

数组元素-->堆里面

通过栈里面的地址去找对应的数组,然后根据索引找对应位置的元素

//创建一个长度为4的数组
public class TestArray{
    public static void main(String[] args){
       int[] arr = {1,2,3,4};
       System.out.println(arr[0]);//1
       System.out.println(arr[1]);//2
    }
}

数组操作的常见问题?以及解决方案?

1.索引越界异常-->ArrayIndexOutOfBoundsException-->改为正确的索引

2.空指针异常--> NullPointerException -->给数组一个真正的堆内存空间引用即可

数组的遍历

将数组中的每一个元素分别取出来,就是遍历

通用格式:

for(int x = 0;x < arr.length;x++){
    System.out.println(arr[x]);
}



原文地址:https://www.cnblogs.com/erlangha/p/12630366.html