4.数组的使用
  当定义一个数组,初始化后相当于定义了多个相同类型的变量。通过索引使用数组元素时,可将其作为普通变量的使用。
class Cat
{
double weight;
int age;
public Cat(double weight , int age)
{
this.weight = weight;
this.age = age;
}
}
public class ArrayTest
{
public static void main(String[] args)
{
// 定义,并动态初始化一个int[]数组
int[] pos = new int[5];
// 采用循环为每个数组元素赋值
for (int i = 0; i < pos.length ; i++ )
{
pos[i] = (i + 1) * 2;
}
// 对于pos数组的元素来说,用起来完全等同于普通变量
// 下面即可将数组元素的值赋给int变量,
// 也可将int变量的值赋给数组元素
int a = pos[1];
int b = 20;
pos[2] = b;
// 定义,并动态初始化一个Cat[]数组
Cat[] cats = new Cat[2];
cats[0] = new Cat(3.34, 2);
// 将cats数组的第1个元素的值赋给c1。
Cat c1 = cats[0];
Cat c2 = new Cat(4.3, 3);
// 将c2的值赋给cats数组的第2个元素
cats[1] = c2;
}
}
  上述代码中,相关的内存分配图示意图:

  5.多维数组
  对于 int 类型,添加 [] 后是一个数组类型,若以 int[] 类型为已有类型,则增加一个 [] , int[][] ,也是一个数组类型。因此,所谓的多维数组,其数组元素依然是一个数组,即N维数组,是数组元素为N-1维数组的一维数组。
  如下示例:
  int[][] a = new int[4][];
  a[0] = new int[2];
  a[0][1] = 6;
  内存空间分配图:

  如果将其扩展成三维数组,则6所对应的数组元素指向两一个数组。
  多维数组的本质是一维数组。