JAVA二维数组

目录

定义格式

二维数组的遍历

二维数组的行数和列数

 不规则二维数组

定义格式

//二维数组 array[行坐标][列坐标]
        int[][] array1 = {{1,2,3},{4,5,6}};
        int[][] array2 = new int[][]{{1,2,3},{4,5,6}};
        int[][] array3 = new int[2][3];//默认都是0

二维数组的遍历

        //遍历二维数组
        int[][] array4 = {{1,2,3},{4,5,6}};
        for (int i = 0; i < 2; i++) {
            for (int j = 0; j < 3; j++) {
                System.out.print(array4[i][j]+" ");
            }
            System.out.println();
        }

二维数组的行数和列数

这里我们遇到了一个问题,就是如何确定二维数组的行数和列数。 要想解决这个问题,我们就必须直到二维数组到底是什么。

         System.out.println(array4[0]);//[I@1b6d3586
         System.out.println(array4[1]);//[I@4554617c

可以看到,输出的是地址,因此我们可以认为, array4[0]和array4[1]分别是一个一维数组,我们可以通过以下代码来验证我们的猜想。

        System.out.println(Arrays.toString(array4[0]));//[1, 2, 3]
        System.out.println(Arrays.toString(array4[1]));//[4, 5, 6]
        System.out.println(array4[0].length);//3
        System.out.println(array4[1].length);//3
        System.out.println(array4.length);//2

 说明array4这个二维数组指向两个一维数组,即:array4.length--行数;一个一维数组存放的元素个数是array4[0].length--列数-----二维数组中的n行元素分别是n个一维数组

这只是一个草图,希望可以帮助你理解二维数组。

现在我们可以重新写二维数组遍历的代码了。

//遍历二维数组
        for (int i = 0; i < array4.length; i++) {
            for (int j = 0; j < array4[i].length; j++) {
                System.out.print(array4[i][j]+" ");
            }
            System.out.println();
        }

对于一维数组,我们可以调用Arrays.toString(数组名)来打印一维数组,同样二维数组也有打印的方法。

//打印二维数组的方法
        System.out.println(Arrays.deepToString(array4));//[[1, 2, 3], [4, 5, 6]]

 不规则二维数组

下面再给大家介绍一种二维数组的用法。

 //不规则的二维数组
        int[][] array5 = new int[2][];

        array5[0] = new int[]{1,2,3,4};
        array5[1] = new  int[]{1,2,3,4,5,6,7,8,9};
        System.out.println(Arrays.deepToString(array5));//[[1, 2, 3, 4], [1, 2, 3, 4, 5, 6, 
                                                        //7, 8, 9]]
        //第一行长度为4,第二行长度为9

 下面我们用for循环来遍历没有赋值的不规则二维数组

        int[][] array6 = new int[2][];
        for (int i = 0; i < array6.length; i++) {
            for (int j = 0; j < array6[i].length; j++) {
                System.out.print(array6[i][j]+" ");
            }
            System.out.println();
        }

运行这个代码会出现空指针异常

由此我们可以知道:引用类型没有赋值系统默认为null。

  • 7
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值