在计算机编程中,数组是相似类型数据的集合。例如,如果我们要存储100个人的姓名,则可以创建一个字符串类型的数组,该数组可以存储100个姓名。
String[] array = new String[100];
Java数组中的值数是固定的。也就是说,以上数组不能存储超过100个元素。
如何在Java中声明数组?
在Java中,这是我们如何声明数组的方法。
dataType[] arrayName;
- dataType-它可以是原始数据类型,例如
int
,char
,double
,byte
等或Java对象 - arrayName-它是一个标识符
例如,
double[] data;
在这里, 数据是一个数组,可以容纳double
类型的值。
但是,可以容纳多少个元素?
好问题!为了定义一个数组可以容纳的元素数量,我们必须在Java中为该数组分配内存。例如,
// declare an array
double[] data;
// allocate memory
data = new Double[10];
在这里,数组可以存储10个元素。我们也可以说数组的大小或长度是10。
在Java中,我们可以在一个语句中声明并分配数组的内存。例如,
double[] data = new double[10];
如何用Java初始化数组?
在Java中,我们可以在声明期间初始化数组。例如,
//declare and initialize and array
int[] age = {12, 4, 5, 2, 5};
在这里,我们创建了一个名为age的数组,并使用大括号内的值对其进行了初始化。
注意,我们没有提供数组的大小。在这种情况下,Java编译器通过计算数组中元素的数量(即5)来自动指定大小。
在Java数组中,每个内存位置都与一个数字关联。该数字称为数组索引。我们还可以使用索引号在Java中初始化数组。例如,
// declare an array
int[] age = new int[5];
// initialize array
age[0] = 12;
age[1] = 4;
age[2] = 5;
..
注意事项 :
- 数组索引始终从0开始。也就是说,数组的第一个元素在索引0处。
- 如果数组的大小为n ,则数组的最后一个元素将在索引n-1处 。
如何在Java中访问数组的元素?
我们可以使用索引号访问数组的元素。这是访问数组元素的语法,
// access array elements
array[index]
让我们看一个使用索引号访问数组元素的示例。
示例:访问数组元素
class Main {
public static void main(String[] args) {
// create an array
int[] age = {12, 4, 5, 2, 5};
// access each array elements
System.out.println("Accessing Elements of Array:");
System.out.println("First Element: " + age[0]);
System.out.println("Second Element: " + age[1]);
System.out.println("Third Element: " + age[2]);
System.out.println("Fourth Element: " + age[3]);
System.out.println("Fifth Element: " + age[4]);
}
}
输出
Accessing Elements of Array:
First Element: 12
Second Element: 4
Third Element: 5
Fourth Element: 2
Fifth Element: 5
在上面的示例中,请注意,我们正在使用索引号来访问数组的每个元素。
我们可以使用循环来一次访问数组的所有元素。
遍历数组元素
在Java中,我们还可以遍历数组的每个元素。例如,
示例:使用For循环
class Main {
public static void main(String[] args) {
// create an array
int[] age = {12, 4, 5};
// loop through the array
// using for loop
System.out.println("Using for Loop:");
for(int i = 0; i < age.length; i++) {
System.out.println(age[i]);
}
}
}
输出
Using for Loop:
12
4
5
在上面的示例中,我们使用Java中的for循环迭代数组的每个元素。注意循环中的表达式,
age.length
在这里,我们使用数组的length
属性来获取数组的大小。
我们还可以使用for-each循环遍历数组的元素。例如,
示例:使用for-each循环
class Main {
public static void main(String[] args) {
// create an array
int[] age = {12, 4, 5};
// loop through the array
// using for loop
System.out.println("Using for-each Loop:");
for(int a : age) {
System.out.println(a);
}
}
}
输出
Using for-each Loop:
12
4
5
示例:计算数组元素的总和和平均值
class Main {
public static void main(String[] args) {
int[] numbers = {2, -9, 0, 5, 12, -25, 22, 9, 8, 12};
int sum = 0;
Double average;
// access all elements using for each loop
// add each element in sum
for (int number: numbers) {
sum += number;
}
// get the total number of elements
int arrayLength = numbers.length;
// calculate the average
// convert the average from int to double
average = ((double)sum / (double)arrayLength);
System.out.println("Sum = " + sum);
System.out.println("Average = " + average);
}
}
输出 :
Sum = 36
Average = 3.6
在上面的示例中,我们创建了一个名为Numbers的数组。我们使用了for...each
循环来访问数组的每个元素。
在循环内部,我们正在计算每个元素的总和。注意这一行,
int arrayLength = number.length;
在这里,我们使用数组的length属性来计算数组的大小。然后,我们使用以下公式计算平均值:
average = ((double)sum / (double)arrayLength);
如您所见,我们正在将int
值转换为double
。在Java中,这称为类型转换。要了解有关类型转换的更多信息,请访问Java类型转换。
多维数组
到目前为止,我们提到的数组称为一维数组。但是,我们可以用Java声明多维数组。
多维数组是数组的数组。也就是说,多维数组的每个元素都是数组本身。例如,
double[][] matrix = {{1.2, 4.3, 4.0},
{4.1, -1.1}
};
在这里,我们创建了一个名为矩阵的多维数组。它是一个二维数组。要了解更多信息,请访问Java多维数组。
推荐读物
- Java复制数组
- Java程序来打印数组
- Java程序来连接两个数组
- Java ArrayList到Array和Array到ArrayList
- Java动态数组