This type of array has two dimensions – X and Y.
arr[n][m] = n(row) , m(column)
Create 2D array
Generally 2D array has many ways to declare and initialize. Let’s some code snippets to understand concept of it.
class const2D { public static void main(String[] args) { int a[][]={{10,20},{30,40}}; /* 2D array will * 10 20 * 30 40 */ for(inti=0;i<2;i++){ for(int j=0;j<2;j++){ System.out.println(a[i][j]); } } } } |

Let’s see some another example of 2D array declaration.
intarr[][]=new int[m][n];
m=row,n=column number
public class const2D_1 { public static void main(String[] args) { // declare 2D array ‘arr’ -> size 2X2 intarr[][]=new int[2][2]; // initialize values into 2D array indexes arr[0][0]=10; arr[0][1]=20; arr[1][0]=-9; arr[1][1]=45; // displays 2D array for(inti=0;i<2;i++){ for(int j=0;j<2;j++){ System.out.print(“\t”+arr[i][j]); } } } } |

Basic 2D array operations list
Addition

Image source: Matrix: Addition & Subtraction (solutions, examples, videos) (onlinemathlearning.com)
Subtraction

Image source: Matrix: Addition & Subtraction (solutions, examples, videos) (onlinemathlearning.com)
Multiplication

Division
Process same as addition/subtraction.
2D array operations related to matrix operations.
Write a Program to find the addition of two matrices.
import java.util.Scanner; class code3{ public static void main(String[] args) { Scanner sc=new Scanner(System.in); inti,j,n,m;//i=row number,j=column number System.out.println(“\n enter i value : “); n=sc.nextInt(); System.out.println(“\n enter j value : “); m=sc.nextInt(); int array1[][]=new int[n][m]; int array2[][]=new int[n][m]; int array3[][]=new int[n][m]; System.out.println(“Enter array-1 values “); for(i=0;i<n;i++){ for(j=0;j<m;j++){ System.out.println(“enter element: position “+i+” “+j); array1[i][j] = sc.nextInt(); } } System.out.println(“Enter array-2 values “); for(i=0;i<n;i++){ for(j=0;j<m;j++){ System.out.println(“enter element: position “+i+” “+j); array2[i][j] = sc.nextInt(); } } System.out.println(“array-1 array is “); for(i=0;i<n;i++){ for(j=0;j<m;j++){ System.out.println(“\t”+array1[i][j]); } } System.out.println(“array-2 array is “); for(i=0;i<n;i++){ for(j=0;j<m;j++){ System.out.println(“\t”+array2[i][j]); } } for(i=0;i<n;i++){ for(j=0;j<m;j++){ array3[i][j]=array1[i][j]+array2[i][j]; } } System.out.println(“addition(array3) of array-1 and array-2 is : “); for(i=0;i<n;i++){ for(j=0;j<m;j++){ System.out.println(“\t”+array3[i][j]); } } } } |

Write a Program to find the multiplication of two matrices.
import java.util.Scanner; class code4{ public static void main(String[] args) { Scanner sc=new Scanner(System.in); inti,j,n,m,k=0,sum=0;//n=row number,m=column number System.out.println(“\n enter n value : “); n=sc.nextInt(); System.out.println(“\n enter m value : “); m=sc.nextInt(); int array1[][]=new int[n][m]; int array2[][]=new int[n][m]; int array3[][]=new int[n][m]; System.out.println(“Enter array-1 values “); for(i=0;i<n;i++){ for(j=0;j<m;j++){ System.out.println(“enter element: position “+i+” “+j); array1[i][j] = sc.nextInt(); } } System.out.println(“Enter array-2 values “); for(i=0;i<n;i++){ for(j=0;j<m;j++){ System.out.println(“enter element: position “+i+” “+j); array2[i][j] = sc.nextInt(); } } System.out.println(“array-1 array is “); for(i=0;i<n;i++){ for(j=0;j<m;j++){ System.out.println(“\t “+array1[i][j]); } } System.out.println(“array-2 array is “); for(i=0;i<n;i++){ for(j=0;j<m;j++){ System.out.println(“\t”+array2[i][j]); } } for(i=0;i<n;i++){ for(j=0;j<m;j++){ //array3[i][j]=0; sum=0; for(k=0;k<m;k++){ sum=sum+array1[i][k]*array2[k][j]; array3[i][j]=sum; } } } System.out.println(“multiplication(array3) of array-1 and array-2 is : “); for(i=0;i<n;i++){ for(j=0;j<m;j++){ System.out.println(“\t”+array3[i][j]); } } } } |

Write a Program to the Subtraction of two matrices.
import java.util.Scanner; class code5{ public static void main(String[] args) { Scanner sc=new Scanner(System.in); inti,j,n,m;//i=row number,j=column number,p=i*j System.out.println(“\n enter i value : “); n=sc.nextInt(); System.out.println(“\n enter j value : “); m=sc.nextInt(); int array1[][]=new int[n][m]; int array2[][]=new int[n][m]; int array3[][]=new int[n][m]; System.out.println(“Enter array-1 values “); for(i=0;i<n;i++){ for(j=0;j<m;j++){ System.out.println(“enter element: position “+i+” “+j); array1[i][j] = sc.nextInt(); } } System.out.println(“Enter array-2 values “); for(i=0;i<n;i++){ for(j=0;j<m;j++){ System.out.println(“enter element: position “+i+” “+j); array2[i][j] = sc.nextInt(); } } System.out.println(“array-1 array is “); for(i=0;i<n;i++){ for(j=0;j<m;j++){ System.out.println(“\t”+array1[i][j]); } } System.out.println(“array-2 array is “); for(i=0;i<n;i++){ for(j=0;j<m;j++){ System.out.println(“\t”+array2[i][j]); } } for(i=0;i<n;i++){ for(j=0;j<m;j++){ array3[i][j]=array1[i][j]-array2[i][j]; } } System.out.println(“subtraction(array-3) of array-1 and array-2 is : “); for(i=0;i<n;i++){ for(j=0;j<m;j++){ System.out.println(“\t”+array3[i][j]); } } } } |

Here, the below problem we converts 2D array into 1D array. Then we traverse whole 1D array and sum of all elements.
Write a Program to find the sum of all elements in a 2D array or Matrix.
import java.util.Scanner; class code2{ public static void main(String[] args) { Scanner sc=new Scanner(System.in); inti,j,n,m,a=0,sum=0;//i=row number,j=column number,p=i*j System.out.println(“\n enter i value : “); n=sc.nextInt(); System.out.println(“\n enter j value : “); m=sc.nextInt(); int array[][]=new int[n][m]; for(i=0;i<n;i++){ for(j=0;j<m;j++){ System.out.println(“enter element: position “+i+” “+j); array[i][j] = sc.nextInt(); } } System.out.println(“\n 2D array is “); for(i=0;i<n;i++){ for(j=0;j<m;j++){ a=array[i][j]; sum = a+sum; System.out.println(“\t”+array[i][j]); } } System.out.println(“\n sum of all elements: “+sum); } } |
