数组是多个相同类型的数据按一定顺序排列的集合通过编号(下标或索引:index)统一管理,其有如下特点
数组是有序的
数组属于引用数据类型,但是数组的元素,既可以可以是基本数据类型,也可以是引用数据类型。
创建数组会在内存中开辟一串连续的空间
数组的长度一旦确定就不能修改
数组的初始化:
// 静态初始化
int[] arr2 = new int[]{111, 2222, 333, 5555}; //长度4个
// 动态初始化,长度8个,未赋值的索引的元素的值为该数组类型的默认值
int[] arr1 = new int[8];
arr1[0] = 123;
arr[5] = 1234;
arr[8] = 12; // 报错,数组越界,不能超过上限
String[] str1 = new String[5];
str1[0] = "revian";
//访问数组
System.out.println(str1[0])
//长度
System.out.println(arr2.length); // 属性
System.out.println(Arrays.stream(arr2).count()); //使用Arrays工具
//二维数组
int[][] arr1 = new int[4][3];
System.out.println(Arrays.toString(arr1[1]));
System.out.println(arr1[1][2]);
String[][] str1 = new String[4][3];
System.out.println(str1); //[[Ljava.lang.String;@3d82c5f3
//数组的反转
public void test07() {
String[] str1 = new String[]{"aa", "bb", "cc", "dd", "ee", "ff"};
for (int i = 0; i < str1.length / 2; i++) {
String temp = str1[str1.length - i - 1];
str1[str1.length - i - 1] = str1[i];
str1[i] = temp;
}
System.out.println(Arrays.toString(str1));
String[] str2 = new String[]{"AA", "BB", "CC", "DD", "EE", "FF"};
for (int i = 0, j = str2.length -1; i < j ;i++,j--) {
String tmp = str2[i];
str2[i] = str2[j];
str2[j] = tmp;
}
System.out.println(Arrays.toString(str2));
}