Java基础篇--数组
目录
数组是Java中的一种数据结构,用于存储相同类型的多个元素。它提供了一个连续的内存块来存储数据,并可以通过索引访问和操作数组中的元素。
声明和初始化数组:
- 数组声明:在声明数组时,需要指定数组的数据类型和名称。例如,
int[] myArray;
声明了一个名为myArray
的整型数组。 - 数组初始化:通过使用关键字
new
创建数组对象,并指定数组的长度或直接提供元素的初始值来初始化数组。- 通过指定长度初始化数组:
myArray = new int[5];
使用new
关键字创建一个包含5个整数元素的整型数组。 - 直接提供元素的初始值初始化数组:
int[] myArray = {1, 2, 3, 4, 5};
定义并初始化了一个包含元素 1、2、3、4 和 5 的整型数组。
- 通过指定长度初始化数组:
-
int[] myArray; // 声明一个整型数组变量
-
myArray = new int[5]; // 创建一个包含5个整数元素的数组
-
-
int[] myArray = {1, 2, 3, 4, 5}; // 声明并初始化一个整型数组
-
-
// 多维数组
-
int[][] myArray = new int[3][4]; // 声明一个3行4列的二维数组
访问和修改数组元素:
- 数组的索引从0开始,即第一个元素的索引是0。要访问和修改数组中的元素,可以使用方括号
[]
并提供相应的索引。- 获取数组中的元素值:
int value = myArray[0];
获取索引为0的元素值并赋给变量value
。 - 修改数组中的元素值:
myArray[1] = 10;
将索引为1的元素值设置为10。
- 获取数组中的元素值:
-
int value = myArray[0]; // 获取数组中索引为0的元素值
-
-
myArray[1] = 10; // 修改数组中索引为1的元素值
数组长度:
- 通过使用数组的 length 属性,可以获取数组的长度。例如,int length = myArray.length; 获取数组 myArray 的长度,并将其赋给变量 length。
int length = myArray.length; // 获取数组的长度
遍历数组:
- 可以使用循环结构(例如
for
循环)来遍历数组中的元素并进行处理。 - 使用下标循环遍历:通过控制索引的范围,从0开始逐个访问数组中的元素并进行操作。
-
for (int i = 0; i < myArray.length; i ) {
-
System.out.println(myArray[i]);
-
}
- 使用 for-each 循环遍历:使用 for-each 循环语法可以简化数组的遍历操作。它会依次遍历数组中的每个元素,而不需要显式地使用索引。
-
for (int num : myArray) {
-
System.out.println(num);
-
}
多维数组的遍历:
多维数组是由数组组成的数组。可以使用嵌套的循环结构来遍历多维数组中的元素。
-
int[][] myArray = new int[3][4]; // 一个3行4列的二维数组
-
-
for (int i = 0; i < myArray.length; i ) {
-
for (int j = 0; j < myArray[i].length; j ) {
-
System.out.println(myArray[i][j]);
-
}
-
}
数组的常见操作和方法:
java.util.Arrays 类能方便地操作数组,它提供的所有方法都是静态的。
以下是对 java.util.Arrays
类提供的常用方法的简要介绍:
- fill 方法:用指定的值填充整个数组。
- sort 方法:按升序对数组进行排序。
- equals 方法:比较两个数组中的元素值是否相等。
- binarySearch 方法:在已排序的数组中使用二分查找法查找指定元素。
注意:在使用索引访问和修改数组元素时,确保索引值在数组的有效范围内,以避免出现 ArrayIndexOutOfBoundsException
异常。
-
import java.util.Arrays;
-
-
public class ArraysExample {
-
public static void main(String[] args) {
-
// 声明并初始化一个整型数组
-
int[] array = {5, 2, 9, 1, 7};
-
-
// 使用fill方法将整个数组填充为指定的值
-
Arrays.fill(array, 0);
-
System.out.println("使用fill方法后的数组: " Arrays.toString(array));
-
// 运行结果:使用fill方法后的数组: [0, 0, 0, 0, 0]
-
-
// 使用sort方法对数组进行升序排序
-
Arrays.sort(array);
-
System.out.println("使用sort方法后的数组: " Arrays.toString(array));
-
// 运行结果:使用sort方法后的数组: [0, 0, 0, 0, 0]
-
-
// 声明并初始化一个新的整型数组
-
int[] newArray = {1, 2, 3, 4, 5};
-
-
// 使用equals方法比较两个数组的元素值是否相等
-
boolean isEqual = Arrays.equals(array, newArray);
-
System.out.println("两个数组是否相等: " isEqual);
-
// 运行结果:两个数组是否相等: false
-
-
// 使用binarySearch方法在已排序的数组中查找指定元素
-
int index = Arrays.binarySearch(newArray, 4);
-
System.out.println("查找元素的索引位置: " index);
-
// 运行结果:查找元素的索引位置: 3
-
}
-
}
拓展小知识:
ArrayIndexOutOfBoundsException 是 Java 中的一个运行时异常,它表示数组访问超出了有效索引范围。这通常发生在以下情况下:
- 索引小于零:尝试使用负数作为数组元素的索引。
-
int[] myArray = {1, 2, 3};
-
int value = myArray[-1]; // 导致 ArrayIndexOutOfBoundsException 异常
-
- 索引大于等于数组长度:尝试访问或修改数组中不存在的索引位置。
-
int[] myArray = {1, 2, 3};
-
int value = myArray[3]; // 导致 ArrayIndexOutOfBoundsException 异常
-
- 在嵌套数组(多维数组)中的某个维度上的索引超出范围。
-
int[][] myArray = new int[3][4]; // 3行4列的二维数组
-
int value = myArray[3][0]; // 导致 ArrayIndexOutOfBoundsException 异常
-
为避免 ArrayIndexOutOfBoundsException
异常,需要确保在访问和修改数组元素时,所使用的索引值位于合法的范围内:
- 数组的索引范围为从 0 到长度减一(length - 1)的整数范围。
- 多维数组的每个维度的索引范围也是相同的。
在编写代码时,需要仔细检查数组索引的使用,确保它们在合法范围内,可以通过条件判断、循环和边界检查等方法来避免 ArrayIndexOutOfBoundsException
异常的发生。
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhghfjbf
系列文章
更多
同类精品
更多
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01 -
怎样阻止微信小程序自动打开
PHP中文网 06-13