数组静态初始化和数组常见的2个问题

/*
        静态初始化:
           初始化时指定每个数组元素的初始值,由系统决定数组长度

           格式:数据类型[] 变量名 = new 数据类型[]{数据1,数据2,数据3....};
           范例:   int[]   arr = new    int[]{1,2,3};

           简化格式:数据类型[] 变量名 = {数据1,数据2,数据3,....};
           范例:      int[]    arr = {1,2,3};
         */

public class Day05 {
    public static void main(String[] args) {
        //定义数组
        int[] arr = {1,2,3};

        //输出数组名
        System.out.println(arr);//[I@1b6d3586

        //输出数组中的元素
        System.out.println(arr[0]);//1
        System.out.println(arr[1]);//2
        System.out.println(arr[2]);//3

        System.out.println("============================================");

        //索引越界:访问了数组中不存在的索引对应元素,造成索引越界问题
        int[] arr2 = new int[3];

        System.out.println(arr2[2]);//0
        System.out.println(arr2[3]);//索引越界,编译不通过


        //空指针异常:访问的数组已经不再指向堆内存的数据,造成空指针异常
        //null:空值,引用数据类型的默认值,表示不指向任何有效对象
        arr2 = null;
        System.out.println(arr2[2]);//空指针异常,编译不通过
    }
}
上一篇:Java基础语法02


下一篇:阿里云湖北区域服务商:架构设计包括哪些方面