4.2.1一维数组
数组元素类型决定了数组的数据类型。它可以是Java中任意的数据类型,包括基本数据类型和其他引用类型。数组名字为一个合法的标识符,符号“[ ]”指明该变量是一个数组类型变量。单个“[ ]”表示要创建的数组是一个一维数组。
声明一维数组有两种方式:
1. 数组元素类型 数组名字[ ] ;
2.数组元素类型[ ] 数组名字;
声明一维数组,语法如下:
int arr [ ] ; // 声明int型数组,数组中的每个元素都是int型数值
double[ ] dou; // 声明double型数组,数组中的每个元素都是double型数值
声明数组后,还不能访问它的任何元素,因为声明数组只是给出了数组名字和元素的数据类型。要想真正使用数组,还要为它分配内存空间。在为数组分配内存空间时必须指明数组的长度。
数组的下标是从0开始的。由于创建的数组 arr 中有个元素,因此数组中素的下标为0~4。
在声明数组的同时也可以为数组分配内存空间,这种创建数组的方法是将数组的声明和内存的
分配合在一起执行,语法如下:
数组元素类型 数组名 = new 数组元素类型 [ 数组元素的个数 ];
声明并为数组分配内存,语法如下:
int month [ ] = new int [12];
上面的代码创建数组month,并指定了数组长度为12。这种创建数组的方法也是 Java 程序编写
过程中普遍的做法。
4.2.2 初始化一维数组
数组可以与基本数据类型一样进行初始化操作,也就是赋初值。数组的初始化可分别初始化数组的每个元素。其中有以下三种方法:
int a[]={1,2,3}; //第一种方法
int b[]=new int[]{4,5,6}; //第二种方法
int c[]=new int[3]; //第三种方法
c[0]=7; //给第一个元素赋值
c[1]=8; //给第二个元素赋值
c[2]=9; //给第三个元素赋值
4.2.3 获取数组长度
我们初始化一维数组的时候都会在内存中分配内存空间,内存空间的大小决定了一维数组能够存储多少个元素,也就是数组长度。如果我们不知道数组是如何分配内存空间的,可以使用数组对象自带的 length 属性。语法如下:
arr.length // arr数组名,length数组长度属性返回int值
代码如下:
public class L2 { //创建名为L2的类
public static void main(String[]args){
char a[]={'A','B','C','D'}; //创建一维数组
System.out.println("数组a的长度为:"+a.length); //输出
char b[]=a; //创建一维数组b,直接等于数组a
System.out.println("数组b的长度为:"+b.length); //输出
}
}
运行结果为:
4.2.4 使用一维数组
在Java中,一维数组是最常见的一种数据结构。
代码如下:
public class L2 { //创建名为L2的类
public static void main(String[] args) {
int day[]=new int[]{31,28,31,30,31,30,31,31,30,31,30,31}; //创建并初始化一维数组
for(int i=0;i<12;i++)
{ //利用循环将信息输出
System.out.println((i+1)+"月有"+day[i]+"天"); //输出的信息
}
}
}
运行结果为:
4.3 二维数组
二维数组常用于表示表,表中的信息以行和列的形式表示,第一个下标代表元素所在的行,第二个下表代表列。
4.3.1 创建二维数组
二维数组可以看作是特殊的一维数组,它有两种声明方式:
1.数组元素类型 数组名字 [ ] [ ] ;
2.数组元素类型 [ ] [ ] 数组名字;
同一维数组一样,二维数组在声明时也没有分配内存空间,同时要使用关键字 new 来分配内存,才可以方问每个元素。
代码如下:
int a [ ] [ ];
a = new int [ 2 ] [ 4 ]; // 直接分配行列
int b [ ] [ ];
b = new int [ 2 ] [ ] ;