java多维数组初始化该怎么编写?代码示例

TheDisguiser 2020-07-26 23:53:33 java常见问答 7932

数组是java中的核心之一,多变的形态使它一直是程序员的好帮手,本篇文章我们就来了解下数组中的多维数组是如何初始化的。

示例:

import java.util.Arrays;
public class Test
{
    public static void main(String[] args)
    {
        //声明了一个数组变量,但是这个变量还没有初始化,
        // 也就是说没有指向任何内存,甚至连null都不是,此时还不能使用
        int[] a;
        a = null; //数组也是对象,将a初始化为null
        System.out.println(Arrays.toString(a));
        a = new int[5]; //将a初始化为一个长度为5的整型数组,数组中的元素默认初始化为0
        System.out.println(Arrays.toString(a));
        a = new int[]
        {
            1
            , 2
            , 3
            , 4
            , 5
        }; //创建了一个匿名数组,并将a指向这个匿名数组
        System.out.println(Arrays.toString(a));
        //这是创建数组对象并同时赋值的简化书写形式,不需要调用new,也不能调用new
        int[] smallPrimes = {
            2
            , 3
            , 5
            , 7
            , 11
        };
        System.out.println(Arrays.toString(smallPrimes));
        /*
         * java中没有多维数组,也就是说arr表示引用一个数组,这个数组中存放的应该是int[][]型的引用
         * 但是这个时候arr没有初始化,它甚至连null都不是
         * */
        int[][][] arr = new int[2][][];
        /* new int[2][][]将在堆中开辟内存,内存的大小为两个int[][]型引用的长度
         * 默认初始化为null,也就是说arr[0]和arr[1]都是null
         * 如果要给arr[0]赋值,需要赋一个int[][]型的引用值,
         * 像下面这样*/
        arr[0] = new int[3][3];
        /*
         * 下面是创建一维数组对象并同时赋值的简化书写形式,
         * 不需要调用new,也不能调用new
         *int[] smallPrimes = {2, 3, 5, 7, 11};
         * 如果想要像这样给arr[1]赋值,应该已经没有机会了
         *
         * 下面是通过创建匿名数组初始化一维数组a
         * a = new int[]{1, 2, 3, 4, 5};//创建了一个匿名数组,并将a指向这个匿名数组
         * 如果是想要像这样给arr[1]赋值,考虑如何创建二维匿名数组
         *首先明确,二维数组中存放的是一维数组的引用,仿照一维数组的形式,
         * 在大括号中创建匿名一维数组就可以了*/
        arr[1] = new int[][]
        {
            new int[]
            {
                1
                , 2
            }, new int[]
            {
                3
                , 4
            }, new int[3]
            , {}
        };
        System.out.println(Arrays.deepToString(arr)); //查看arr的内容,是不规则数组
    }
}

以上就是今天的全部内容了,对java项目中常见问题相信你一般都能自己解决了吧,如果碰到解决不了的问题,记得来我们网站寻找答案啊。

推荐阅读:

java数组遍历的几种方法有哪些?如何实现?

java数组去重怎么去除?java实现数组去重方法

java数组转字符串要如何转换?一般有几种方法?