数组
初始化
静态初始化
int[] num1 = new int[]{1, 2, 3};
int[] num2 = {1, 2, 3, 4};
动态初始化
int[] num3 = new int[3];
num3[0] = 1;
num3[1] = 2;
num3[2] = 3;
默认初始化
int[] num4 = new int[4]; // 数组中元素的默认值根据数组类型初始化
注:默认值按照类型分配!
整数:0
浮点数:0.0
字符:‘\u0000’
布尔:false
引用类型:null
遍历
方式一
public static void main(String[] args) {
int[] num ={1, 2, 3, 2, 1}; // 数组长度为5
for (int i = 0;i < 5; i++) { // 普通for循环遍历
System.out.println(num[i]); // 输出
}
}
方式二
public static void main(String[] args) {
int[] num ={1, 2, 3, 2, 1};
for (int temp:num) { // 增强for循环
System.out.println(temp); // 输出
}
// 优点:代码简单
// 缺点:无法单纯通过该for循环进行与索引有关的操作
}
二维数组
本质上仍旧是一维数组。
区别在于:
普通一维数组的元素为对应类型的单个元素;
二维数组的元素为对应类型的数组。
int[][] array1 = new int[3][]; // 声明一个二维数组,第一个长度必须指定
System.out.println(Arrays.toString(array1[0]));
// 输出二维数组中的第一个数组,为 null,可见数组为引用数据类型
int[] array2 = {2022, 5, 23}; // 声明一个一维数组
array1[1] = array2; // 给二维数组的第二个数组赋值
System.out.println(Arrays.toString(array1[1]));
// 输出[2022, 5, 23]
// 二维数组存放的其实是每个一维数组的地址
System.out.println(array1[1]); // 输出[I@1b6d3586