Java关于数组的介绍与使用

  

Java关于数组的介绍与使用

数组是一组数据的集合,是Java中的一种基本的数据结构类型,具有以下特点:

  • 数组是一种固定大小,且元素类型相同的数据结构;
  • 数组的下标从0开始;
  • 数组在创建时需要指定长度,且长度不可改变;
  • 数组可以存储基本类型和引用类型。

声明和初始化数组

声明数组的语法格式如下:

dataType[] arrayName;//推荐
或 
dataType arrayName[];//不推荐

注意:建议使用第一种方式来声明数组,这也是Java语言规范中定义的语法规则。

初始化数组有以下几种方式:

  • 动态初始化:在声明数组时不指定长度,可以根据实际数据动态赋值。

java
int[] a = new int[5];//表示声明一个长度为5的int类型数组a,所有元素值为0

  • 静态初始化:在声明数组时手动指定数组元素的值。

java
int[] b = {1, 2, 3, 4, 5};//表示声明一个长度为5的int类型数组b,所有元素值分别为1、2、3、4、5

  • 指定数组的长度并初始化:通过循环语句分别为数组中各个元素进行赋值。

java
int[] c = new int[5];
for (int i = 0; i < c.length; i++) {
c[i] = i + 1;
}

数组的常见操作

访问数组元素

通过数组下标来访问指定位置的元素。

int[] arr = {1, 2, 3, 4, 5};
System.out.println(arr[0]);//输出数组的第一个元素:1

注意:如果访问的下标越界,会抛出ArrayIndexOutOfBoundsException异常。

遍历数组

使用for循环遍历数组中的所有元素并进行处理。

int[] arr = {1, 2, 3, 4, 5};
for (int i = 0; i < arr.length; i++) {
    System.out.println(arr[i]);//输出数组中的每个元素
}

数组拷贝

使用Arrays类中的copyOf()和copyOfRange()方法实现数组的拷贝操作。

int[] arr1 = {1, 2, 3, 4, 5};
int[] arr2 = Arrays.copyOf(arr1, arr1.length);

或者可以使用System.arraycopy()方法来拷贝数组。

int[] arr1 = {1, 2, 3, 4, 5};
int[] arr2 = new int[arr1.length];
System.arraycopy(arr1, 0, arr2, 0, arr1.length);

数组排序

使用Arrays类中的sort()方法对数组进行从小到大排序。

int[] arr = {5, 4, 3, 2, 1};
Arrays.sort(arr);//对数组进行从小到大排序
for (int i = 0; i < arr.length; i++) {
    System.out.println(arr[i]);//输出排好序的数组
}

示例说明

示例1:计算数组中所有元素的和

public class ArrayExample {
    public static void main(String[] args) {
        int[] arr = {1, 2, 3, 4, 5};
        int sum = 0;//定义变量保存数组中所有元素的和
        for (int i = 0; i < arr.length; i++) {
            sum += arr[i];//累加每个元素的值
        }
        System.out.println("数组中所有元素的和为:" + sum);//输出数组中所有元素的和
    }
}

输出结果:

数组中所有元素的和为:15

示例2:查找数组中最大值和最小值

public class ArrayExample {
    public static void main(String[] args) {
        int[] arr = {14, 2, 7, 9, 5, 3};
        int max = arr[0];//定义变量保存数组中最大值
        int min = arr[0];//定义变量保存数组中最小值
        for (int i = 0; i < arr.length; i++) {
            if (arr[i] > max) {//如果当前元素大于最大值,则更新最大值
                max = arr[i];
            }
            if (arr[i] < min) {//如果当前元素小于最小值,则更新最小值
                min = arr[i];
            }
        }
        System.out.println("数组中最大值为:" + max + ",最小值为:" + min);//输出数组中最大值和最小值
    }
}

输出结果:

数组中最大值为:14,最小值为:2
相关文章