欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Java数组的写法及常见问题

程序员文章站 2022-07-09 14:28:33
以下是数组的一些写法,自己摸索看看public class ArraySame { public static void main(String[] args) { int[] arrayA = new int[3]; System.out.println(arrayA); //地址值 System.out.println(arrayA[0]); //0 System.out.println(arrayA[1]); //0...

以下是数组的一些写法,自己摸索看看

public class ArraySame {
    public static void main(String[] args) {
        int[] arrayA = new int[3];
        System.out.println(arrayA); //地址值
        System.out.println(arrayA[0]); //0
        System.out.println(arrayA[1]); //0
        System.out.println(arrayA[2]); //0
        System.out.println("=========="); //0

        arrayA[1] = 10;
        arrayA[2] = 20;
        System.out.println(arrayA); //地址值
        System.out.println(arrayA[0]); //0
        System.out.println(arrayA[1]); //0
        System.out.println(arrayA[2]); //0
        System.out.println("==========");

        int[] arrayB = arrayA;
        System.out.println(arrayB); //地址值
        System.out.println(arrayB[0]); //0
        System.out.println(arrayB[1]); //10
        System.out.println(arrayB[2]); //20
        System.out.println("==========");

        arrayB[1] = 100;
        arrayB[2] = 200;
        System.out.println(arrayB); //地址值
        System.out.println(arrayB[0]); //0
        System.out.println(arrayB[1]); //100
        System.out.println(arrayB[2]); //200
    }
}

2.1数组索引问题

数组的索引编号从e开始,一直到“数组的长度-1”为止。

如果访问数组元素的时候,索引编号并不存在,那么将会发生数组索引越界异常
ArrayIndexOutOfBoundsException

原因:索引编号写错了。
解决:修改成为存在的正确索引编号。

public class ArrayIndex {
    public static void main(String[] args) {
        int [] array ={10,20,30};

        System.out.println(array[0]);//10
        System.out.println(array[1]);//20
        System.out.println(array[2]);//30

        //错误写法
        //并不存在3号元素,所以发生异常
        System.out.println(array[3]);
    }
}

2.2空指针异常

所有的引用类型变量,都可以赋值为一个null值。但是代表其中什么都没有。

数组必须进行new初始化才能使用其中的元素。
如果只是赋值了一个null,没有进行new创建,那么将会发生:
空指针异常NuLLPointerException

原因:忘了new
解决:补上new

public class ArrayNull {
    public static void main(String[] args) {
        int[] array = null;
        array = new int[3];//补上一个new
        System.out.println(array[0]);
    }
}

本文地址:https://blog.csdn.net/weixin_47894020/article/details/109956292