数组的主要特点如下:

  • 数组是相同数据类型元素的集合;
  • 数组中各元素按先后顺序连续存放在内存之中;
  • 每个数组元素用数组名和位置(称为下标)表达。

    1. 一维数组

    1. 声明数组

    • 格式1: 数组元素类型 数组名[] ;
    • 格式2: 数组元素类型[] 数组名 ;

其中,数组元素的类型可以是基本类型,也可以是类或接口。
例如,要保存某批学生的成绩,可以定义一个数组score,声明如下:int score[]; 或者 int [] score;

2. 创建数组空间

  1. 给已声明的数组分配空间:

数组名 = new 数组元素类型 [元素个数];
例如,score = new int[10];

  1. 在声明数组的同时给数组规定空间,两步合并。

例如:int score [ ] = new int[10];

  1. “元素个数”不要求是常量。

int[] a=new int[n];

3. 创建数组元素并初始化

格式如下:

  • 格式1:类型 数组名[ ] ={ 初值表 };
  • 格式2:类型 数组名[ ] = new 类型[ ]{ 初值表 };
  • 例如:
    • int score[ ] = {1,2,3,4,5,6,7,8,9,10};
    • int score[ ]=new int[这里不能有大小] {1,2,3,4,5,6,7,8,9,10};
  • score.length 指明数组score的长度。

    二维数组

    1. 二维数组声明

    格式1:数组元素类型 数组名[ ][ ];
    格式2:数组元素类型[ ][ ] 数组名;
    例如:int a[][];

    2. 创建二维数组空间

    二维数组看作是数组的数组,不要求二维数组每一维的大小相同
    1)直接为每一维分配空间,如:
    int a[][] = new int [2][3];
    2)从最高维开始,按由高到低的顺序分别为每一维分配空间。如:
    int a[][] = new int [2][]; a[0] = new int [3]; a[1] = new int [4];

    3.二维数组中求数组长度

  1. 要获取数组的行数,可以通过如下方式获得:

数组名.length

  1. 数组的列数则要先确定行,再通过如下方式获取列数:

数组名[行标].length

4. 创建数组元素并初始化

  • 元素是基本类型,系统将按默认规则赋初值。
  • 元素类型为其它引用类型,则其所有元素为未赋初值状态(null)。
  • 在数组定义时同时进行初始化,如:

int a[][] = {{1,2,3},{4,5,6}};
int b[][] = {{1,2},{4,5,6}};

  • 更为常见的做法是在数组定义后通过循环语句给数组赋值。
    1. public class Demo {
    2. public static void main(String[ ] args) {
    3. int [ ][ ] a = new int[4][5];
    4. int sum=0;
    5. for (int i = 0; i < a.length; i++) {
    6. for (int j = 0; j < a[i].length; j++) {
    7. a [i][j] = (int)(Math.random()*10);
    8. System.out.print(a[i][j] + "\t");
    9. if (i==0||j==0||i==a.length-1||j==a[0].length-1)
    10. sum += a[i][j];
    11. }
    12. System.out.println();
    13. }
    14. System.out.println("sum= " +sum);
    15. }
    16. }
    17. 7 9 3 7 8
    18. 8 1 5 2 8
    19. 4 2 1 5 4
    20. 1 1 1 2 6
    21. sum= 69