设为首页 加入收藏

TOP

二维数组的定义方式有几种(一)
2023-07-26 08:16:08 】 浏览:60
Tags:方式有

前言

在前几篇文章中,壹哥给大家介绍了Java里的一维数组,涉及到了数组的创建初始化、数组遍历、拷贝、扩容、排序、查找等核心内容,这些内容都是数组中的重点,希望大家要在这些知识点上多付出点时间和精力。但是我们知道,除了有一维数组之外,还有二维数组和多维数组,这些内容同样很重要。所以今天壹哥就在一维数组的基础上,继续给大家讲解多维数组的内容。

-------------------------------------前戏已做完,精彩即开始------------------------------------

全文大约【3000】字,不说废话,只讲可以让你学到技术、明白原理的纯干货!本文带有丰富案例及配图,让你更好地理解和运用文中的技术概念,并可以给你带来具有足够启迪的思考......

一. 多维数组

1. 概念

多维数组可以看成是数组的数组。比如二维数组就是一个特殊的一维数组,它的每个元素都是一个一维数组。其他多维数组的概念,大家可以参照二维数组以此类推。

2. 分类

多维数组可以分为:

● 二维数组;

● 三维数组;

● 其他数组;

其实我们在开发时,真正常用的数组也就是一维数组和二维数组,更多维度的数组很少使用。所以接下来在本篇文章中,主要是给大家讲解二维数组相关的内容。

二. 二维数组

1. 概念

二维数组就是一种数组的数组,其本质上还是一个一维数组,只是它的数据元素又是一个一维数组。如果你对这个概念想象不出来,给大家举个栗子,相信吸烟的同学一下子就会明白。

一根烟 = 一个变量

一包烟 = 20根烟 = 一维数组

一条烟 = 10包烟 = 二维数组

也就是说,我们买的”一条烟“,就是一种”二维数组“,明白了吧?

2. 定义

定义二维数组的基本语法如下:

定义方式一:

元素类型[][] 数组名称;

定义方式二:

元素类型 数组名称[][];

在开发时,第一种定义方式更常用一些。这是数组的定义,我们还要对数组进行初始化。二维数组在初始化时,也分为动态初始化和静态初始化两种情况。我们可以把数组的定义和初始化在多条语句中分开完成,也可以直接放在一个语句中完成。

3. 初始化

3.1 动态初始化

二维数组进行动态初始化时,语法格式如下:

元素类型[][] 数组名称 = new 元素类型[二维数组的长度][一维数组的长度];

例如:

int[][] arr = new int[3][4];

在上述示例中,表示我们定义了一个整型的二维数组arr。3表示在二维数组中有3个一维数组,每个一维数组就是一行;4表示每个一维数组中有4个数据元素,这样就形成了二维数组的4列。这样我们就可以把这个二维数组arr看成是一个3行4列的数组或矩阵,访问二维数组中的某个元素时,需要使用arr[row][col]的形式。所以二维数组中,总的元素个数最多有3*4=12个。

以下是动态初始化的案例代码。

public class Demo15 { public static void main(String[] args) { // 二维数组--动态初始化 //二维数组在动态初始化时,必须指定二维数组的长度。 //创建一个包含了3个一维数组的二维数组,每个一维数组的长度是2。 int[][] arr2 = new int[3][2]; //给二维数组赋值 //给二维数组中的第一个一维数组赋值 arr2[0][0] = 111; arr2[0][1] = 222; //给二维数组中的第二个一维数组赋值 arr2[1][0] = 333; arr2[1][1] = 444; //给二维数组中的第三个一维数组赋值 arr2[2][0] = 555; arr2[2][1] = 666; //二维数组取值 System.out.println( "二维数组中第一个元素里的第一个元素"+arr2[0][0]); System.out.println( "二维数组中第一个元素里的第二个元素"+arr2[0][1]); System.out.println( "二维数组中第二个元素里的第一个元素"+arr2[1][0]); System.out.println( "二维数组中第二个元素里的第二个元素"+arr2[1][1]); //获取二维数组的长度 System.out.println("二维数组的长度"+arr2.length); System.out.println("二维数组中第一个一维数组的长度"+arr2[0].length); System.out.println("二维数组中第二个一维数组的长度"+arr2[1].length); System.out.println("二维数组中第三个一维数组的长度"+arr2[2].length); } } 

注意:我们在对二维数组进行动态初始化时,必须先指定出二维数组的长度,但一维数组的长度可以后续使用前再单独指定。

3.2 静态初始化

二维数组中,每个一维数组的长度并不要求相同,可以各不相同。二维数组进行静态初始化时,语法格式如下:

元素类型[][] 数组名称 = new 元素类型[][]{{一维数组1,一维数组2,一维数组3....};

例如:

int[][] arr = new int[][]{{2,3},{5,2,1},{10,45,22,54}};

但是这种方式的语法显得有些啰嗦,所以在实际开发时,我们一般是采用简化的静态初始化方式,如下所示:

元素类型[][] 数组名称 =m{{一维数组1,一维数组2,一维数组3....};

例如:

int[][] arr = {{2,3},{5,2,1},{10,45,22,54}};

以下是静态初始化的案例代码。

public class Demo16 { public static void main(String[] args) { // 二维数组--静态初始化 //静态初始化一个二维数组。静态初始化时可以很灵活 int[][] arr = {{11,22,33},{66,88}}; //给二维数组赋值。 //重新给二维数组中第一个一维数组里的第3个数据元素(即33)赋值,用99替换原来的33. arr[0][2] = 99; //重新给二维数组中第二个一维数组里的第1个数据元素(即66)赋值,用77替换原来的66. arr[1][0] = 77; //二维数组取值 System.out.println( "二维数组中第一个一维数组里的第一个元素"+arr[0][0]); System.out.println( "二维数组中第一个一维数组里的第二个元素"+arr[0][1]); System.out.println( "二维数组中第二个一维数组里的第三个元素"+arr[0][2]); System.out.println( "二维数组中第二个一维数组里的第一个元素"+arr[1][0]); System.out.println( "二维数组中第二个一维数组里的第二个元素"+arr[1][1]); //获取二维数组的长度 System.out.println("二维数
首页 上一页 1 2 下一页 尾页 1/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇Sentinel入门到实操 (限流熔断降.. 下一篇《Terraform 101 从入门到实践》 ..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目