二维数组

二维数组

格式1: int [] [] arr = new int [3] [2] ;

· 定义了一个名称为arr的二维数组
· 二维数组中有3个一维数组
· 每一个一维数组中有两个元素
· 一维数组的名称分别为 arr[0], arr[1], arr[2]
· 给第一个一维数组1脚标位赋值为78的写法是:arr [0] [1] =78 ;

        // int [] arr = new int [3] ;    (一维)
        int[][] arr = new int[3][2];    //  (二维)
        // 创建一个二维数组,该数组中有3个一维数组,每一个一维数组中有两个元素。
        System.out.println(arr);
        // 直接打印二维数组    [[I@c17164
        System.out.println(arr[0]);      [I@1fb8ee3
        //直接打印二维数组中的角标0的一维数组
        System.out.println(arr[0][0]);
        //直接打印二维数组中的角标0的一维数组中角标为0的元素。      0
//        默认初始化值 null
//        小数组也是实体,都需要在内存中开辟空间
    }

二维数组定义方式和内存图解1
明确了二维数组长度的同时明确了一维数组的长度

在这里插入图片描述
内存图解2
明确二维数组的长度但没有明确一维数组的长度

 int [] [] arr = new int [3] [] ;
 分别对二维数组中的每一个小数组进行初始化。
 arr [0] = new int [2];
 arr [1] = new int [1];
 arr [2] = new int [3];
//以上三个都是属于二维数组里的小数组
// 二维数组里包含三个一维数组,分别是arr[0],arr[1],arr[2];
// 一维数组arr[0]是个长度为2的数组,一维数组arr[1]是个长度为1的数组,一维数组arr[2]是个长度为3的数组
		int [] [] arr = new int [3] [];    
		System.out.println(arr);
		// 直接打印二维数组       [[I@C17164
		System.out.println(arr[0]); 
		//直接打印二维数组中的角标0的一维数组        null
		System.out.println(arr[0][0]);
		//直接打印二维数组中的角标0的一维数组中角标为0的元素。        NullPointerException

二维数组内存图解2

二维数组的第二种定义方式

int [] [] arr = new int [3] [2] ;
System.out.println(arr.length);
// 打印二维数组的长度,其实就是一维数组的个数
System.out.println(arr[1].length);
// 打印二维数组中角标为1的一维数组的长度

int [] [] arr ={{3,1,7}, {5,8,2,9}, {4,1}};
遍历
for (int x=0 ; x<arr.length ; x++ )
{
	for (int y=0 ;y<arr[x].length  ; y++ )
	{
		System.out.println(arr[x] [y]+",");
		// sum += arr [x] [y];
		// (sum = sum + arr[x] [y];)
	}
}

二维数组应用场景

编号与数组对应。
数据多数组存,数组多二维数组存。
甲: 30 59 28 17
乙: 37 60 22 19

int [] arr = { 30 ,59,28 ,17} ,{37 ,60 ,22 ,19};

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值