Java二维数组详细【上课笔记】

前言

关于java中的二维数组
1、二维数组其实是一个特殊的一位数组,特殊在这个一位数组当中的每一个元素是一个以为数组
2、三叔数组是什么?
三维数组是一个特殊的二维数组。特殊在这个二维数组中每一个元素是一个以为数组
实际的开发中使用最多的是一位数组,二维数组也很少使用,三维数组几乎不用
3、二维数组静态初始化
int[][] array = {{1,2,3},{4,5,6,3,2},{4,8,963}}

1.二维数组的length属性

1.1代码展示

public class ArrayTest09 {
    public static void main(String[] args) {
        //一位数组
        int[] array = {100,200,300};
        System.out.println(array.length);   //3
        System.out.println("===========================");

        //二维数组
        int[][] a = {
                {100,200,300,},
                {20,30,40,50,60},
                {6,7,9,1},
                {0}
        };
        System.out.println(a.length);   //4
        System.out.println(a[0].length);   //3
        System.out.println(a[1].length);   //5
        System.out.println(a[2].length);   //4
        System.out.println(a[3].length);   //1

    }
}

1.2执行结果

在这里插入图片描述

2.二维数组的元素访问

2.1知识点

关于二维数组中元素的:读和该。
a[二维数组中的一维数组的下标][一维数组的下标]
a[0][0]:表示第1个一维数组中的第一个元素
a[3][100]:表示第4个一维数组的地101个元素

2.2代码展示

public class ArrayTest10 {
    public static void main(String[] args) {
        int[][] a = {
                {34,4,65},
                {100,200,300,111},
                {0},
        };

        //请取出以上二维数组的第一个一维数组
        System.out.println(a[0][0]);

        //请取出第2个一维数组当中的第三个元素
        System.out.println(a[1][2]);

        //改
        a[2][0] = 1111;
        System.out.println(a[2][0]);

        //注意别越界
        System.out.println(a[2][1]);
    }
}

2.3执行结果

在这里插入图片描述

3.遍历二维数组

3.1核心代码

(1)和(2)本质一样,(1)是在帮助理解
(1)

for(int i = 0;i<array.length;i++){
            String[] 一维数组 = array[i];
            //负责遍历一维数组
            for(int j = 0;j<一维数组.length;j++){
                System.out.println(一维数组[j] + " ");
            }
            //输出换行符
            System.out.println();
        }

(2)所以这也就是二维数组遍历的代码形式

for(int i = 0;i<array.length;i++){

            for(int j = 0;j<array[i].length;j++){
                System.out.println(array[i][j] + " ");
            }
            //输出换行符
            System.out.println();
        }

3.1完整代码展示

package com.power.Javase.array;
/*
二维数组的遍历
 */
public class ArrayTest11 {
    public static void main(String[] args) {
        String[][] array={
                {"java","oracle","c++","python","c#"},
                {"张三","李四","王五"},
                {"lucy","jack","rose"}
        };
        //遍历二维数组
         /*for(int i = 0;i<array.length;i++){
            String[] 一维数组 = array[i];
            //负责遍历一维数组
            for(int j = 0;j<一维数组.length;j++){
                System.out.println(一维数组[j] + " ");
            }
            //输出换行符
            System.out.println();
        }*/

        //合并代码
        //遍历二维数组
       for(int i = 0;i<array.length;i++){

            for(int j = 0;j<array[i].length;j++){
                System.out.println(array[i][j] + " ");
            }
            //输出换行符
            System.out.println();
        }
        }
}

3.3执行结果

在这里插入图片描述

4.方法的参数是一个二维数组

4.1核心代码

(1)中间部分也就是二维数组的遍历

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

(2)二维数组 静态初始化

 //静态初始化
        int[][] a={{1,2,3,4}, {5,6,7,76}, {1,23,4}};
        printArray(a);

(3)但没有这种语法

printArray{{1,2,3,4}, {5,6,7,76}, {1,23,4}};

(4)可以这样写,也就是在一位数组前面加上new int[][]

printArray(new int[][] {{1,2,3,4}, {5,6,7,76}, {1,23,4}});

4.2完整代码展示

package com.power.Javase.array;
/*
动态初始化二维数组
 */
public class ArrayTest12 {
    public static void main(String[] args) {
        //3行4列
        //3个一维数组,每一个一维数组当中4个元素
        int[][] array = new int[3][4];
        
        //静态初始化
        int[][] a={{1,2,3,4}, {5,6,7,76}, {1,23,4}};
        printArray(a);

        //没有这种语法
        //printArray{{1,2,3,4}, {5,6,7,76}, {1,23,4}};

        //可以这样写
        printArray(new int[][] {{1,2,3,4}, {5,6,7,76}, {1,23,4}});
    }

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

    }
}

4.3执行结果

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值