二维数组的基本概念

二维数组

理解

二维数组中包含了多个一维数组

概念
  1. 数组是引用类型

  2. 数组中的元素在内存中是连续的

  3. 数组中的数据称之为元素

  4. 每个元素都有编号,称之为下标

  5. 下标从零开始

  6. 数组一旦初始化成功,长度不可改变

数组的声明
数组类型[][] 数组名;
数组的初始化
静态初始化

程序员指定元素,长度由系统自动分配

静态初始化1

String[][] names = new String[][] {{"熊大","熊二","光头强"},{"吉吉","毛毛","涂涂","蹦蹦","萝卜头"}};

静态初始化2:先声明,再初始化

String[][] names;
names = new String[][] {{"熊大","熊二","光头强"},{"吉吉","毛毛","涂涂","蹦蹦","萝卜头"}};

静态初始化3:简写静态初始化1

String[][] names = {{"熊大","熊二","光头强"},{"吉吉","毛毛","涂涂","蹦蹦","萝卜头"}};

通过下标设置元素

names[1][2] = "跳跳";

通过下标获得元素

String str = names[1][2];

获取长度

System.out.println("获取二维数组中一维数组的个数:"+names.length);
System.out.println("获取二维数组中第一个一维数组元素的个数:"+names[0].length);
System.out.println("获取二维数组中第二个一维数组元素的个数:"+names[1].length);
​

遍历二维数组:先循环获取二维数组中的一维数组,在循环获取一维数组中的元素

遍历 - for循环

        for (int i = 0; i < names.length; i++) {
            for (int j = 0; j < names[i].length; j++) {
                System.out.println(names[i][j]);
            }
        }
        System.out.println("-----------------------");

遍历 - foreach/增强for循环

        for (String[] ss : names) {
            for (String element : ss) {
                System.out.println(element);
            }
        }
        System.out.println("-----------------------");
​

动态初始化

程序员指定长度,由系统自动分配元素

  • 整数类型:0

  • 浮点类型:0.0

  • 字符类型:' '

  • 布尔类型:false

  • 引用类型:null

动态初始化1

String[][] names = new String[2][3];//2代表2个一维数组,3代表每个一维数组内有3个元素

动态初始化2:先声明,再初始化

String[][] names;
names = new String[2][3];

通过下标设置元素

        names[0][0] = "熊大1";
        names[0][1] = "熊大2";
        names[0][2] = "熊大3";
        names[1][0] = "熊大4";
        names[1][1] = "熊大5";
        names[1][2] = "熊大6";

案例

案例1

使用动态初始化声明二维数组,其中第一个一维数组有3个元素,第二个一维数组有5个元素

public class Test06 {
​
    public static void main(String[] args) {
​
        String[][] names = new String[2][];
        
        String[] s1 = {"熊大","熊二","光头强"};
        String[] s2 = {"吉吉","毛毛","涂涂","蹦蹦","萝卜头"};
        
        names[0] = s1;
        names[1] = s2;
        
        for (String[] ss : names) {
            for (String element : ss) {
                System.out.println(element);
            }
        }
    }
​
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值