java中数组

来源:互联网 发布:淘宝科技有限公司 编辑:程序博客网 时间:2024/06/08 02:27
//1.如何定义一个数组
        //1.1数组的声明
        String[] names;
        int scores[];
        //1.2初始化
        //第一种:静态初始化:初始化数组与给数组元素赋值同时进行。
        names = new String[]{"周爽","郭强强","俞乾龙"};
        
        //第二种:动态初始化:初始化数组与给数组元素赋值分开进行。

        scores = new int[4];

       第三种:直接初始化,int[] arr={1,2,23};这样也可以。

      但是

        int arr1[];
        arr1={1,2,2,3};//错误的

        int arr1[];
        arr1=new int[]{1,2,2,3};//这样也可以。

        //2.如何调用相应的数组元素:通过数组元素的下角标的方式来调用。
        //下角标从0开始,到n -1 结束。其中n表示的数组的长度。
        scores[0] = 87;
        scores[1] = 89;
        scores[3] = 98;
        //3.数组的长度:通过数组的length属性。
        System.out.println(names.length);//3
        System.out.println(scores.length);//4
        //4.如何遍历数组元素
        for(int i = 0;i < names.length;i++){
            System.out.println(names[i]);

        }

//对于基于基本数据类型的变量创建的数组:byte short int long float double char boolean
        //1.对于byte short int long 而言:创建数组以后,默认值为0

//2.对于float  double而言:默认值是0.0

//3.对于char而言:默认为空格

//4.对于boolean而言:默认为false

//5.对于引用类型的变量构成的数组而言:默认初始化值为null。以String为例


内存的结构(方法区中包含常量池):


数组在内存中的结构


多维数组


二位数组的初始化:

String[][] names;
        //1.二维数组的初始化
        scores2 = new int[][]{{1,2,3},{3,4,5},{6}};//静态初始化
        
        names = new String[6][5];//动态初始化的方式一
        names = new String[6][];//动态初始化的方式二
        names[0] = new String[5];
        names[1] = new String[4];
        names[2] = new String[7];


//错误的初始化方式
        //names = new String[][];
        //names = new String[][5];


//4.如何遍历二维数组
        for(int m = 0;m < scores2.length;m++){//控制行数
            for(int n = 0;n < scores2[m].length;n++){
                System.out.print(scores2[m][n] + "  ");
            }
            System.out.println();
        }

多维数组的内存图解:

二位数组一个常见的异常:

int[][] j = new int[3][];
        j[2][0] = 12;

空指针异常,第一句执行完,二维数组的每一个元素都是null,所以执行第二行会报空指针。

0 0