javaCode二维数组
2015-11-06 03:39
423 查看
二维数组
简单说:二维数组就是,数组里面装着数组。
通俗说:一个箱子里面,装着多个箱子。箱子才装着苹果(元素)。
定义格式:int[][] arr=new int[3][2];
定义了一个arr的二维数组。
这个arr的二维数组里面有三个一维的数组。
每一个一维数组里面有2个元素。
一维数组的名字arr[0],arr[1],arr[2]
给二维数组赋值数据:
arr[0] [0]=78;给二维数组里面的第一个一维数组的第一个元素赋值为78。
arr[2][1]=90;给二维数组里面第三个一维数组的的第2个元素赋值为
90;
二维数据的内存图解
首先主函数会先进栈,然后先声明一个arr的对象。
在堆内存中开辟空间,开辟出三个一维数组的对象。名称分别是
arr[0],arr[1],arr[2]。然后生成地址值给赋值给arr.
然后在开辟空间,分别是这三个一维数组存储数据的地方。
之后便生成了地址。给自己所属的一维数组的对象引用。
对象的默认初始化值为null。int类型为0;
arr[1][1];这句代码的意思就是,arr这个对象里面为arr[1]这个对象的第二个数据的值。 图片上面显示的为88。
arr[1][2];这个2角标是不存在的,所以的角标越界异常。
第二种定义二维数组的格式
格式2:int[][] arr=new int[3][];
二维数组中有3个一维数组
每个一维数组都是默认初始化值null
可以对这个三个一维数组分别进行初始化
arr[0] =new int[3];一维数组里面有3个元素
arr[1] =new int[1]; 一维数组里面有1个元素
arr[2] =new int[2];一维数组里面有2个元素
首先主函数进栈,然后生成对象arr。在堆内存中生成三个一维数组,分别是arr[0],arr[1],arr[2]。产生地址值0x0045,赋值给arr。
然后分别初始化维null。然后还在栈内存中开辟空间,然后在开辟空间,分别是这三个一维数组存储数据的地方。arr[0]开辟2个空间,arr[1]开辟一个空间,arr[2]开辟3个空间。来存放元素。产生的地址值,分别赋值给其对应的一维数组对象。这三个存储元素的空间默认的初始化值为0。
简单说:二维数组就是,数组里面装着数组。
通俗说:一个箱子里面,装着多个箱子。箱子才装着苹果(元素)。
定义格式:int[][] arr=new int[3][2];
定义了一个arr的二维数组。
这个arr的二维数组里面有三个一维的数组。
每一个一维数组里面有2个元素。
一维数组的名字arr[0],arr[1],arr[2]
给二维数组赋值数据:
arr[0] [0]=78;给二维数组里面的第一个一维数组的第一个元素赋值为78。
arr[2][1]=90;给二维数组里面第三个一维数组的的第2个元素赋值为
90;
public class Demo{ public static void main(String[] args){ int[][] arr=new int[3][2];//创建一个二维数组。该数组中有三个一维数组,每一个一维数组中有2个元素 System.out.println(arr);//直接打印二维数组。[[I@55e55f System.out.println(arr[0]);//直接打印二维数组中的角标0的一维数组。[I@55e55f System.out.println(arr[0][0]);//直接打印二维数组中的角标0的一维数组中角标0的元素。 } }
二维数据的内存图解
int[][] arr=new int[3][2];//进行内存图解分析。
首先主函数会先进栈,然后先声明一个arr的对象。
在堆内存中开辟空间,开辟出三个一维数组的对象。名称分别是
arr[0],arr[1],arr[2]。然后生成地址值给赋值给arr.
然后在开辟空间,分别是这三个一维数组存储数据的地方。
之后便生成了地址。给自己所属的一维数组的对象引用。
对象的默认初始化值为null。int类型为0;
arr[1][1];这句代码的意思就是,arr这个对象里面为arr[1]这个对象的第二个数据的值。 图片上面显示的为88。
arr[1][2];这个2角标是不存在的,所以的角标越界异常。
第二种定义二维数组的格式
格式2:int[][] arr=new int[3][];
二维数组中有3个一维数组
每个一维数组都是默认初始化值null
可以对这个三个一维数组分别进行初始化
arr[0] =new int[3];一维数组里面有3个元素
arr[1] =new int[1]; 一维数组里面有1个元素
arr[2] =new int[2];一维数组里面有2个元素
首先主函数进栈,然后生成对象arr。在堆内存中生成三个一维数组,分别是arr[0],arr[1],arr[2]。产生地址值0x0045,赋值给arr。
然后分别初始化维null。然后还在栈内存中开辟空间,然后在开辟空间,分别是这三个一维数组存储数据的地方。arr[0]开辟2个空间,arr[1]开辟一个空间,arr[2]开辟3个空间。来存放元素。产生的地址值,分别赋值给其对应的一维数组对象。这三个存储元素的空间默认的初始化值为0。
public class Demo{ public static void main(String[] args){ // int[][] arr=new int[3][2]; // System.out.println(arr.length);//打印二维数组的长度,其实就是一维数组的个数。3 // System.out.println(arr[1].length);//打印二维数组中角标位1一维数组的长度。2 int[][] arr={{3,1,7},{5,8,2,9},{4,1}}; int sum=0; for(int x=0;x<arr.length;x++){ for(int y=0;y<arr[x].length;y++){ sum=sum+arr[x][y]; } } System.out.println(sum); } }
相关文章推荐
- java对世界各个时区(TimeZone)的通用转换处理方法(转载)
- java-注解annotation
- java-模拟tomcat服务器
- java-用HttpURLConnection发送Http请求.
- java-WEB中的监听器Lisener
- Android IPC进程间通讯机制
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- 介绍一款信息管理系统的开源框架---jeecg
- 聚类算法之kmeans算法java版本
- java实现 PageRank算法
- PropertyChangeListener简单理解
- 插入排序
- 冒泡排序
- 堆排序
- 快速排序
- 二叉查找树
- [原创]java局域网聊天系统