Iteration In Two-Dimensional ArrayIteration In Two-Dimensional Array

How to iterate inside a two-dimensional array using a for-loop?

Iterating through a two-dimensional array can be a bit challenging to grasp initially, so don't worry if it doesn't click right away. In this chapter, I'll demonstrate how to do it and explain how it functions.

We use a nested loop to iterate through a two-dimensional array, meaning one loop inside another. The outer loop iterates over the rows, while the inner loop iterates over the columns. Let's examine the syntax for iterating through a two-dimensional array using the example array we created in the previous section:

java

Main.java

Let's delve into the meaning of each element in the code snippet provided above:

  • int[][] twoDimensionalArray = - This line initializes a two-dimensional array.
  • for (int i = 0; i < twoDimensionalArray.length; i++) - The first for-loop iterates over the rows of our matrix. While we're on the first row, our program enters the nested loop, which doesn't impact the outer loop. The variable i represents the current row number;
  • for (int j = 0; j < twoDimensionalArray[0].length; j++) - The second for-loop iterates over the columns of the matrix. While we're on the 0th row, we iterate through the columns of that row. The variable j represents the current column number;
  • System.out.print(twoDimensionalArray[i][j] + " "); - In this line, we use System.out.print to display our values in a single line. Let's see how it operates: while we're on the 0th row, we iterate through the columns on that row. For example, array[0][1], followed by array[0][2], and so on. We continue through the columns as long as j is less than array[0].length. Once we reach array[0].length, we return to the outer array and move to the first row. For example, array[0][3] -> array[1][0]. We've reached our boundaries and then transitioned to row 1.

Task

Your task is to locate and display the diagonal (from the top-left corner to the bottom-right corner) of the provided matrix on the screen:

Note

The diagonal represents a line in the matrix where the row and column numbers are identical.

java

Main.java

  1. 1. Your i and j values should be the same;
  2. 2. Try to use if statement to set this condition;
  3. 3. You need to use a for-loop inside another for-loop.

package com.example;

public class Main {
    public static void main(String[] args) {
        int[][] twoDimensionalArray = { {1, 2, 3, 4},
                                        {6, 1, 2, 9},
                                        {13, 0, 1, 6},
                                        {11, 8, 4, 1} };

        for (int i = 0; i < twoDimensionalArray.length; i++) {
            for (int j = 0; j < twoDimensionalArray[0].length; j++) {
                if (i == j) {
                    System.out.println(twoDimensionalArray[i][j]);
                }
            }
        }
    }
}
      

Everything was clear?

Section 4. Chapter 5