Java零基础笔记06(数组:一维数组、二维数组)

发布于:2025-07-09 ⋅ 阅读:(31) ⋅ 点赞:(0)

明确: 程序是用来处理数据的, 因此要掌握数据处理的数据结构

        数组是编程中常用的数据结构之一,用于存储一系列相同类型的元素。在Java中,数组是一种对象,可以存储固定大小的相同类型元素的集合。

1.一维数组

        数组是一个数据容器,可用来存储一批同类型的数据

1.1 一维数组的初始化

1.2 一维数组的访问

public static void inputScore() {
    // 1. 你需要一个数组来存储8名学生的成绩。
    // 动态初始化数组,只确定数组的类型和存储数据的容量。不事先存入具体的数据。
    // 数据类型[] 数组名 = new 数据类型[长度];
    double[] scores = new double[8];
    // scores = [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0];
    //      0  1  2  3  4  5  6  7

    // 2. 录入8名学生的成绩,存入到数组中去
    Scanner sc = new Scanner(System.in);
    for (int i = 0; i < scores.length; i++) {
        // i = 0 1 2 3 4 5 6 7
        System.out.println("请输入第" + (i + 1) + "个学生的成绩:");
        scores[i] = sc.nextDouble();
    }

    // 3. 遍历数组,统计总分,平均分。
    double allScore = 0.0;
    for (int i = 0; i < scores.length; i++) {
        // i = 0 1 2 3 4 5 6 7
        double score = scores[i];
        // 4. 累加当前遍历到的这个分数
        allScore += score;
    }
    System.out.println("平均分:" + allScore / scores.length);
}

1.3 一维数组求最值的思想

  1. 初始化变量:首先,你需要一个变量来保存最大值(或最小值)。通常,你可以将数组的第一个元素赋值给这个变量。

  2. 遍历遍数组:然后,遍历数组中的每个元素,将它们与当前的最大值(或最小值)进行比较。

  3. 更新变量:如果发现一个元素比当前的最大值(或最小值)更大(或更小),则更新最大值(或最小值)变量。

  4. 返回结果:遍历完成后,最大值(或最小值)变量中保存的就是数组中的最大值(或最小值)。

// 设计一个方法,求数组的最大值返回。
public static int getMax(int[] arr) {
    // 1、定义一个变量用于记录当前最大值,建议用第一个数据做为参照物。
    int max = arr[0];

    // 2、从数组的第二个位置开始遍历
    for (int i = 1; i < arr.length; i++) {
        // 3、依次和参照物比较,如果比参照物大,则更新参照物。
        int data = arr[i];
        if (data > max) {
            max = data;
        }
    }
    // 4、返回最大值。
    return max;
}

1.4 一维数组的元素交换

  1. 确定交换的元素:首先,你需要知道要交换的两个元素的索引位置。例如,如果你想交换数组中索引为 ij 的两个元素,你需要记录下这两个索引。

  2. 使用临时变量:由于数组中的元素是按位置存储的,直接交换两个元素可能会导致数据丢失。因此,通常需要一个临时变量来暂存一个元素的值。

  3. 交换元素:将第一个元素的值存储到临时变量中,然后将第二个元素的值赋给第一个元素,最后将临时变量中的值赋给第二个元素。

  4. 验证结果:交换完成后,可以通过打印或检查数组来验证元素是否成功交换

public class ArrayElementSwap {
    public static void main(String[] args) {
        int[] numbers = {1, 2, 3, 4, 5};
        
        System.out.println("原始数组: ");
        for (int number : numbers) {
            System.out.print(number + " ");
        }
        System.out.println();
        
        swap(numbers, 1, 3); // 交换索引1和索引3的元素
        
        System.out.println("交换后的数组: ");
        for (int number : numbers) {
            System.out.print(number + " ");
        }
    }
    
    public static void swap(int[] array, int index1, int index2) {
        int temp = array[index1]; // 保存索引1处的值
        array[index1] = array[index2]; // 索引2处的值赋给索引1
        array[index2] = temp; // 临时变量的值赋给索引2
    }
}

2.二维数组

        数组中的每个元素都是一个一维数组, 这个数组就是二维数组

2.1 二维数组的初始化

2.2 二维数组的访问


网站公告

今日签到

点亮在社区的每一天
去签到