JavaSE——day7二维数组

原创 2018年04月16日 18:36:16

二维数组的格式

五种定义格式:

格式1 : 数据类型[][] 数组名 = new 数据类型[m][n] ;
               int[][] arr = new int[2][3]; //创建一个两行三列的数组 arr                                        

格式2 : 数据类型[] 数组名[] = new 数据类型[m][n] ;
                int[] arr[] = new 数据类型[2][3] ;//创建一个两行三列二维数组arr

格式3 : 数据类型 数组名[][] =  new 数据类型[m][n] ;

                int arr[][] = new int[m][n] ;

格式4 : 数据类型[][] 数组名  = new 数据格式[m][] ; 

                int[][] arr =  new int[3][] ;
    解释:格式4我们建立m个一维数组,每个一维数组的长度动态给定

                    动态给定一维数组长度的方法:
                    int[0] = new int[2]; //给定第1个一维数组的长度为2 
                    int[1] = new int[6]; //给定第2个一维数组的长度为6
                    int[2] = new int[3]; //给定第3个一维数组的长度为3
            这种格式我们无法省略m位的值,因为二维数组每个组成的一维数组都需要申请内存,所以必须得确定。
      C语言与Java中二维数组最大的不同之处就是C语言是面向过程的思想,而Java是面向对象的思想,所以Java在定义二维数组时需要先申请一块内存。Java中二维数组的组成是 int[3]--->int[3][2]。即先在堆内存中开辟一个空间用来存放每个一维数组的地址值,再在堆内存中申请每个一维数组的堆内存。
                

格式5 : 静态初始化      数据类型[][] 数组名称 ={{元素1,元素2,元素3,...},{...},...}

二维数组的遍历

        我们先静态初始化一个二维数组

		int[][] arr = {{1,2,3},{3,3,3},{2,2,2,2,2},{1}};

然后我们进行遍历:

		for(int x = 0 ; x < arr.length ; x++) {//一维数组个数遍历
			for(int y = 0 ; y <arr[x].length ; y++) {//一维数组的元素数遍历
				System.out.print(arr[x][y]);
				if(y == arr[x].length-1) {//如果是这个一维数组的最后一个元素,换行
					System.out.println();
				}
			}
		}

    我们在遍历二维数组的列数时,对于列数我们可以用arr[x].length得出,这个是我在初学时没有太在意的东西。下面是创建二维数组的内存变化图:

例子:

/***
 * 练习:
	公司年销售额求和
	某公司按照季度和月份统计的数据如下:单位(万元)
	第一季度:22,66,44
	第二季度:77,33,88
	第三季度:25,45,65
	第四季度:11,66,99
 * @author malaganguo
 *
 */
class Summoney{
	public static void Sumfest(int arr[][]) {
		int sumfest = 0 ;
		for(int x = 0 ; x < arr.length ; x++) {
			for(int y = 0 ;y < arr[x].length ;y++) {
				sumfest += arr[x][y];
			}
			System.out.println("第" + (x+1) +"季度的总营业额为:"+sumfest+"元");
			sumfest = 0;
		}
	}
	public static void Sum(int arr[][]) {
		int sum = 0;
		for(int x = 0 ;x < arr.length ; x++) {
			for(int y = 0; y < arr[x].length ; y++) {
				sum += arr[x][y];
			}
		}
		System.out.println("总营业额为:"+sum + "元");
	}
}
public class ArrayTest2 {

	public static void main(String[] args) {
		int[][] arr = {{22,66,44},{77,33,88},{25,45,65},{11,66,99}};
		Summoney.Sumfest(arr);
		Summoney.Sum(arr);
	}

}


大数据第一季--Hadoop(day7)

大数据第一季--Hadoop(day7)
  • 2017年01月24日 11:49

LOJ #6077. 「2017 山东一轮集训 Day7」逆序对

链接:https://loj.mcfx.us/problem/6077 题解:DP 首先注意到如果从小到大填进去第i个数,那么逆序对会增加[0, i - 1]个 问题转化为:∑x[i] = k, 0 ...
  • wxh010910
  • wxh010910
  • 2017-07-05 18:57:34
  • 623

LOJ 6043 「雅礼集训 2017 Day7」蛐蛐国的修墙方案

搜索+贪心因为要有解,所以把给出的置换连边形成的图一定是若干简单偶环。然后想了半天贪心,发现什么策略都找不到……考虑爆搜,直接搜索是O(2n2n)O(2^{n\over2}n)的,注意到如果环大小为2...
  • ziqian2000
  • ziqian2000
  • 2017-06-24 21:50:47
  • 263

[容斥 DP] LOJ#6077. 「2017 山东一轮集训 Day7」逆序对

考虑从小到大加入一个数,加入 ii 时会增加大于0小于 ii 对逆序对那么就相当于求 ∑ai=k\sum a_{i} = k 的方案数,其中 ai...
  • Coldef
  • Coldef
  • 2017-10-16 15:23:01
  • 283

雅礼集训2017Day7事情的相似度

bitset帮助离线合并实现O(n/w)然后暴力就可以在n=100000时为所欲为其实还是有点思想,从大到小枚举height值,这样每次涉及到的问题的答案一定是height另外离线会MLE?那就分两次...
  • qq_35950004
  • qq_35950004
  • 2018-01-18 17:44:36
  • 84

#6042. 「雅礼集训 2017 Day7」跳蚤王国的宰相

#6042. 「雅礼集训 2017 Day7」跳蚤王国的宰相内存限制:1024 MiB时间限制:2000 ms标准输入输出题目类型:传统评测方式:文本比较上传者: 匿名提交提交记录统计讨论测试数据题目...
  • qq_35950004
  • qq_35950004
  • 2018-01-18 19:41:24
  • 68

[费用流]LOJ#6079. 「2017 山东一轮集训 Day7」养猫

DescriptionDescription你养了一只猫,为了让它快乐地成长,你需要合理地安排它每天的作息时间。假设一天分为nn个时刻,猫在每个时刻要么是吃东西,要么是睡觉。在第ii个时刻,假如猫是去...
  • Vectorxj
  • Vectorxj
  • 2017-10-12 18:29:59
  • 294

LOJ 6041 「雅礼集训 2017 Day7」事情的相似度

LCT+SAM+线段树问一个区间里的前缀之间的最长公共后缀,考虑SAM一发,建出反串后缀树,然后求最长公共后缀就变成求最深的LCA。直接维护区间的答案不好做,因此考虑一些离线的算法。莫队不知道能不能做...
  • ziqian2000
  • ziqian2000
  • 2017-06-24 17:34:53
  • 545

DAY7图论

早上考试 我是真的不想说什么了。第一题一开始以为是数论,其实就是道数学题而已。第二第三都是图论。我第一次对生活感到绝望,然后我就放弃挣扎了。而且一开始我是真的困,我睡了一个半小时。唉 下午图论...
  • zjh_2017
  • zjh_2017
  • 2018-02-11 15:47:02
  • 27

Javascript 笔记 DAY7

//with语句 将代码的作用域设置到一个特定对象中。定义with主要是 //为了简化多次编写同一个对象的工作 例如: // var qs = location.search.substr...
  • zz210891470
  • zz210891470
  • 2016-12-06 22:50:35
  • 90
收藏助手
不良信息举报
您举报文章:JavaSE——day7二维数组
举报原因:
原因补充:

(最多只允许输入30个字)