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