浪潮优派培训java笔记:第5章 数组

第5章 数组

5.1 数组的定义

•  数组是固定的不能扩展

•  可以存储基本数据类型或对象或接口

•  通过数组名和下标可以访问各元素,下标从0开始

5.2 声明数组

•  数组的声明包括数组名和所包含的元素类型

•      声明方法: 数组类型  数组名[ ];   或   数组类型[ ] 数组名;

  例如 int age[ ]; 或 int [ ] age; 都可以。

5.3 创建数组

•    利用new 来为数组型变量分配内存空间

•    数组名=new  数组元素类型[元素个数];

 例如 age=new int[10];

      必须分配内存后才能使用数组

      两步可以合并,如:int age[ ]=new int[10];

 

5.4 数组初始化

数组的初始化:用new创建或直接静态初始化

•    一维数组:int a[]=new int[5];      // 定义并初始化

             int a[];  a=new int[5];  // 先声明后初始化

             int a[]={1,2,3,4};      // 静态初始化

             int size=5; int a[]=new int[size];//在上面通用的基础上,用变量定义数组的长度。

int a[]=new int[5]; // 此时系统为数组a中的每一个元素都初始化为0;

double d[]=new double[5];//  此时系统为数组d中的每一个元素都初始化为0.0;

String s[]=newString[5];// s[i]=null, (0<=i<=4);   s.length=5                           

•     多维数组:Java中多维数组的声明和初始化应按从高维到低维(即从左到右)的顺序进行;

必须指定高层维数,不能在空维后定义数组维!

       错误示例:int a[][][]=new int[][][]; // 高层维数未指定

int a[][][]=new int[1][][4]; //不能在空维后定义数组维

int a[][][]=new int [][][4];

       正确示例:int a[][][]=new int[1][][];

          int a[][][]=new int[1][4][];

          int a[][][]=new int[1][4][5];

总结:定义数组时,第一维必须定义!且要从高维开始定义,空维后不能定义;

二维数组的初始化

•    在Java语言中,由于把二维数组看作是数组的数组,数组空间不是连续分配的,所以不要求二维数组每一维的大小相同。

•    静态初始化        int intArray[ ][ ]={{1,2},{2,3},{3,4,5}};

•    动态初始化(难点、很重要)

int a[ ][ ] = new int[2][ ];

       a[0] = new int[3];

       a[1] = new int[5]; 

5.5 数组元素的使用

    通过下标访问数组元素,而不能只通过数组名访问整个数组。

注意:二维数组中:数组名.length返回的是数组的行数。数组名[行号].length返回的是该行的列数。

每个数组都有一个属性length指明数组的长度,例如arr.length指明数组arr的长度。注意length是属性不是方法!

5.6 数组的方法

    数组复制

      循环赋值

      System.arraycopy(src,srcPos, dest, destPos, length);

System.arraycopy(原始数组, 起始索引, 目标数组, 起始索引, 复制长度);

      注意:复制的长度不要超过目标串的长度。否则会发生异常。

      数组拷贝示例:

public class Test {

   public static void main(String[] args) {     

       int arrInt1[]={12,34,5,1,45};

       int arrInt2[]=new int[6];

       System.arraycopy(arrInt1,0, arrInt2, 1, 5);

       for (int i = 0; i < arrInt2.length; i++) {

          System.out.print(arrInt2[i]+" ");

       }

   }

}

输出结果为:0 12 34 5 1 45

    在java.util.Arrays包中:数组填充Arrays.fill( ) 

      当我们配置一个数组之后,其会依数据型态来给定默认值,例如整数数组就初始为0,您可以使用Arrays.fill()方法来将所有的元素设定为指定的值。

    在java.util.Arrays包中:数组比较Arrays.equals( ):

比较两个数组中的元素值是否全部相等,如果是将传回true,否则传回false。

    在java.util.Arrays包中:数组排序Arrays.sort(数组名):

这个方法可以对指定的数组排序,所使用的是快速排序法。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章