例如:
现在要定义100个整型变量:i1、i2…i100,所以在此情况下一般都可以建立数组,通过数组完成此种变量的定义。数组:数组就是一组相关变量的集合。每个数组总的元素类型都是一样的。
定义包含10个元素的整型数组:
类型 数组名称[] ;、类型[] 数组名称 ; à 定义了一个数组
为数组开辟空间大小的格式:
数组名称 = new 类型[大小] ;
public class Demo18{
public static void main(String args[]){
// 定义100个元素的整型数组
// 数组的初始值最好是null
// 如果数组为null,则表示暂时还无法使用
int i[] = null ;
// 为数组开辟使用大小
i = new int[10] ;
// 访问数组,通过数组名[下标]
// 下标从0开始,即,如果是10个元素,则下标范围是0~9
System.out.println(i[9]) ;
}
};
此时数组中的每个元素都是int的默认值 —— “0”。
一般数组的内容输出都是使用for循环完成的,因为已经明确的知道了数组的长度了。所以输出的时候就可以使用for循环完成。
public class Demo19{
// 动态的取得数组长度的操作:数组名称.length
// 也可以通过循环为数组中的每个元素赋值
// 现在按以下格式为数组中的内容初始化:i[0] = 0、i[1] = 1,依次类推
// 此种初始化,称为动态初始化
for(int x=0;x<i.length;x++){
i[x] = x ;
}
System.out.print("i["+x+"] = "+i[x]+"\t") ;
<b>回顾:</b>
Java中数组属于引用类型,所以,只要是引用数据类型都会牵扯到内存地址的分配问题,在java中通过new关键字为数组分配空间。
如果声明了一个数组(int i[]),则数组名称会保存在栈内存里,此时的数组,没有大小,不能使用,如果使用则肯定出错。
之后通过new关键字,在堆内存中为数组开辟空间,同时把空间的使用权给了数组名称。空间中的每个元素都是默认值,整数的为“0”;
<b>数组的使用规律:</b>
· 先为数组在栈内存中开辟空间
· 再通过new关键字,为数组在堆内存中开辟元素的大小
· 之后才可以使用数组(因为已经存在堆内存空间了)。
现在的开发中基本上都是使用一维数组,多维数组使用较少。
public class Demo21{
int i[][] = null ;
i = new int[2][3] ;
for(int y=0;y<i[x].length;y++){
i[x][y] = x*y ;
}
System.out.print("i["+x+"]["+y+"] = "+i[x][y]+"\t") ;
一维数组的静态初始化,之前所讲解的全部数组都属于动态初始化,即:为数组开辟空间的时候,没有为其指定内容,而是之后通过代码赋上内容的,所以此操作称为动态初始化。
静态初始化就是在数组声明的时候直接给出值。
public class Demo22{
int i[] = {1,2,3,4,5,6,7,8,9,0} ;
本文转自 李兴华 51CTO博客,原文链接:http://blog.51cto.com/lixinghua/91226,如需转载请自行联系原作者