04-数组

1. 数组是什么

数组是容器,用来存放多个同一类型的数据

数组是引用数据类型

2. 数组初始化

2.1. 静态初始化

类型[] 变量名 = new 类型[]{成员值};
类型[] 变量名 = {成员值};	//简写形式

2.2. 动态初始化

动态初始化数组的默认值

类型[] 变量名 = new 类型[长度];

assets/01-入门/04-数组/IMG-20250512-175516-815.png

3. 数组的访问和遍历

4. 数组在计算机执行原理

4.1. Java 内存分配介绍

assets/01-入门/04-数组/IMG-20250512-172603-465.png


4.2. 多个数组变量指向同一个数组对象

4.3. 数组变量赋值 null

不再引用、指向任何数组对象

空指针异常。

5. Demo

5.1. 数组的最大值

private static int maxNum(int[] nums) {  
    if (nums == null) return 0;  
    if (nums.length == 1) return nums[0];  
    int max = nums[0];  
    for (int i = 1; i < nums.length; i++) {  
        if (nums[i] > max) {  
            max = nums[i];  
        }  
    }  
    return max;  
}

5.2. 数组反转

数组元素前后交换

private static void reverseArray(int[] nums) {  
    if (nums == null || nums.length == 1) return;  
    for (int front = 0, end = nums.length - 1; front < end; front++, end--) {  
        swap(nums,front,end);  
    }  
}
private static void swap(int[] nums, int i, int j) {  
    int tmp = nums[i];  
    nums[i] = nums[j];  
    nums[j] = tmp;  
}

5.3. 数组顺序打乱

private static void randomArray(int[] nums) {  
    if (nums == null || nums.length == 1) return;  
    Random random = new Random();  
    for (int i = 0; i < nums.length; i++) {  
        swap(nums, i, random.nextInt(nums.length));  
    }  
}

6. Debug 工具

快捷键 作用
Ctrl + F2 停止main方法
Ctrl + F5 重新运行main方法
Ctrl + F8 所在行打断点
Shift + F10 / Shift + Ctrl + F10 运行代码
Shift + F9 调试
F9 跳到下个断点
F8 下一步
F7 跟入方法
Shift + F8 跟出方法

上一节:03-流程控制
下一节:05-方法