Java-数组
在本教程中,我们将学习Java编程语言中的数组。
什么是数组?
数组是固定大小的变量,用于存储给定数据类型的一个或者多个值。
存储在数组中的项目称为数组的元素。
元素通过其数组索引(从0开始)进行访问。
因此,如果数组具有3个元素,则第一个元素位于索引0,第二个元素位于索引1,最后一个元素位于索引2。
我们创建一个数组,以一个变量名存储相似的数据类型值。
因此,如果需要保存10个整数值,则可以创建十个整数变量或者一个整数类型的数组变量。
数组类型
我们通常将数组分为三类。
- 一维阵列或者一维阵列
- 二维阵列或者2D阵列
- 多维数组,例如3D数组及以上
在本教程中,我们将介绍一维数组。
在下一部分中,我们将介绍2D阵列。
声明一维数组
以下是声明一维数组的语法。
dataType[] arrayName;
其中," dateType"是名称为" arrayName"的数组变量的数据类型。
我们还可以通过以下方式声明一维数组。
dataType arrayName[];
这类似于C编程语言。
在以下示例中,我们声明了数据类型为int的一维数组arr以存储整数值。
int[] arr;
我们已经声明了数组变量,但是还没有创建它。
通过创建,我们的意思是将内存空间分配给数组变量。
因此,让我们继续创建一维数组。
创建一维数组
为了创建一个数组,我们使用" new"关键字,如下所示。
arrayName = new dataType[size];
其中,arrayName是数据类型为dataType且给定大小为size的数组变量的名称。
在下面的示例中,我们将创建一个大小为5的数组" arr",以容纳五个数据类型为" int"的元素。
arr = new int[5];
一维数组的声明和创建
我们可以将数组的声明和创建步骤合并为一个步骤。
在下面的示例中,我们声明并创建一个大小为5的一维数组" arr",以容纳数据类型为" int"的五个值。
int[] arr = new int[5];
分配和访问一维数组的值
在下面的示例中,我们将创建一个大小为5的一维数组,并使用for循环分配整数值。
为了访问数组的元素,我们使用了数组的名称和元素的索引,例如arr [i]
,其中i是索引。
class ArrayExample { public static void main(String args[]) { //create an array int[] arr = new int[5]; //use for loop to assign value to an array for (int i = 0; i < 5; i++) { arr[i] = i+1; } //print the value of the array for (int i = 0; i < 5; i++) { System.out.println("arr[" + i + "] = " + arr[i]); } } }
arr[0] = 1 arr[1] = 2 arr[2] = 3 arr[3] = 4 arr[4] = 5
分配值的另一种方法是使用大括号" {}"和使用逗号分隔的值。
class ArrayExample { public static void main(String args[]) { //create an array int[] arr = {1, 2, 3, 4, 5}; //print the value of the array for (int i = 0; i < 5; i++) { System.out.println("arr[" + i + "] = " + arr[i]); } } }
我们甚至可以像下面这样按索引分配值。
class ArrayExample { public static void main(String args[]) { //create an array int[] arr = new int[5]; //assign value arr[0] = 1; arr[1] = 2; arr[2] = 3; arr[3] = 4; arr[4] = 5; //print the value of the array for (int i = 0; i < 5; i++) { System.out.println("arr[" + i + "] = " + arr[i]); } } }
一维数组的表示
下图描绘了一维数组arr。
int[] arr = {1, 2, 3, 4, 5};
例1:用Java编写程序以创建一维整数类型数组,以存储5名学生的分数并求出平均值
给定的5名学生的分数分别是70、82、50、45和91。
因此,我们将创建一个类型为" int"的数组" score",以存储五个学生的分数。
我们还将创建一个类型为int的变量sum和来保存分数的总和,以及一个类型为float的平均值avg来保存平均值。
提示:avg = sum/n
其中,avg是平均值,sum是所有元素的总数,n是元素数。
查看平均教程以获取更多详细信息。
class ArrayExample { public static void main(String args[]) { //create an array int[] arr = {70, 82, 50, 45, 91}; //int variable int sum = 0; //float variable float avg = 0; //compute sum for (int i = 0; i < 5; i++) { sum += arr[i]; } //find average avg = (float)sum/5; //print result System.out.println("Average score = " + avg); } }