365被限制了让提款-365提款-28365365体育在线投注

二维数组及遍历

二维数组及遍历

二维数组及遍历

概念初始化方式详解遍历

我在前面的博文详细说过一维数组的概念初始化方式及遍历,今天这篇博文,可以看过前面博文的会很容易接受,前置博文,请直接点击链接跳转。

什么是二维数组,二维数组和一维数组一样,一维数组存放元素,二维数组存放一维数组,实质也是存储数据的一个容器对象。

二维数组在定义上和一维数组一样,动态初始化和静态初始化。

二维数组的动态初始化方式 数据类型[][]数组名称 = new 数据类型[一维数组的个数] [ 每一个一维数组的元素个数 ] 左边可以写成:

数据类型[][]数组名称数据类型 数组名称[][]数据类型[]数组名称[]

右边可以写成:

一维数组的个数:有几个值信息int [][]arr = new int [3][2] 代表的是每一个一维数组的个数:每个一维数组有几个元素信息

下面穿插个案例,更加深入的演示动态初始化:

public static void main(String [] args){

//定义int类型的二维数组

int[][] arrs= new int [3][2];

System.out.println(arrs);

}

这样我们就得到了一个二维数组,我们可以使用toString方法来做字符串输出:

Arrays.toString(arrs);

运行该程序,我们会发现得到三个地址信息,这个在一维数组的时候有讲解,具体看下图:

这个和我们当初看一维数组是一样的,绿色圈圈是一个一维数组,arrs指向堆里new出来的二维数组地址。所以输出的是地址信息。数组如果不赋值都是由初始值. 我们可以对二维数组里的每一个一维数组进行赋值:

//赋值

arrs[0][0]=1;

arrs[0][0]=2;

arrs[1][0]=3;

arrs[1][1]=4;

arrs[2][0]=5;

arrs[2][1]=6;

我们一样可以用toString方法进行输出,

[1,2]

[3,4]

[5,6]

给大家一张赋值后的图 二维数组的静态初始化方式

数据类型[][]数组名称 = new 数据类型[][]{{},{},{},{},{},{}};

简写:数据类型[][]数组名称 ={{},{},{},{},{},{}}; 因为二维数组和一维数组太多相同点了,这里同样一个案例:

//静态初始化

int[][] arrs={{1,2,3},{4,5},{6,7,8}};

这里的每一个{}都代表一个一维数组;

二维数组的遍历

什么是遍历二维数组? 所谓的遍历二维数组,实际是遍历一维数组,然后遍历每个一维数组的信息。

常用方法:forfor循环 方法解析:

//外循环遍历有几个一维数组

for(;;;){

//内循环遍历每一个一维数组的元素

for(;;;){

...

}

}

我们通过上面的方法解析,会有一种看前面说的打印图形的感觉。 下面走几个案例;

案例1:获取二维数组的元素个数。 主函数

public static void main(String [] args){

int count = getCount(b);

System.out.println("个数为:"+count);

}

功能函数

/*

* 分析:

* 1.返回类型 int

* 2.函数名称 getCount

* 3.未知内容参与 int[][]arrs

*/

public static int getCount(int[][]arrs){

//定义一个标识存放元素个数

int count = 0;

//外循环遍历有多少个一维数组

for(int i = 0; i

//内循环遍历每一个一维数组的元素

for(int j = 0; j

count++; //如果有元素,计数标识+1

}

}

return count; //返回count给调用方

}

案例2:西蒙公司的2018年度销售总额如图:

季度销售额(万元)第一季度22,66,44第二季度100,150,180第三季度300.240.180第四季度11,33,19

请帮西蒙财务统计下当年销售总额; 分析:

把以上的数据用二维数组来表示如何统计sum信息(遍历二维数组,相加求和)定义标识,存放sum信息 int sum=0;依次把遍历到的信息存放到sum中输出打印sum信息

public static void main(String []args){

//把以上的数据用二维数组来表示

int [][] nums={{22,66,44},{100,150,180},{300,240,180},{11,33,19}};

//遍历二维数组

int sum = 0;

//外循环遍历有多少个一维数组

for(int i =0;i

//内循环遍历每一个一维数组的元素

for(int j = 0;j

sum+=nums[i][j]; //依次相加到sum中

}

}

System.out.println("西蒙公司年销售总额为:"+sum);

}

上面我们也可以进行功能函数抽取,优化代码;

public static int getSum(int [][] nums){

int sum = 0;

//外循环遍历有多少个一维数组

for(int i =0;i

//内循环遍历每一个一维数组的元素

for(int j = 0;j

sum+=nums[i][j]; //依次相加到sum中

}

}

return sum;

}

simon:学习二维数组,要综合一维数组来,两种数组的遍历方式有少许不同。

纯手敲,觉得好的可以点个心哦,有任何建议,请直接留言。谢谢!