- 一位数组
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
public 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[] agrs){ //定义并动态初始化一个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; //-------(1) //定义并初始化一个Cat[]数组 Cat[] cats = new Cat[2]; cats[0] = new Cat(3.34,2); cats[1] = new Cat(3.2,2); //将cats数组的第一个元素的值赋值给c1 Cat c1 = cats[0]; Cat c2 = new Cat(4.3,3); //将c2的值赋值给cats数组的第二个元素 cats[1] = c2; //--------(2) } }
- 多维数组
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
public class ArrayTest{ public static void main(String[] agrs){ Object[] objArr = new Object[3]; objArr[1] = new Object[2];//------(1) //将objArr[1]赋值给objArr2 Object[] objArr2 = (Object[])objArr[1];//------(2) objArr2[1] = new Object[3];//------(3) //将objArr3[1]赋值给objArr3 Object[] objArr3 = (Object[])objArr2[1];//------(4) objArr3[1] = new int[5];//-------(5) int[] iArr = (int[])objArr3[1];//------(6) //依次为iArr数组的每个元素赋值 for(int i=0;i<iArr.length;i++){ iArr[i] = i*3+1; } //直接通过objArr访问iArr数组的第3个元素 System.out.println(((int[])((Object[])((Object[])objArr[1])[1])[1])[2]);//-(7) } }