最便宜网站建设枣庄网站seo
- 作者: 五速梦信息网
- 时间: 2026年03月21日 04:58
当前位置: 首页 > news >正文
最便宜网站建设,枣庄网站seo,网站开发必须要用js,wordpress分享微信插件下载地址1. 概念二维数组就是一种数组的数组#xff0c;其本质上还是一个一维数组#xff0c;只是它的数据元素又是一个一维数组。如果你对这个概念想象不出来#xff0c;给大家举个栗子#xff0c;相信吸烟的同学一下子就会明白。一根烟 一个变量一包烟 20根烟 一维数组一条烟 …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*412个。以下是动态初始化的案例代码。publicclassDemo15 {publicstaticvoidmain(String[] args) {// 二维数组–动态初始化//二维数组在动态初始化时必须指定二维数组的长度。//创建一个包含了3个一维数组的二维数组每个一维数组的长度是2。int[][] arr2 newint[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}};以下是静态初始化的案例代码。publicclassDemo16 {publicstaticvoidmain(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(二维数组中的长度arr.length);System.out.println(二维数组中第一个一维数组的长度arr[0].length);System.out.println(二维数组中第二个一维数组的长度arr[1].length);}}以上是定义和初始化二维数组的基本案例为了加深大家对二维数组的理解接下来壹哥再设计几个代码案例巩固二维数组的用法。4. 扩展案例4.1 动态初始化的变形写法如果我们在定义二维数组时没有给定一维数组的长度那么在使用数组之前一定要先对一维数组进行初始化。否则此时如果直接使用一维数组就会产生空指针异常java.lang.NullPointerException。publicclassDemo17 {publicstaticvoidmain(String[] args) {//动态初始化时未限定一维数组的长度int[][] arr newint[3][];//如果我们在定义二维数组时没有给定一维数组的长度那么在使用数组之前一定要初始化里面的一维数组。//否则如果直接使用一维数组就会产生空指针异常java.lang.NullPointerException// arr3[0][0] 100;//初始化一维数组arr[0] newint[2];arr[1] newint[1];arr[2] newint[4];//给数组赋值arr[0][0] 1;arr[0][1] 2;arr[1][0] 10;arr[2][0] 100;arr[2][1] 200;arr[2][2] 300;arr[2][3] 400;// 二维数组取值System.out.println(二维数组中的第一个元素中的第一个元素 arr[0][0]);System.out.println(二维数组中的第一个元素中的第二个元素 arr[0][1]);System.out.println(二维数组中的第二个元素中的第一个元素 arr[1][0]);}}arr[0]new int[2] 和 arr[1]new int[1]是在为最高维分配引用空间也就是限制了最高维能保存数据的最大长度。4.2 遍历二维数组因为二维数组中包含若干个一维数组我们之前遍历一维数组时要使用一个循环所以我们对二维数组进行遍历时就要使用嵌套的双重循环。当然for/while/foreach等循环都可以使用。publicclassDemo18 {publicstaticvoidmain(String[] args) {// 二维数组–遍历//定义一个二维数组int[][] arr {{11,22,33},{55,66},{77,88,99}};//使用双重for循环遍历二维数组//第一层循环遍历二维数组中有几个一维数组for (int i 0; i arr.length; i) {//arr[i]是一维数组//第二层循环遍历每个一维数组for(int j 0 ; j arr[i].length ; j) {System.out.println(二维数组中第(i1)个一维数组里的元素arr[i][j]);}}}}5. 内存分析对于一个二维数组来说比如int[][] array{{10,0,0,20,0},{0,30,40,0,0},{0,0,0,0,0}};这个二维数组的结构如下图所示array[0]会获取array数组的第1个元素因为array数组的每个元素都是一个一维数组因此array[0]指向的数组就是{ 10, 0, 0, 20, 0 }其他的以此类推。高维数组中的每个数据元素保存的是低位数组的首地址。所以我们访问array[0]就相当于是在访问二维数组中的第一个一维数组的首地址这样就可以得到第一个一维数组。
- 上一篇: 最便宜的重庆网站建设网站的交互性
- 下一篇: 最便宜网站建设职业技术培训
相关文章
-
最便宜的重庆网站建设网站的交互性
最便宜的重庆网站建设网站的交互性
- 技术栈
- 2026年03月21日
-
最便宜的网站空间找长期合作加工
最便宜的网站空间找长期合作加工
- 技术栈
- 2026年03月21日
-
最安全的软件下载网站网站关键字被改了
最安全的软件下载网站网站关键字被改了
- 技术栈
- 2026年03月21日
-
最便宜网站建设职业技术培训
最便宜网站建设职业技术培训
- 技术栈
- 2026年03月21日
-
最超值的手机网站建设photoshop 网站设计
最超值的手机网站建设photoshop 网站设计
- 技术栈
- 2026年03月21日
-
最超值的郑州网站建设温州网站制作的公司
最超值的郑州网站建设温州网站制作的公司
- 技术栈
- 2026年03月21日
