数组-二维数组(代码片段)

犄角旮旯是程序媛吖 犄角旮旯是程序媛吖     2022-11-30     189

关键词:

一、如何理解二维数组

  • 数组属于引用数据类型
  • 数组的元素也可以是引用数据类型
  • 一个一维数组A的元素如果还是一个一维数组类型的,则此数组A称为二维数组

二、二维数组的声明与初始化

正确的方式:

//二维数组的声明和初始化
int[] arr1 = new int[]1,2,3;//一维
//1.1静态初始化
int[][] arr2 = new int[][]1,2,3,4,5,6,7,8;//二维
//1.2.1动态初始化方式一
String[][] arr3 = new String[2][2];
//1.2.2动态初始化方式二
String[][] arr4 = new String[2][];

三、如何调用二维数组元素

//2.如何调用数组的指定位置的元素
System.out.println(arr2[0][1]);//2
//null-未被赋值,String类型的默认值为null
System.out.println(arr3[0][1]);

arr4[1] = new String[2];
//因为arr4,列还未被赋值,单独打印会空指针异常
System.out.println(arr4[1][0]);

四、二维数组的属性-length

//3.如何获取数组的长度
System.out.println(arr2.length);
System.out.println(arr2[0].length);

五、遍历二维数组元素

//4.如何遍历数组
for(int i = 0;i < arr2.length;i++)
    for(int j = 0;j < arr2[i].length;j++)
        System.out.print(arr2[i][j] + " ");
    
    System.out.println();

六、二维数组元素的默认初始化值

//5.数组元素的默认初始化值
/*
规定:二维数组分为外层数组的元素,内层数组的元素
int[][] arr = new int[2][6];
外层元素:arr[0]、arr[1]、arr[2]等
内层元素:arr[0][1]、arr[0][2]等
*/
//初始化方式一:
//数组元素是整型:外层是一个地址值,内层是0
int[][] array = new int[2][2];
System.out.println(array[0]);
System.out.println(array[0][0]);
System.out.println();
//数组元素是布尔型:外层是一个地址值,内层是false
boolean[][] boo = new boolean[2][2];
System.out.println(boo[0]);
System.out.println(boo[0][0]);
System.out.println();
//数组元素是浮点型:外层是一个地址值,内层是0.0
float[][] flo = new float[2][2];
System.out.println(flo[0]);
System.out.println(flo[0][0]);
System.out.println();
//数组元素是char型:
char[][] c = new char[2][2];
System.out.println(c[0]);
System.out.println(c[0][0]);
if(c[0][0] == 0)
    System.out.println("√");

System.out.println();
//数组元素是引用数据类型:外层是一个地址值,内层是null
String[][] str = new String[2][2];
System.out.println(str[0]);
System.out.println(str[0][0]);
//初始化方式二:
//外层是null,内层不能调用,否则报异常错误
double[][] dou = new double[2][];
System.out.println(dou[0]);
//空指针异常,因为dou[0]为null,再去找它下面元素,是找不到的
System.out.println(dou[0][0]);

七、二维数组的内存结构

数组(代码片段)

二维数组:二维数组的概述,二维数组就是数组里面还有数组。简单的理解为箱子里面还有箱子。二维数组的格式:数据类型[]数组名[]=new数据类型[数组长度][数组长度];数据类型数组名[][]=new数据类型[数组长度][数组长度];数... 查看详情

0511二维数组定义(代码片段)

二维数组数组的数组---二维数组的每一个元素是一个一维数组定义格式数据类型[][]数组名=new数据类型[二维数组的长度/包含的一维数组的个数][每个一维数组的长度];int[][]arr=newint[3][5];---定义了一个整型的二维数组,其中包含3个... 查看详情

二维数组和面向对象基础(代码片段)

1:二维数组(理解)(1)元素是一维数组的数组。 (2)格式:数据类型[][]数组名=new数据类型[m][n];数据类型[][]数组名=new数据类型[m][];数据类型[][]数组名=new数据类型[][]...,...,...;数据类型[][]数组名=...,...,...;(3)案例(掌握):二维数组的遍历... 查看详情

10-二维数组(代码片段)

1.如何理解二维数组?数组属于引用数据类型数组的元素也可以是引用数据类型一个一维数组A的元素如果还是一个一维数组类型的,则,此数组A称为二维数组。2.二维数组的声明与初始化1//正确的方式:2int[]arr=newint[]1,2,3;//一维... 查看详情

java数组2----二维数组(代码片段)

文章目录概念定义与使用概念可以将二维数组想象为一张表。表的每一行是一个一维数组。那么二维数组就可以看作元素是一维数组的数组。对二维数组的访问也是通过索引实现,只不过需要两个索引如下表示的二维数组... 查看详情

碎碎念(代码片段)

目录1.typedef定义数组类型2.指针数组3.数组指针4.二维数组5.二维数组是线性存储的(用一维数组方式打印)6.一维(二维)数组与数组指针7.二维数组做函数参数8.sizeof测试一维数组、二维数组1.typedef定义数组类型有typedef是类型,没... 查看详情

c#二维数组的介绍(代码片段)

C#二维数组的介绍1.交替数组(不等长数组)//二维数组定义与初始化//不规则二维数组int[][]array=newint[2][];//锯齿数组array[0]=newint[3];array[0][1]=11;array[0][2]=12;array[1]=newint[]1,2,3,4,5;//或int[][]array=newint[2 查看详情

egret之一维,二维数组(代码片段)

一维数组转换成二维数组下标公式:行=下标/二维数组列数列=下标%二维数组列数+1this.row1=Math.floor(index1/this.col[this.lev-1]+1);this.col1=Math.floor(index1%this.col[this.lev-1]+1);二维数组转一维数组:下标=(二维数当前行-1)*列数+二维数当前... 查看详情

vue二维数组合并一维数组(代码片段)

vue二维数组合并一维数组原理:先将二维数组转成一维数组,然后和一维数组进行合并,合并之后再转成二维数组。//在当前页先引入chunk方法不用下载自带的importchunkfrom'lodash/chunk'letarr1=[118.02,24.48];letarr2=[... 查看详情

从二维数组中查找(代码片段)

在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 functi... 查看详情

十数组:二维数组(代码片段)

1、什么是二维数组?inta[3][5];通常理解为a是一个3行5列的矩阵。  2、二维数组的遍历for(i=0;i<3;i++)for(j=0;j<5;j++)a[i][j]=i*j;——a[i][j]是一个int——表示第i行第j列上的单元。3、二维数组的初始化inta[][5]=0,1,2,3,4,2,3,4,5,6,;—... 查看详情

javase:数组(代码片段)

数组数组基础数组的定义数组的使用数组与方法数组原理剖析Java引用的分析引用的指向数组的拷贝copyOfcopyOfRangclone()方法手动实现二维数组二维数组的定义二维数组剖析二维数组使用不规则的二维数组数组数组,我们可以理... 查看详情

c语言二级指针作为输入(二维数组|二维数组遍历|二维数组排序)(代码片段)

文章目录一、二维数组1、二维数组声明及初始化2、二维数组遍历3、二维数组排序二、完整代码示例一、二维数组前几篇博客中,介绍的是指针数组;指针数组的结构特征是,数组中的每个元素,即每个指针变量可以指向不同大小的... 查看详情

二维数组1:java中的二维数组(代码片段)

​我们在java基础里学过Java是没有二维以上的数组的,数组的第一维的元素指向的堆内存地址又是一个数组,从而实现二维的效果。详细情况在一般的java教程里都有,我们不做赘述,其基本结构图如下所示:1.... 查看详情

稀疏数组(代码片段)

序言所谓稀疏数组就是数组中大部分的内容值都未被使用(或都为零),在数组中仅有少部分的空间使用。因此造成内存空间的浪费,为了节省内存空间,并且不影响数组中原有的内容值,我们可以采用一种压缩的方式来表示稀... 查看详情

01-二维数组的查找(代码片段)

题目描述在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。... 查看详情

稀疏数组(代码片段)

稀疏数组基本介绍当一个数组中大部分元素为0,或者为同一个值的数组时,可以使用稀疏数组来保存该数组。如下图所示:稀疏数组的处理方法:记录数组一共有几行几列,有多少个不同的值;把具有不同值的元素的行列及值... 查看详情

返回一个二维整数数组最大子数组的和(代码片段)

 要求:1,输入一个二维整形数组,数组里有正数也有负数。2,二维数组中连续的一个子矩阵组成一个子数组,每个子数组都有一个和,3,求所有子数组的和的最大值。设计思路:参照一维整数数组求解最大子数组的方法,... 查看详情