public class study01 {
public static void main(String[] args) {
// TODO Auto-generated method stub
//声明一维数组的两种方法,
int arr[];
char[] arr1; //与c/c++不同,不允许在声明数组中指定数组元素个数,如int arr[4];
//声明二维数组
char arr2[][];
float[] []arr3;
//创建数组
//arr=new int[4];//创建数组,也可声明和创建一起,如int arr=new int[4]
int arr4[]={1,2,3,4};//初始化
for(int i=0;i<arr4.length;i++) {//遍历
System.out.print(arr4[i]+",");
}
System.out.println("Arrays类直接输出数组元素是"+Arrays.toString(arr4));
//复制数组
char[] a= {'a','b','c','d','e','f'},//接连定义两个
b= {'1','2','3','4','5','6'};
int[] c= {1,2,3,4,5,6};
int[] d= {10,20,30,40,50,60};
//从数组a中的第0个位置开始复制a.length个数,复制到b中,从b中的0位置开始存放
System.arraycopy(a, 0, b, 0, a.length);
//从数组c中的第2个位置开始复制c.length-2个数,复制到d中,从b中的第二个位置开始存放
System.arraycopy(c, 2, d, 2, c.length-2);
System.out.println("数组a中元素的值"+Arrays.toString(a));
System.out.println("数组b中元素的值"+Arrays.toString(b));
System.out.println("数组c中元素的值"+Arrays.toString(c));
System.out.println("数组d中元素的值"+Arrays.toString(d));
/*输出的结果是:数组a中元素的值[a, b, c, d, e, f]
数组b中元素的值[a, b, c, d, e, f]
数组c中元素的值[1, 2, 3, 4, 5, 6]
数组d中元素的值[10, 20, 3, 4, 5, 6]
*/
// copyOf方法和copyOfRange方法
int[] e= {1,2,3,4,5,6};
//从e中复制三个数,如果复制的个数大于e中元素的个数,则加0
int[] f=Arrays.copyOf(e, 3);
//从e[1]而不是第一个开始
int[] g=Arrays.copyOfRange(e, 1, 3);
int[] h=Arrays.copyOfRange(e, 0, 6);
System.out.println("f中的元素是"+Arrays.toString(f));
System.out.println("g中的元素是"+Arrays.toString(g));
System.out.println("h中的元素是"+Arrays.toString(h));
/*
结果是:
f中的元素是[1, 2, 3]
g中的元素是[2, 3]
h中的元素是[1, 2, 3, 4, 5, 6]
*
*/
}
}