在 Java 中,数组是一种数据结构,用于存储多个相同类型的数据元素。数组的大小一旦创建后就不能改变,因此它是固定长度的。Java 数组是一种 对象,即使它存储的值是基本类型(如 int、double 等),它也是一个对象引用。
声明数组时,你需要指定数组元素的数据类型以及数组的名称。数组的声明有两种方式:
int[] arr; // 数组声明,arr是数组名,int是数组元素的数据类型int arr[]; // 数组声明,arr是数组名,int是数组元素的数据类型这两种声明方式是等价的,通常推荐使用 int[] arr 这种方式,因为它能够更好地体现出数组作为数据类型的特性。
初始化数组有两种主要方式:显式初始化和动态初始化。
int[] arr = {1, 2, 3, 4, 5}; // 显式初始化数组int[] arr = new int[5]; // 创建一个长度为5的int类型数组 arr[0] = 1; arr[1] = 2; arr[2] = 3; arr[3] = 4; arr[4] = 5;可以通过数组的下标来访问数组的元素。下标从 0 开始。
int[] arr = {1, 2, 3, 4, 5};System.out.println(arr[0]); // 输出 1System.out.println(arr[2]); // 输出 3php102 Bytes© 菜鸟-创作你的创作可以使用数组的 length 属性来获取数组的大小。
int[] arr = {1, 2, 3, 4, 5};System.out.println(arr.length); // 输出 5php69 Bytes© 菜鸟-创作你的创作数组可以通过 for 循环、增强 for 循环、while 循环等方式进行遍历。
int[] arr = {1, 2, 3, 4, 5}; for (int i = 0; i < arr.length; i++) { System.out.println(arr[i]); }int[] arr = {1, 2, 3, 4, 5}; for (int num : arr) { System.out.println(num); }Java 支持多维数组,最常见的是二维数组(矩阵)。声明和初始化方法与一维数组类似。
int[][] matrix = new int[3][3]; // 3行3列的二维数组int[][] matrix = { {1, 2, 3}, {4, 5, 6}, {7, 8, 9} };二维数组的元素可以通过 [i][j] 的方式访问,i 是行下标,j 是列下标。
int[][] matrix = { {1, 2, 3}, {4, 5, 6}, {7, 8, 9}};System.out.println(matrix[1][2]); // 输出 6php109 Bytes© 菜鸟-创作你的创作可以使用嵌套的 for 循环 来遍历二维数组。
int[][] matrix = { {1, 2, 3}, {4, 5, 6}, {7, 8, 9}};for (int i = 0; i < matrix.length; i++) { for (int j = 0; j < matrix[i].length; j++) { System.out.print(matrix[i][j] + " "); } System.out.println(); // 换行}php244 Bytes© 菜鸟-创作你的创作Java 提供了 Arrays 类来进行数组的排序,排序函数是 Arrays.sort()。
import java.util.Arrays;int[] arr = {5, 3, 8, 1, 2};Arrays.sort(arr); // 对数组进行升序排序System.out.println(Arrays.toString(arr)); // 输出 [1, 2, 3, 5, 8]php151 Bytes© 菜鸟-创作你的创作使用 Arrays.binarySearch() 可以进行二分查找。前提是数组必须是已排序的。
import java.util.Arrays;int[] arr = {1, 2, 3, 5, 8};int index = Arrays.binarySearch(arr, 5);System.out.println(index); // 输出 3,表示 5 在数组中的索引位置php146 Bytes© 菜鸟-创作你的创作可以使用 Arrays.copyOf() 方法复制数组。
import java.util.Arrays;int[] arr = {1, 2, 3, 4, 5};int[] copy = Arrays.copyOf(arr, arr.length); // 完全复制数组System.out.println(Arrays.toString(copy)); // 输出 [1, 2, 3, 4, 5]php176 Bytes© 菜鸟-创作你的创作可以使用 Arrays.fill() 方法填充数组中的元素。
import java.util.Arrays;int[] arr = new int[5];Arrays.fill(arr, 10); // 将数组所有元素填充为 10System.out.println(Arrays.toString(arr)); // 输出 [10, 10, 10, 10, 10]php159 Bytes© 菜鸟-创作你的创作ArrayIndexOutOfBoundsException异常。new 操作符来动态分配内存。Arrays,用于操作数组。https://www.52runoob.com/archives/4736原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。