一、一维数组的声明
在Java语言中,一维数组的声明方式为:
type arrayName[] 或 type[] arrayName
其中,type既可以是基本的数据类型,也可以是类,arrayName表示数组的名字,[]用来表示这个变量的类型为一维数组。与C/C++语言不同的是,在Java语言中,数组被创建后会根据数组存放的数据类型初始化成对应的初始值(例如,int类型会初始化为0,对象会初始化为null)。另外一个不同之处是Java数组在定义时,并不会给数组元素分配存储空间,因此[]中不需要指定数组的长度,但在使用时必须为之分配空间,分配方法为:
arrayName = new type[arraySize];//arraySize表示数组长度
二、一维数组的初始化
在完成数组的声明后,需要对其进行初始化,下面介绍两种初始化方法:
(1)int[] a = new int[5];//动态创建了一个包含5个整型值的数组,默认初始化为0
(2)int[] a = {1,2,3,4,5};//声明了一个数组类型变量并初始化
//在使用时也可以把数组的声明和初始化分来写,如下:
(1)int[] a;//声明一个数组类型的对象a
a = new int[5];//给数组a申请可以存放5个int类型大小的空间,默认为0
(2)int[] a;//声明一个数组类型的对象a
a = new int[]{1,2,3,4,5};//给数组申请存储空间,并初始化为默认值
三、二维数组的声明与初始化
以上介绍了一维数组的声明与初始化的方式,下面介绍二维数组的声明与初始化的方式,二维数组有3种声明的方法:
(1)type arrayName[][];
(2)type[][] arrayName;
(3)type[] arrayName[];
//需要注意的是,在声明二维数组时,其中[]必须为空。
//二维数组也可以用初始化列表的方式来进行初始化,其一般形式为:
type arrayName[][] = {{c11,c12,c13..},{c21,c22,c23..},{c31,c32,c33..}...};
//除上述方法外,也可以通过new关键字来给数组申请存储空间,形式如下:
type arrayName[][] = new type[行数][列数]
与C/C++语言不同的是,在Java语言中,二维数组的第二维的长度可以不同。假设要定义一个有两行的二维数组,第一行有两列,第二行有三列,定义方法如下:
(1)int[][] arr = {{1,2},{3,4,5}};
(2)int[][] a = new int[2][];
a[0] = new int[]{1,2};
a[1] = new int[]{3,4,5};
四、二维数组的遍历
对于二维数组的访问也是通过下标来完成,一般形式为arrayName[行号][列号],下面介绍二维数组的遍历方法:
package com.haobi;
/*
* 二维数组的遍历
*/
public class SubClass {
public static void main(String[] args) {
int a[][] = new int[2][];
a[0] = new int[] {1,2};
a[1] = new int[] {3,4,5};
System.out.println("a.length:"+a.length);//二维数组的长度
for(int i=0;i<a.length;i++) {
for(int j=0;j<a[i].length;j++) {
System.out.print(a[i][j]+" ");
}
}
}
}
//程序输出结果如下:
a.length:2
1 2 3 4 5