Java-二维数组
时间:2020-02-23 14:36:59 来源:igfitidea点击:
在本教程中,我们将学习Java编程语言中的二维数组。
我们使用二维2D数组以行和列格式存储数据。
声明二维数组
以下是声明2D数组的语法。
dataType[][] arrayName;
其中,数组变量的名称为" arrayName",其数据类型为" dataType"。
我们还可以通过以下方式声明2D数组。
dataType arrayName[][];
这类似于C编程语言。
在下面的示例中,我们声明一个数据类型为int的2D数组arr以存储整数值。
int[][] arr;
现在,让我们继续创建2D阵列。
创建二维数组
要创建2D数组,我们使用new关键字,如下所示。
arrayName = new dataType[row_size][col_size];
其中," arrayName"是数据类型为" dataType"的数组变量的名称,它的行数为" row_size",列数为" col_size"。
在下面的示例中,我们创建一个数组" arr",该数组具有2行3列,数据类型为" int"。
arr = new int[2][3];
二维数组的声明和创建
在下面的示例中,我们声明并创建一个二维数组arr,该数组具有2行3列,数据类型为int。
int[][] arr = new int[2][3];
2维数组赋值和访问2维数组的值
在下面的示例中,我们将创建一个2D数组" arr",该数组具有2行3列,数据类型为" int"。
为了访问数组的元素,我们使用了像arr [r] [c]这样的行索引和列索引来访问第r行和第c列的元素。
class Array2DExample {
public static void main(String args[]) {
//create an array
int[][] arr = new int[2][3];
//int variable
int count = 1;
//use for loop to assign value to an array
for (int r = 0; r < 2; r++) {
for (int c = 0; c < 3; c++) {
arr[r][c] = count;
count++;
}
}
//print the value of the array
for (int r = 0; r < 2; r++) {
for (int c = 0; c < 3; c++) {
System.out.print("arr[" + r + "][" + c + "] = " + arr[r][c] + " ");
}
System.out.println();
}
}
}
arr[0][0] = 1 arr[0][1] = 2 arr[0][2] = 3 arr[1][0] = 4 arr[1][1] = 5 arr[1][2] = 6
分配值的另一种方法是使用大括号" {}"和使用逗号分隔的值。
class Array2DExample {
public static void main(String args[]) {
//create an array
int[][] arr = {
{1, 2, 3},
{4, 5, 6}
};
//print the value of the array
for (int r = 0; r < 2; r++) {
for (int c = 0; c < 3; c++) {
System.out.print("arr[" + r + "][" + c + "] = " + arr[r][c] + " ");
}
System.out.println();
}
}
}
我们甚至可以像下面这样按索引分配值。
class Array2DExample {
public static void main(String args[]) {
//create an array
int[][] arr = new int[2][3];
//assign value to 1st row having r-index 0
arr[0][0] = 1;
arr[0][1] = 2;
arr[0][2] = 3;
//assign value to 2nd row having r-index 1
arr[1][0] = 4;
arr[1][1] = 5;
arr[1][2] = 6;
//print the value of the array
for (int r = 0; r < 2; r++) {
for (int c = 0; c < 3; c++) {
System.out.print("arr[" + r + "][" + c + "] = " + arr[r][c] + " ");
}
System.out.println();
}
}
}
二维数组的表示
下图描绘了二维数组" arr"。
//array having 2 rows and 3 columns
int[][] arr = {
{1, 2, 3},
{4, 5, 6}
};
示例#1:编写一个Java程序以在三篇论文中找到两个学生的平均分数
假设第一名学生的分数是60、55和70,第二名学生的分数是80、60和41。
我们可以将两个学生的分数存储在具有2行3列的2D数组中。
行将代表学生,列将保留学生的分数。
class Array2DExample {
public static void main(String args[]) {
//create an array
int[][] score = {
{60, 55, 70},
{80, 60, 41}
};
//sum array
int[] sum = new int[2];
//sum of 1st student
sum[0] = 0;
//sum of 2nd student
sum[1] = 0;
//average array
float[] avg = new float[2];
//compute sum
for (int r = 0; r < 2; r++) {
for (int c = 0; c < 3; c++) {
sum[r] += score[r][c];
}
}
//compute average of 1st student
avg[0] = (float)sum[0]/3;
//compute average of 2nd student
avg[1] = (float)sum[1]/3;
//print result
System.out.println("Average score of 1st student = " + avg[0]);
System.out.println("Average score of 2nd student = " + avg[1]);
}
}
Average score of 1st student = 61.666668 Average score of 2nd student = 60.333332

