JAVA之数组

数组的变相扩容:

int[] arr1={2,3,4,5};
int[] arr4=Arrays.copyOf(arr1,arr1.length+1); //数组扩容后,扩容元素的默认值为0  //数组的长度使用的是数组的属性,.length后没有括弧
System.out.println(Arrays.toString(arr4));
arr4[arr4.length-1]=7;
System.out.println(Arrays.toString(arr4));

//结果:
//            [2, 3, 4, 5, 0]
//            [2, 3, 4, 5, 7]

 数组的复制:

有两种方式,System.arraycopy()和Arrays.copyOf(),第一种不常用,了解即可。

int[] arr1={2,3,4,5};
int[] arr2=new int[4];
System.arraycopy(arr1,0,arr2,0,4); 
//结果:
//     [2, 3, 4, 5]
int[] arr1={2,3,4,5};
int[] arr2=new int[4];
int[] arr3=Arrays.copyOf(arr1,4);
System.out.println(Arrays.toString(arr3));
//结果:
//     [2, 3, 4, 5]

数组的初始化:

int[] arr;  //建议使用这种方式新建
int arr1[]; //这种是方便C程序员的写作习惯制定的
int[] arr2 = {1, 2, 3, 4};
int[] arr3 = new int[4]; //默认4个元素存储的都是0,如果数组新建后不赋值,就默认为数据类型对应的初始值
int[] arr4 = new int[]{2, 3, 4, 5};
//静态初始化只能在数组声明的同时进行初始化操作
int[] arr5;
arr5 = new int[]{};

打印二维数组:

Arrays.deepToString()方法可以打印二维数组。

int[][] arr4=new int[4][3];
for(int i=0;i<arr4.length;i++){
     for(int j=0;j<arr4[i].length;j++){
          arr4[i][j]=i*j;
     }
}
System.out.println(Arrays.deepToString(arr4));
//结果:
//            [[0, 0, 0], [0, 1, 2], [0, 2, 4], [0, 3, 6]]
每天进步一点点,快乐生活多一点。
原文地址:https://www.cnblogs.com/yiruliu/p/10775407.html