public static void main(String[] args) {
// TODO Auto-generated method stub
int[] ary5 = new int[3];
for(int i = 0;i < ary5.length;i++){
System.out.print("ary5[" + i + "] = " + ary5[i] + " ");
}
System.out.println();
ary5 = new int[]{2,3,44,5,4,3,34,34,2};
for(int i = 0;i < ary5.length;i++){
System.out.print("ary5[" + i + "] = " + ary5[i] + " ");
}
System.out.println();
int[] arry = ary5;
for(int i = 0;i < arry.length;i++){
System.out.print("arry[" + i + "] = " + arry[i] + " ");
}
System.out.println();
//不建议使用的声明数组变量的方法
int ary8[]; //等价于int[] ary8 此做法是为了c语言习惯兼容
//数组变量的赋值
int[] ary10 = new int[3];
ary10[1] = 10;
int[] ary11 = new int[]{4,5,6,7};
for(int i = 0;i < ary11.length;i++){
System.out.print("ary11[" + i + "] = " + ary11[i] + " ");
}
System.out.println();
ary11 = ary10;
for(int i = 0;i < ary10.length;i++){
System.out.print("ary11[" + i + "] = " + ary11[i] + " ");
}
System.out.println();
//数组复制不能使用引用的方法,应使用下面方法
int[] ary12 = new int[ary11.length];
for(int i = 0 ; i < ary11.length;i++){
ary12[i] = ary11[i];
}
System.out.println(Arrays.toString(ary12));
//java5以后的 api提供的更加简洁的赋值方法
int[] arrarCopy = Arrays.copyOf(ary12,ary12.length);
System.out.println(Arrays.toString(arrarCopy));
System.out.println(arrarCopy.length);
//java API提供了“高效”数组对象赋值方法,采用c实现
int[] arrayCopy1 = new int[]{1,2,3,4,5};
int[] arrayCopy2 = new int[arrayCopy1.length];
System.arraycopy(arrayCopy1, 0, arrayCopy2, 0, arrayCopy1.length);
System.out.println(Arrays.toString(arrayCopy2));
//可以采用复制数组对象到新的数组中,新数组的长度超过原数组,用这种方式变通实现数组的容量改变
//类似音乐播放器的播放列表
int[] array1 = {6,7,8};
int[] temp = Arrays.copyOf(array1, array1.length + 1);
array1 = temp; //重新对array1赋值,这样就改变了器长度
array1[array1.length -1] = 9;
System.out.println(Arrays.toString(array1));
}