黑马程序员——数组

来源:互联网 发布:unity3d打不开 编辑:程序博客网 时间:2024/06/01 09:26

---------------------- ASP.Net+Android+IO开发S、.Net培训、期待与您交流! ----------------------

什么是数组?


它是一个容器,装着同种类型的数据。

 

//创建数组的格式://格式1:元素类型[] 数组名=new 元素名称[元素长度或数组长度];int [] arr=new int[3];//格式2:元素类型[] 数组名=new 元素名称[//]{元素1,元素2,...}int [] arr1=new int[]{1,2,3};//格式3:元素类型[] 数组名={元素1,元素2...}int2 arr={4,5,6};

 

数组在内存?


int [] arr=new int [4];

arr [0]=1;

这两句代码在内存中的过程: 首先引用变量arr会进入栈,而new 会在堆内存中开辟空间,长度为4,并且每个角标上的值默认初始化为0,赋值运算符把数组的内存地址赋给了栈内存中的arr,即arr引用了堆内存的数组。第二句代码中堆内存中arr数组的第一个角标被赋予为1。如果堆内存的对象没有对它的引用,会在某一时刻被JVM的垃圾回收机制所回收。

(注意:int,byte,short类型默认初始化为0,float类型默认初始化为0.0f,double类型默认初始化为0.0,boolean类型的默认初始化为false,引用类型默认初始化为null。)


关于二维数组


可以简单理解为数组中的数组,数组本身是个容器容纳不同类型的数据,当然数组里面也可以容纳数组类型。


// 1.创建一个二维数组,里面有3个int类型的一维数组,每个数组长度为3int [] [] arr=new int [3] [3];// 2. 创建二维数组,里面有3个int类型一维数组,每个一维数组长度不都一样,每个一维数组默认初始化都是null;int [] [] arr1=new int [3] [];arr1 [0] =new int [1,2,3];arr1[1] =new int [4,5,6];// System.out.println(arr1[2] []); 这一句打印出来会是null,第三个数组没有给初始化,所以JVM给它默认初始化为null。

---------------------- ASP.Net+Android+IOS开发、.Net培训、期待与您交流! ----------------------详细请查看:http://edu.csdn.net
原创粉丝点击