Java

Java 知识量:11 - 45 - 220

2.8 数组><

数组的类型- 2.8.1 -

数组是一种用于存储固定数量相同类型元素的数据结构。Java中有几种类型的数组,包括:

1、一维数组:这是最常见的数组类型,它表示一个线性的数据结构,其中每个元素具有相同的类型。例如:

int[] myArray = new int[10];  // 创建一个能容纳10个整数的数组

2、多维数组:多维数组是数组的数组。它们用于表示二维或更高维度的数据结构。例如:

int[][] my2DArray = new int[10][5];  // 创建一个10x5的二维数组

3、不规则数组:不规则数组是一种特殊类型的数组,其中每个元素可以是一个不同的类型。这种类型的数组必须声明为Object[]类型的数组,然后在使用时再进行适当的类型转换。例如:

Object[] myArray = new Object[10];  // 创建一个能容纳10个对象的数组  
myArray[0] = "Hello";  // 存储一个字符串  
myArray[1] = 123;  // 存储一个整数

4、泛型数组:从Java 5开始,可以使用泛型来创建数组,这样可以在编译时提供类型检查和类型安全,而无需进行类型转换。例如:

List<Integer>[] myArray = new List[10];  // 创建一个能容纳10个Integer列表的数组

注意:在Java中,数组的大小在创建时就确定了,并且在其生命周期中不能更改。

创建和初始化数组- 2.8.2 -

在Java中,数组的创建和初始化可以通过以下几种方式进行:

1、一维数组的创建和初始化

// 声明并初始化数组  
int[] intArray = {1, 2, 3, 4, 5};  
  
// 或者可以先声明再初始化  
int[] intArray2;  
intArray2 = new int[5];

2、二维数组的创建和初始化

// 声明并初始化二维数组  
int[][] intArray = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};  
  
// 或者可以先声明再初始化  
int[][] intArray2;  
intArray2 = new int[3][3];

3、通过循环初始化数组

int[] intArray = new int[5];  
for (int i = 0; i < intArray.length; i++) {  
    intArray[i] = i * 2;  // 数组元素的值可以根据需要进行设置  
}

4、数组的默认初始化

数组的元素会自动被初始化为该类型的默认值。对于整型数组,其默认值为0;对于浮点型数组,其默认值为0.0;对于字符型数组,其默认值为null;对于布尔型数组,其默认值为false。

int[] intArray = new int[5];  // 该数组的元素默认为0  
float[] floatArray = new float[5];  // 该数组的元素默认为0.0  
char[] charArray = new char[5];  // 该数组的元素默认为null  
boolean[] booleanArray = new boolean[5];  // 该数组的元素默认为false

注意:在Java中,数组一旦创建,其大小就不能更改。如果需要一个可以动态改变大小的数组,可以考虑使用ArrayList或其他集合类型。

使用数组- 2.8.3 -

以下是一个简单的Java程序,演示了如何创建和使用数组:

public class Main {  
    public static void main(String[] args) {  
        // 创建一个数组  
        int[] numbers = new int[5];  
  
        // 为数组中的每个位置赋值  
        numbers[0] = 1;  
        numbers[1] = 2;  
        numbers[2] = 3;  
        numbers[3] = 4;  
        numbers[4] = 5;  
  
        // 打印数组中的每个元素  
        for (int i = 0; i < numbers.length; i++) {  
            System.out.println("Element at index " + i + " : " + numbers[i]);  
        }  
          
        // 访问数组中的元素  
        System.out.println("First element: " + numbers[0]);  
        System.out.println("Last element: " + numbers[numbers.length - 1]);  
          
        // 遍历数组  
        for (int element : numbers) {  
            System.out.println(element);  
        }  
          
        // 复制数组  
        int[] copiedNumbers = new int[numbers.length];  
        for (int i = 0; i < numbers.length; i++) {  
            copiedNumbers[i] = numbers[i];  
        }  
          
        // 打印复制后的数组  
        System.out.println("Copied array: ");  
        for (int element : copiedNumbers) {  
            System.out.println(element);  
        }  
    }  
}

在这个例子中,首先创建了一个可以容纳5个整数的数组。然后,分别为数组中的每个位置赋值。然后,使用for循环遍历数组,并打印出每个元素。之后,展示了如何访问数组的第一个和最后一个元素。接着,使用增强的for循环遍历数组,并打印出每个元素。最后,创建了一个新的数组,并将原数组的所有元素复制到新数组中,并打印出复制后的数组。