当前位置: 首页 > news >正文

郴州品牌网站建设推广wordpress 统一身份认证

郴州品牌网站建设推广,wordpress 统一身份认证,企业网站建设公,邵武网站建设wzjseo1. 概念二维数组就是一种数组的数组,其本质上还是一个一维数组,只是它的数据元素又是一个一维数组。如果你对这个概念想象不出来,给大家举个栗子,相信吸烟的同学一下子就会明白。一根烟 一个变量一包烟 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*4=12个。

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

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("二维数组中第"+(i+1)+"个一维数组里的元素"+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]就相当于是在访问二维数组中的第一个一维数组的首地址,这样就可以得到第一个一维数组。

http://www.yayakq.cn/news/423334/

相关文章:

  • 个人可以做公益网站吗开发app开发公司
  • ps 怎么做网站搜索框一级a做爰片了网站
  • 怎么构建一个网站网站服务器基本配置
  • 用织梦做的网站怎样看商务网站建设的调研流程
  • 响水做网站价格做一般的公司门户网站投资额
  • 延吉网站开发公司有哪些wordpress教学
  • 公司网站建设多少钱需要做网页的是什么专业
  • 西部数码网站管理助手 xp寮步镇网站建设
  • 企业网站seo优化公司企业培训网站模板
  • 合肥高新城建设计院网站迅捷流程图在线制作网站
  • 四川平台网站建设方案公司网站数据分析
  • 中国建设管理信息网站网页制作与网站建设实战大全 光盘
  • 江南网盟-专注中小企业网站建设服务百度云资源搜索平台
  • 郴州建设网站的公司wordpress 301跳转
  • 快手刷热度推广网站wordpress 自定义 分类
  • 我做的网站怎样推广中英网站的设计
  • 建设银行网站怎么看交易记录做网站要实名吗
  • 东莞 网站 建设 雕塑关联词有哪些三年级
  • asp网站 模板邢台信息网官网
  • 主办单位性质与网站名称不符宣传册设计与制作素材
  • 如何创建一个网站卖东西设备电商网站模板
  • 姑苏网站建设做淘宝保健品药品在哪个网站找素材
  • 阿里巴巴网站网络营销的平台手机商城app开发公司
  • 农家乐网站建设通讯设备 技术支持 东莞网站建设
  • 东莞建网站抖音代运营费用明细
  • discuz网站名称温州建网站哪家好
  • 网站开发服务外包合同创建wordpress网站
  • 国内10大网站建设公司个人门户网站建设流程
  • 厚街做网站公司建站哪家好社区
  • 商丘购物网站开发设计如何开一个自己的网站