java学习06--数组

public class Demo01Array {
    public static void main(String[] args) {
        //一、数组定义格式

        // 1.动态初始化(指定数组长度)
        int[] arrayA = new int[300];
        double[] arrayB = new double[300];
        // 动态初始化拆分两个步骤
        String[] arrayG;
        arrayG = new String[5];

        char[] arrayI = new char[3];
        boolean[] arrayH = new boolean[2];



        // 2.静态初始化(指定数组元素)
        int[] arrayC = new int[]{5, 15, 25};
        String[] arrayD = new String[]{"hello", "world", "java"};
        //静态初始化拆分两个步骤
        int[] arrayF;
        arrayF = new int[] {40,50,60};

        // 静态初始化省略格式(无发拆分两个步骤)
        int[] arrayE = {10,20,30};

        // 使用建议:
        // 如果不确定数组中的具体内容,因动态初始化;
        // 否则,已经确定了具体的内容,用静态初始化

        // 二、数组的访问

        // 直接访问数组名称,得到数组对应的内存地址哈希值,十六进制
        System.out.println(arrayE);

        //1.访问静态数组:使用索引值
        System.out.println(arrayD[0]);

        //2.访问动态数组
        // 整型类型,默认值为0
        System.out.println(arrayA[0]);
        // 浮点型类型,默认值为0.0
        System.out.println(arrayB[0]);
        // 字符型类型,默认值为‘\u0000’
        System.out.println(arrayI[0]);
        // 布尔型类型,默认值为false
        System.out.println(arrayH[0]);
        // 还有一种引用型类型(字符串、数组、对象),默认值为null
        System.out.println(arrayG[0]);


        System.out.println("=================");
        //三、数组的赋值
        //1.动态数组赋值
        arrayA[0] = 3;
        System.out.println(arrayA[0]);
        arrayI[0] = 'C';
        System.out.println(arrayI[0]);

        // 2.注意:静态初始化其实也有默认值过程,只不过系统自动马上将默认值替换为大括号中的具体值
        System.out.println(arrayF[0]);
        arrayF[0] = 46;
        System.out.println(arrayF[0]);


        // 四、数组问题
        // 1、数组索引越界异常
        //System.out.println(arrayE[4]); // 错误写法,并不存在,所以发生异常

        // 2.空指针异常
        int[] array01;
        //System.out.println(array01[0]); //错误写法,没进行new初始化。

        // 所有引用类型(字符串、数组、对象),都可以赋值为一个null,带代表其中什么都没有
        // 数组如果只是赋值null,没有进行new初始化创建,那么将会发生空指针异常 NUllPointerException
        int[] array02 = null;
        //System.out.println(array02[0]);

        // 解决:补上new初始化
    }
}

  

posted @ 2022-02-17 14:05  坏小子1993  阅读(45)  评论(0编辑  收藏  举报