直接上代码,练习加注释理解
import java.util.Arrays;
public class Array {
public static void main(String[] args) {
// 动态声明数组
String[] str1 = new String[10]; // 方法一
str1[0] = "a";
str1[1] = "b";
String[] str2 = null; // 方法二
str2 = new String[10];
// 静态声明数组
int[] int1 = {1,2,3,4}; // 方法一,简写版
int[] int2 = new int[]{2,3,4,5}; // 方法二,尽量使用完整版
// int[] int3 = new int[4]{1,2,3,4}; 错误,[4]与{1,2,3,4}不能并存
// 两种循环
for (int x:int2){
System.out.println(x);
}
// for (int j = 0;j<str1.length;j++){
// System.out.println(str1[j]);
// }
// 三个方法
//System.arraycopy();复制方法
System.arraycopy(int1,2,int2,2,2); // 复制int1索引2开始,到int2索引2位置开始,2个长度
// [2,3] int2初始,[3,4] int1复制到int2的值,结果[2,3,3,4],长度超过数组长度会报错
System.out.println("复制之后的int2");
for (int x:int2){
System.out.println(x);
}
// 转换字符串数组,有数字组成的数组不能直接输出
System.out.println(Arrays.toString(str1));
System.out.println(Arrays.toString(int1));
// 扩容
int[] int3 = Arrays.copyOf(int2,5);
int3[4] = 5;
System.out.println(Arrays.toString(int3)); // 新增容量,不赋值默认为0 [2, 3, 3, 4, 0]
}
}