#一个33岁新手小白在黑马学习程序员的第四天-2

0 阅读4分钟

java基础的数组

数组指一种容器,可以存储同种类型的多个值

为什么要使用数组容器? 假设我要计算销售部门的员工业绩,以往的方案是定义变量来保存数据,但是数据一多,变量就要定义一堆,操作起来非常不方方便!但是存入一个容器就好操作了,数据不再零零散散,而是一个整体了。

数组的定义格式和静态初始化

定义格式 :

  • 格式一:数据类型 [ ] 数组名
  • 范例:int [ ] array
  • 格式二:数据类型 数组名 [ ]
  • 范例:int array [ ]

   public static void main ( String [ ] args){
        int[] array1 = new int[10];
        int array2[] = new int[20];

        System.out.println(array1);
        System.out.println(array2);

        int a = 0;
        System.out.println( a );
    }
}

打印数组名,会看到数组在内存中的十六进制地址值

静态初始化

  • 范例:int[] array = new int[]{ 11 , 22 , 33 };
  • 范例:double[] array2 = new double[]{ 11.1 , 22.2 ,33.3 };
  • 简化格式:数据类型[]数组名 = {元素1,元素2,元素3...};
  • 范例:int[]array = {11,22,33};
  • 范例:double[] array2 = {11.1,22.2,33,3};

数组-求最大值

  • 需求:已知数组元素为 {5,44,33,55,22} 请找出数组中最大值并打印在控制台
    public static void main(String[] args) {
        int[] arr1 = {5, 44, 33, 55, 22};

        int max = getMax(arr1);
        System.out.println("最大值为:" + max);
    }
    public static int getMax(int[] arr) {

        int max = arr[0];// 数组中第一个元素为最大值

        for (int i = 1; i < arr.length; i++) {// 遍历数组, 取出剩余的每一个元素

            if (arr[i] > max) {// 3. 比较

                max = arr[i];// 4. 找到更大的元素, 改变max变量的值
            }
        }
        return max;// 5. 返回max的值
    }

}

数组的元素访问

  • 格式:数组名[索引];
  • 索引:索引是数组容器中空间的编号,编号从0开始,逐个+1增长
public static void main(String[] args) {
        int[] arr = {11, 22, 33, 44, 55};//数组排序为:01234
        System.out.println(arr[1]);// 取出22元素打印在控制台
        arr[0] = 66;// 修改数组中第一个元素为66
        System.out.println(arr[0]);
        if (arr[2] % 2 == 0) {// 判断数组中第三个元素是奇数还是偶数
            System.out.println(arr[2] + "是一个偶数");
        } else {
            System.out.println(arr[2] + "是一个奇数");
        }
        for (int i = 1; i <= arr[arr.length - 1]; i++) {// 根据数组中最后一个元素, 来决定在控制台打印多少次的HelloWorld
            System.out.println("HelloWorld");
        }
        System.out.println(arr.length - 1);
    }
}

数组-求偶数和

  • 需求:已知数组元素为{11,22,33,44,55}请将数组中偶数元素取出并求和,最后打印求和结果
  • 1、静态初始化数组
  • 2、定义求和变量
  • 3、遍历数组取出每一个元素
  • 4、判断当前元素是否是偶数,是的话跟求和变量做累加操作
  • 5、打印求变量
public static void main(String[] args) {
    // 声明并初始化一个整型数组arr1,包含5个负数元素
    int[] arr1 = {-11, -22, -33, -44, -44, -55};
    // 声明并初始化一个整型数组arr2,包含5个正数元素
    int[] arr2 = {66, 77, 88, 99, 100};
    // 调用getSum方法,传入arr2数组作为参数,并将返回的偶数和赋值给sum变量
    int sum = getSum(arr2);
    // 输出字符串"偶数和为:"和变量sum的值
    System.out.println("偶数和为:" + sum);
}

// 需求: 请从数组中偶数元素取出并求和
// 方法:接收一个整型数组作为参数,计算其中所有偶数元素的和并返回
public static int getSum(int[] arr) {
    // 声明一个整型变量sum并初始化为0,用于累加偶数元素
    int sum = 0;

    // 使用for循环遍历数组中的每一个元素,i表示当前元素的索引
    for (int i = 0; i < arr.length; i++) {
        // 判断当前元素是否为偶数(能被2整除)
        if (arr[i] % 2 == 0) {
            // 如果是偶数,则将其值加到sum变量中
            sum += arr[i];
        }
    }
    return sum;// 循环结束后,返回累计的偶数和
}

数组遍历操作

  • 数组遍历:依次访问数组中的每一个元素
public static void main(String[] args) {
        int[] arr = {11, 22, 33, 44, 55};

        for (int i = 0; i < arr.length; i++) {
            System.out.println(arr[i]);
        }
    }

PS:熟练了之后,今后可以使用快捷键来遍历数组 数组名.fori + 回车