Array Declarations in Java (Single and Multidimensional) (original) (raw)

Last Updated : 28 Apr, 2025

In Java, an Array is used to store multiple values of the same type in a single variable. There are two types of arrays in Java:

In this article, we are going to discuss **how to declare and use single and multidimensional arrays in Java.

Single-Dimensional Array

It is a collection of variables of the same type which is used by a common name. In an array, we can access each element with the help of an index.

Declaration of Single-Dimensional Array

The declaration of a single-dimensional array is:

dataType[] arrayName = new dataType[size];

**Note: Here, **dataType is the type of elements the array will store, **arrayName is the name of the array variable, and **size is the number of elements the array can hold.

**Example:

Java `

import java.io.*;

class Geeks { public static void main(String[] args) { int[] a; // valid declaration int b[]; // valid declaration int[] c; // valid declaration } }

`

We can write it in any way. Now, if declare the array like below:

**Example:

Java `

import java.io.*;

class Geeks { public static void main(String[] args) { // invalid declaration -- If we want to assign // size of array at the declaration time, it // gives compile time error. int a[5];

    // valid declaration
    int b[];
}

}

`

Now, suppose we want to write multiple declaration of array variable then how we gonna do this.

**Example:

Java `

import java.io.*;

class Geeks { public static void main(String[] args) { // valid declaration, both arrays are // one dimensional array. int a[], b[];

    // invalid declaration
    int c[], [] d;

    // invalid declaration
    int[] e, [] f;
}

}

`

When we are declaring multiple variable of same time at a time, we have to write variable first then declare that variable except first variable declaration. There is no restriction for the first variable.

**Note: When we creates an array it is mandatory to pass the size of array, otherwise we will get compile time error. We can use **new operator for creating an array.

**Example:

Java `

import java.io.*;

class Geeks { public static void main(String[] args) { // invalid, here size of array is not given int[] a = new int[];

    // valid, here creating 'b' array of size 5
    int[] b = new int[5];

    // valid
    int[] c = new int[0];

    // gives runtime error
    int[] d = new int[-1];
}

}

`

**Implementation of Single Dimensional Array

Java `

// A complete Java program to // demonstrate working of // one dimensional array

class Geeks {

public static void main(String args[])
{
    // one dimensional array declaration
    int[] a; 
    // creating array of size 3
    a = new int[3];
    for (int i = 0; i < 3; i++) {
        a[i] = 100;
        System.out.println(a[i]);
    }
}

}

`

Now, we will discuss about Multidimensional Array in detail.

**Multi-Dimensional Array

Suppose, we want to create mutli dimensional array of **int data type.

Declaration of Mutli-Dimensional Array

The declaration of multidimensional array is:

dataType[][] arrayName = new dataType[rows][columns];

**Note: Here, row is the number of rows and coloumn is the number of element in each row.

So, there are multiple ways to declare multidimensional array which are below with examples:

**Example:

Java `

import java.io.*;

class Geeks { public static void main(String[] args) { int a[][]; // valid int[][] b; // valid int[][] c; // valid int[] d[]; // valid int[][] e; // valid int[] f[]; // valid

    [][] int g; // invalid
    [] int[] h; // invalid
}

}

`

Now, suppose we want to write multiple declarations of array variable then we can use it like this.

**Example:

Java `

import java.io.*;

class Geeks { public static void main(String[] args) { // Here, 'a' is two dimensional array, 'b' // is two dimensional array int[] a[], b[];

    // Here, 'c' is two dimensional array, 'd'
    // is two dimensional array 
    int[] c[], d[]; 

    // Here, 'e' is two dimensional array, 'f' 
    // is three dimensional array
    int[][] e, f[]; 

    // Here, 'g' is two dimensional array, 
    // 'h' is one dimensional array
    int[] g[], h; 
}

}

`

Implementation of Mutli-Dimensional Array

Java `

// A complete Java program to // demonstrate working of // two-dimensional array

class Geeks {

public static void main(String args[]) {
    // Two-dimensional array declaration
    int[][] arr;
    
    // Creating a 2x3 matrix (2 rows and 3 columns)
    arr = new int[2][3];
    
    // Initializing and printing elements of the matrix
    for (int i = 0; i < 2; i++) {
        for (int j = 0; j < 3; j++) {
            arr[i][j] = 100;  // Assigning a value
            System.out.println("Element at position (" + i + "," + j + "): " + arr[i][j]);
        }
    }
}

}

`

Output

Element at position (0,0): 100 Element at position (0,1): 100 Element at position (0,2): 100 Element at position (1,0): 100 Element at position (1,1): 100 Element at position (1,2): 100

Now, we are going to disucuss one more interesting thing that **how to create one dimensional and two dimensional array without the help of new operator.

**Example:

Java `

// creating one and two dimensional // array without new operator

class Geeks {

public static void main(String args[]) {
    int[] a[] = { { 1, 1, 1 }, { 2, 2, 2 }, { 3, 3, 3 } };
    int[] b = { 20 };

    // print 1D array
    System.out.println(b[0]);

    // print 2D array with updated values
    for (int i = 0; i < 3; i++) {
        for (int j = 0; j < 3; j++) {
             // Modifying the element
            a[i][j] = 100; 
            // Print in a single line
            System.out.print(a[i][j] + " ");  
        }
        // Move to the next line after each row
        System.out.println();  
    }
}

}

`

Output

20 100 100 100 100 100 100 100 100 100

Now, let’s discuss, how to create one dimensional array and two dimensional array using new operator.

**Example:

Java `

class Geeks {

public static void main(String args[]) {
    // Creating a 2D array
    int[][] a;  
    // Declare a 1D array
    int[] b;    

    // Initialize arrays using the new operator
    a = new int[3][3];
    b = new int[3];

    // print 1D array
    for (int i = 0; i < 3; i++) {
        // Assign values to b[]
        b[i] = 20;  
        System.out.println(b[i]);
    }

    // print 2D array
    for (int i = 0; i < 3; i++) {
        for (int j = 0; j < 3; j++) {
            // Assign values to a[][]
            a[i][j] = 100;  
             // Print elements on the same line
            System.out.print(a[i][j] + " "); 
        }
        // Move to the next line after each row
        System.out.println();  
    }
}

}

`

Output

20 20 20 100 100 100 100 100 100 100 100 100