Bird
Raised Fist0
Javaprogramming~5 mins

Two-dimensional arrays in Java

Choose your learning style10 modes available
Introduction

Two-dimensional arrays help you store data in a table-like form with rows and columns. This is useful when you want to organize information in grids, like a chessboard or a calendar.

When you want to store a matrix of numbers, like in math or graphics.
When you need to represent a game board, like tic-tac-toe or chess.
When you want to keep track of data in rows and columns, like a spreadsheet.
When you want to store multiple lists of related data together.
When you need to perform operations on grids, like image processing.
Syntax
Java
public class TwoDimensionalArrayExample {
    public static void main(String[] args) {
        // Declare and create a 2D array with 3 rows and 4 columns
        int[][] matrix = new int[3][4];

        // Assign a value to a specific cell
        matrix[0][0] = 5;

        // Access a value from the array
        int value = matrix[0][0];
    }
}

The first bracket [] represents rows, and the second [] represents columns.

Array indices start at 0, so the first row is index 0 and the first column is index 0.

Examples
This creates an empty 2D array with no rows and no columns.
Java
int[][] emptyArray = new int[0][0];
This creates a 2D array with one row and one column containing the value 42.
Java
int[][] singleElementArray = {{42}};
This creates a jagged 2D array where each row can have a different number of columns.
Java
int[][] jaggedArray = new int[3][];
jaggedArray[0] = new int[2];
jaggedArray[1] = new int[4];
jaggedArray[2] = new int[3];
This creates a 3x3 2D array with predefined values.
Java
int[][] predefinedArray = {
    {1, 2, 3},
    {4, 5, 6},
    {7, 8, 9}
};
Sample Program

This program creates a 2D array with 2 rows and 3 columns. It first prints the array with default values (which are zeros). Then it fills the array with multiplication results of (row + 1) and (col + 1) and prints the updated array.

Java
public class TwoDimensionalArrayDemo {
    public static void main(String[] args) {
        // Create a 2D array with 2 rows and 3 columns
        int[][] table = new int[2][3];

        // Print the array before assigning values
        System.out.println("Before assigning values:");
        print2DArray(table);

        // Assign values to each cell
        for (int row = 0; row < table.length; row++) {
            for (int col = 0; col < table[row].length; col++) {
                table[row][col] = (row + 1) * (col + 1);
            }
        }

        // Print the array after assigning values
        System.out.println("After assigning values:");
        print2DArray(table);
    }

    // Helper method to print a 2D array
    public static void print2DArray(int[][] array) {
        for (int row = 0; row < array.length; row++) {
            for (int col = 0; col < array[row].length; col++) {
                System.out.print(array[row][col] + " ");
            }
            System.out.println();
        }
    }
}
OutputSuccess
Important Notes

Accessing or assigning an element uses array[row][column] syntax.

Time complexity to access or assign one element is O(1).

Be careful not to access indexes outside the array size to avoid errors.

Summary

Two-dimensional arrays store data in rows and columns like a table.

Use array[row][column] to access or change values.

They are useful for grids, matrices, and tabular data.

Practice

(1/5)
1. What does a two-dimensional array in Java represent?
easy
A. A collection of unrelated variables
B. A single list of elements
C. A table with rows and columns
D. A method to sort numbers

Solution

  1. Step 1: Understand the structure of two-dimensional arrays

    Two-dimensional arrays store data in rows and columns, like a grid or table.
  2. Step 2: Compare options with the definition

    Only A table with rows and columns correctly describes this as a table with rows and columns.
  3. Final Answer:

    A table with rows and columns -> Option C
  4. Quick Check:

    Two-dimensional array = table [OK]
Hint: Think of it as a spreadsheet with rows and columns [OK]
Common Mistakes:
  • Confusing with one-dimensional arrays
  • Thinking it's a list of unrelated variables
  • Mixing arrays with methods
2. Which of the following is the correct way to declare a two-dimensional array of integers in Java?
easy
A. int matrix[3][4];
B. int[][] matrix = new int[3][4];
C. int matrix = new int[3,4];
D. int[] matrix = new int[3][4];

Solution

  1. Step 1: Recall Java syntax for 2D array declaration

    Java uses int[][] name = new int[rows][columns]; to declare 2D arrays.
  2. Step 2: Check each option

    int[][] matrix = new int[3][4]; matches correct syntax. int matrix[3][4]; is C-style, invalid in Java. int matrix = new int[3,4]; uses comma, invalid. int[] matrix = new int[3][4]; declares a 1D array incorrectly.
  3. Final Answer:

    int[][] matrix = new int[3][4]; -> Option B
  4. Quick Check:

    Correct 2D array syntax = int[][] matrix = new int[3][4]; [OK]
Hint: Use double brackets [][] and new with sizes [OK]
Common Mistakes:
  • Using commas instead of separate brackets
  • Trying C-style declarations
  • Mixing 1D and 2D array syntax
3. What is the output of the following Java code?
int[][] arr = {{1, 2}, {3, 4}, {5, 6}};
System.out.println(arr[1][0]);
medium
A. 3
B. 5
C. 4
D. 2

Solution

  1. Step 1: Identify the element at arr[1][0]

    arr[1] is the second row: {3, 4}. The element at index 0 in this row is 3.
  2. Step 2: Confirm the printed value

    System.out.println prints arr[1][0], which is 3.
  3. Final Answer:

    3 -> Option A
  4. Quick Check:

    arr[1][0] = 3 [OK]
Hint: Remember indexing starts at 0 for rows and columns [OK]
Common Mistakes:
  • Confusing row and column indices
  • Starting count at 1 instead of 0
  • Mixing up elements in nested arrays
4. Find the error in the following code snippet:
int[][] grid = new int[2][3];
grid[2][1] = 5;
medium
A. Array index out of bounds error
B. Syntax error in declaration
C. Missing initialization of array
D. No error, code runs fine

Solution

  1. Step 1: Check array size and indices used

    Array grid has 2 rows (indices 0 and 1) and 3 columns (indices 0 to 2). Accessing grid[2][1] uses row index 2 which is out of bounds.
  2. Step 2: Identify the error type

    Accessing an invalid index causes ArrayIndexOutOfBoundsException at runtime.
  3. Final Answer:

    Array index out of bounds error -> Option A
  4. Quick Check:

    Index 2 invalid for 2-row array [OK]
Hint: Check array size before accessing indices [OK]
Common Mistakes:
  • Using indices equal to array length
  • Confusing rows and columns sizes
  • Assuming arrays auto-expand
5. Given a 2D array int[][] data = {{1,2},{3,4},{5,6}};, which code snippet correctly calculates the sum of all elements?
hard
A. int sum = 0; for(int i=0; i
B. int sum = 0; for(int i=0; i
C. int sum = 0; for(int i=0; i
D. int sum = 0; for(int i=0; i

Solution

  1. Step 1: Understand array dimensions and iteration

    data.length is number of rows (3). data[i].length is number of columns (2). Nested loops must iterate rows then columns.
  2. Step 2: Analyze each option's loop structure

    int sum = 0; for(int i=0; i
  3. Final Answer:

    The nested loops with outer loop on data.length and inner on data[i].length -> Option D
  4. Quick Check:

    Correct nested loops sum all elements [OK]
Hint: Outer loop rows, inner loop columns for 2D arrays [OK]
Common Mistakes:
  • Swapping row and column loops
  • Adding arrays directly to int
  • Using wrong indices in loops
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard