天天看点

数组

例如:

       现在要定义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&lt;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,如需转载请自行联系原作者

上一篇: this关键字
下一篇: static关键字