Array Programs in Java: An array is a data structure that stores similar elements in a contiguous memory location. In Java, an array is an object that stores the same kind of elements. Arrays in Java are index-based, i.e., the first element is stored in the 0th index, the second element is stored in the 1st index, and the last element of the array is stored in the (n – 1)th index, where n is the size of the array. Java provides the attribute length to find the size of the array. The array programs in Java tells how to use array in Java programs. Note that Java arrays are the objects of a dynamically generated class. In Java, arrays implement Cloneable and Serializable interfaces. Java arrays also inherit the class Object. Arrays are not the primitive data type; however, they can be used to store primitive data types.

Creating an Array in Java

The following program demonstrates how to create an array and display its elements on the console.

FileName: ArrayCreation.java

Output:

Explanation:

The statement :

means we are declaring an integer array whose name is arr. The square brackets ([]) indicate that we are dealing with the array. For character array, replace the keyword int with char. In a similar way, we can declare any type of array.

The statement

allocates the memory for 5 integers in the heap memory. The reference of that allocated memory is stored in arr. Note that while allocating the memory, all the elements are also initialized to 0, i.e.,

This is because 0 is the default value of an integer in Java.

After that, the following are five statements override the default values present in the elements of the array.

During the memory allocation, JVM also assigns size of the array to the attribute length, which is 5 in our case. We have accessed the length attribute using the array object. The attribute length is of type int.

arr.length contains the value 5, as we have allocated memory for 5 elements, which is assigned to the variable size.

The Java for-loop is used to iterate over each element of the array so that we can print it on the console.

Another Approach for Creating Arrays

We see that in 3 steps, we are doing declaration, allocation of memory and assigning values. These 3 steps can be squeezed into one statement.

Consider the following program.

FileName: ArrayCreation1.java

Output:

Explanation:

The statement

first makes the declaration of the integer array whose name or reference variable is arr. We see that we have not used the new keyword. Hence, JVM implicitly allocates the memory for 5 integer elements of the array and initializes with the values 1, 2, -3, 4, and 5. The rest of the code is the same as the previous one.

Note that we have only created a one-dimensional array in the above two programs. However, we can also create a two or more than two-dimensional array in Java.

Creating Multi-Dimensional Array

Instead of using a pair square brackets ([]), we have to use two pairs of square brackets ([][])  to create a two-dimensional array in Java. A two-dimensional array is an array of array, i.e., each element of the one-dimensional array is also an array. Observe the following program.

FileName: TwoDArrayCreation.java

Output:

Explanation:

The statement

is declaring a 2-dimensional array, using arr as the reference variable. Notice, we have used a pair of two square brackets ([][]). The general syntax for the declaration of a 2-dimensional array in Java is

OR

OR

OR

The statement

allocates the memory for the 2 rows and 3 columns and assigns its reference to the variable arr. Thus, there are 3 * 2 = 6 elements in the 2-dimensional array. Each element has the value 0. We override the value of each element using the following nested for-loop.

In the end, we are displaying the elements of the array.

Like a 2-dimensional array, we can also 3-dimensional array. To create 3-dimensional array, 3 pairs of square brackets ([][][]) are used, for 4-dimensional array 4 pairs of square brackets ([][][][]) are used and so on.

Creating Jagged Array

The 2-dimensional array created above has an equal number of elements in each row. In the above example, we have created two rows. Each row has 3 elements. When the number of elements in the rows varies, a jagged array is created. In other words, an array of arrays that has different column numbers is known as a jagged array. Consider the following program.

FileName: JaggedArrayCreation.java

Output:

Explanation: In the code, nested for-loop is used for assigning values to the elements of the jagged array. As every row contains the different number of elements in a jagged array, we have to find the size of each row of the jagged array. The statement

does the same thing. Then, we are iterating over every element of the row to either update its value or to display it on the console.

Anonymous Array

Arrays in the above examples are those arrays that have references. However, we can also create an array that has no reference, i.e., an anonymous array. The following program shows how to create an anonymous array.

FileName: AnonymousArray.java

Output:

Explanation: In the main method, we are creating an anonymous integer array and passing it as an argument of the static method printArray(). The parameter int arr[] is holding the reference of the anonymous array. This shows that arrays are passed as a reference in a method in Java. With the help of reference, we are printing the elements of the anonymous array.

Printing the Class Name of an Array

In the introductory part of the topic, we have already discussed that Java arrays are the objects of the dynamically generated class. Let’s see how we can print the class name of a Java array.

FileName: ClassName.java

Output:

Explanation: We have invoked the method getClass() on the array arr. This method renders the Class type objects. The class type object represents the run time class/ dynamically generated class. The syntax of the method getClass() is

Thus, c stores the reference of the Class type objects. On c the getName() method is called to get the class name. In the end we are printing the class name on the console.

Pin It on Pinterest

Share This