数组

简介:
例如:
       现在要定义100个整型变量:i1i2…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{
         public static void main(String args[]){
                   //  定义 100 个元素的整型数组
                   //  数组的初始值最好是 null
                   //  如果数组为 null ,则表示暂时还无法使用
                   int i[] = null ;
                   //  为数组开辟使用大小
                   i = new int[10] ;
                   //  访问数组,通过数组名 [ 下标 ]
                   //  下标从 0 开始,即,如果是 10 个元素,则下标范围是 0~9
                   //  动态的取得数组长度的操作:数组名称 .length
                   //  也可以通过循环为数组中的每个元素赋值
                   //  现在按以下格式为数组中的内容初始化: i[0] = 0 i[1] = 1 ,依次类推
                   //  此种初始化,称为动态初始化
                   for(int x=0;x<i.length;x++){
                            i[x] = x ;
                   }
                   for(int x=0;x<i.length;x++){
                            System.out.print("i["+x+"] = "+i[x]+"\t") ;
                   }
         }
};
 
回顾:
       Java中数组属于引用类型,所以,只要是引用数据类型都会牵扯到内存地址的分配问题,在java中通过new关键字为数组分配空间。
       如果声明了一个数组(int i[]),则数组名称会保存在栈内存里,此时的数组,没有大小,不能使用,如果使用则肯定出错。
       之后通过new关键字,在堆内存中为数组开辟空间,同时把空间的使用权给了数组名称。空间中的每个元素都是默认值,整数的为“0
 
数组的使用规律:
       · 先为数组在栈内存中开辟空间
       · 再通过new关键字,为数组在堆内存中开辟元素的大小
       · 之后才可以使用数组(因为已经存在堆内存空间了)。
 
 
现在的开发中基本上都是使用一维数组,多维数组使用较少。
public class Demo21{
         public static void main(String args[]){
                   int i[][] = null ;
                   i = new int[2][3] ;
                   for(int x=0;x<i.length;x++){
                            for(int y=0;y<i[x].length;y++){
                                     i[x][y] = x*y ;
                            }
                   }
                   for(int x=0;x<i.length;x++){
                            for(int y=0;y<i[x].length;y++){
                                     System.out.print("i["+x+"]["+y+"] = "+i[x][y]+"\t") ;
                            }
                   }
         }
};
 
一维数组的静态初始化,之前所讲解的全部数组都属于动态初始化,即:为数组开辟空间的时候,没有为其指定内容,而是之后通过代码赋上内容的,所以此操作称为动态初始化。
       静态初始化就是在数组声明的时候直接给出值。
 
public class Demo22{
         public static void main(String args[]){
                   int i[] = {1,2,3,4,5,6,7,8,9,0} ;
                   for(int x=0;x<i.length;x++){
                            System.out.print("i["+x+"] = "+i[x]+"\t") ;
                   }
         }
};









本文转自 李兴华 51CTO博客,原文链接:http://blog.51cto.com/lixinghua/91226,如需转载请自行联系原作者
目录
相关文章
|
2月前
|
存储 算法 C++
c++数组详细介绍(二)
c++数组详细介绍(二)
73 0
|
1月前
|
编译器 C++
C++系列四:数组
C++系列四:数组
|
2月前
数组练习2
数组练习2。
17 2
|
2月前
|
存储 程序员 C++
|
3月前
|
存储 人工智能 算法
4.为何数组下表从0开始
4.为何数组下表从0开始
36 1
|
4月前
|
存储 编译器 程序员
数组详解
数组详解
43 0
|
5月前
|
机器学习/深度学习 Java
【数组的使用】
【数组的使用】
33 0
|
8月前
数组相关练习
数组相关练习
35 0
|
8月前
|
存储 编译器 C语言
C语言知识点之 数组
C语言知识点之 数组
48 0
|
8月前
|
存储 编译器 程序员