Skip to main content

Arrays in Java

 



Variables are used to store values. So far we have learnt about storing a single value inside a variable.

Now suppose you have a condition where you need to store multiple values of similar type and category, in this case are you going to create multiple variables to store all these values?

Let’s give you an example. Suppose you run a shop where you maintain a database containing product names.

Now, to store multiple product names, you just can create an array where you can store all the product names at a single location.

Array can contain different types of variables. But remember one array cannot contain two different types of variable. If you want to store two types of variables, you need to create two different arrays of required types.

In order to use an array, first we have to declare the array and then we can assign the values inside the array.

We are going to be learning non primitive data types while we learn array. Students who have already learnt C++ must have learnt about array because array is a common chapter in both Java and C++. In both the programming languages you will get to learn array.

Let’s understand the concept of array with an example. Let’s assume there is a student and we want to store the marks obtained by students in an array. There will be many subjects and in future the subjects may add also.

Now what will you do? Will you create every time a new variable for storing student’s mark. No, there is a better solution in java. Rather than making multiple variables and creating a complicated program, we can just create a list of items consisting of same data types.

We will create a list of marks of same type (integer) to store the values. The data here are getting stored in the form of a list. These data will be used later in the programming.

We hope that you have get some basic idea about array in Java. Array is very important concept in Java as well as in any programming language.

 

Syntax of an Array:

Type[] arrayName = new Type[size];

 

The above piece of code is written while declaring an array. First we have to declare which type of array we are going to create. Then we have to use square brackets, in Java wherever we see a pair of square brackets we should understand we are dealing with an array.

After using the square brackets we put a name to our array and then we write equal to symbol followed by the word “new”. Like “break” or “return” in java “new ” is also a keyword. In order to occupy new spaces in the memory by creating a variable of non primitive type we use the keyword “new” in Java.

After “new” keyword we have to write again the type of the array, the same which we had written at the beginning of the syntax. Then we write size of our array inside a square bracket. The syntax ends with a semicolon.

Since array in Java is nothing but a variable consisting of list, hence we have to declare the size of our list in the syntax itself.

For example, if we have to store the marks of student in an array, we have to write the java as follows.

 

         int[] marks = new int[8];

In above example we are storing marks of 8 subjects. If we have to store marks of more subjects we just have to change the size of the array.

Let us now visualize what is happening inside the memory after declaring an array. There will be 8 numbers of storage assigned for each subjects as shown below. Marks of different subjects will be stored in those storages.

 

Bengali

English

History

Geography

Science

Math

Computer

Music

0

1

2

3

4

5

6

7

 

There are fixed number of these memory boxes and those numbers will help you access specific data of an array. For example the first places of an array is numbered by 0, the second space is numbered by 1 and so on.

If we have to access the marks of Math subject, we can simply access the same by marks[5] as the math subjects’ mark is stored in the 5 numbered box of the array.

If we have to store computer’s marks as 75 we just have to assign the same as below.

marks[6] = 75;

Similarly, we can store the marks of other subjects as well. You have to keep in mind that the numbering of an array’s memory starts from only ‘0’. Since the indexing of Java array starts from ‘0’, hence it is called zero-indexed array.In some programming languages indexing starts from 1 as well.

 

In order to access the values stored in any array we just have to write the name of the array and inside a pair of square bracket we have to mention the index position.

          System.out.println(marks[0]);

 

The above print statement will print the value stored in the 0th position of array “marks”. Similarly we can print the values stored in other index position as well. That’s how the marks of a student in different subjects is stored in an array and can easily be accessed as well.

Now let’s see a complete coding example of an array including declaration of an array, value assigning and accessing those values.

package FirstJava;

 

public class JavaArray {

 

     public static void main(String[] args) {

 

          int marks[] = new int[3];

         

          marks[0]=97;

          marks[1]=95;

          marks[2]=99;

         

          System.out.println(marks[0]);

          System.out.println(marks[1]);

          System.out.println(marks[2]);

     }

 

}

 

 

Output in the Console:

97

95

99

Remember that when we will be printing the values stored in an array we have to specify the index position of the array which we want to print, otherwise the program will not print the values stored in the array and it will print some jargon values.

We can also print of the values stored in the array with the help a loop.

 

How an Array Values stored in Computer Memory:

As soon we create any array in Java programming, immediately the computer reserves spaces in the memory. Suppose there are 3 numbers stored in the array, then memory will also be reserved accordingly.

Each memory location will have a unique memory address in hexadecimal form. Since an integer variable’s size is 4 bytes, there will be 12 bytes occupied in the memory for storing 3 integer values.

In the below table, we have memory address written in numbers, however actual memory address will be written in hexadecimal form. Each memory address size is 1 byte.

The first four memory location reserves the value of first subject and so on. The memory is allocated in linier fashion. Which means each memory location’s address will be greater than the previous memory location’s address.

1001

1002

1003

1004

1005

1006

1007

1008

1009

1010

1011

1012

Total 04 bytes

Total 04 bytes

Total 04 bytes

 

 

Alternate way of Array declaration:

The array can be declared in other ways as well. Check the below syntax.

 

Type [] arrayName = {10,20,30,40,50};

 

 

In this type of declaration we already know from the beginning the actual size of the array. We declare as well as assign values to array at the same time.

 

As there are 5 values in the array, the memory will automatically get allocated for 5 integer values. If we know the elements of an array  from the beginning, we can create an array like this.

 

 

User Input in Java Array:

 

User input is very important in Java. The size of an array can be specified by a user and memory will be allocated according to the size given by the user.

 

package FirstJava;

 

import java.util.Scanner;

 

public class JavaArray {

 

     public static void main(String[] args) {

 

         

          Scanner sc = new Scanner(System.in);

 

          System.out.println("Enter Array Size");

         

          int size = sc.nextInt();

         

          int marks[] = new int[size];

         

          for (int i=0;i<size;i++) {

              System.out.println(marks[i]);

          }

         

         

     }

 

}

 

In the above program we have taken the size of the array as user input. We created an object of Scanner class.

 

A “size” variable has been created which is of integer type and the value of size is being is being taken by user input.

 

As we run the program, it automatically asks for an user input of integer value. Whatever value is input by the user will be stored in “size” variable and an array of same size will be created.

 

Now, with the help of for loop we can print the elements of the array.

 

Although the array values were not provided, when we run the program, we see that whatever size had been given by the user as input, same number of “zero” is printed. Then where did those zeroes come from?

 

The answer is unassigned array gets automatic a value of zero or null value if not initialized. Similarly other data types in array gets auto initialized with respective values such as float array is auto initialized by 0.0, string array gets auto initialized by an empty string and so on.

 

If the array is initialized with a proper value at the time of its declaration, then the given value is stored inside the array instead of null value.

 

Unlike Java, in C++ programming language, any uninitialized array is auto initialized by some garbage values. This is a benefit in Java programming language because if you have created an array and you do not know which data will be stored in the array in future, the array will be automatically initialized.

 

Lets us see now how to write a program which will take input from the users marks obtained in different subjects and later print those values.

package FirstJava;

 

import java.util.Scanner;

 

public class JavaArray {

 

     public static void main(String[] args) {

 

         

          Scanner sc = new Scanner(System.in);

         

          int marks[] = new int[4];

          String[] subs = {"Bengali", "English", "Math", "Science"};

         

          for (int i=0;i<4;i++) {

              System.out.println("Enter the marks of "+ subs[i]);

              marks[i]=sc.nextInt();

          }

         

         

          for (int i=0;i<4;i++) {

              System.out.println("Marks obtained in "+ subs[i]);

              System.out.println(marks[i]);

          }

         

         

     }

 

}

 

 

How to ascertain the length of an array:

There is a length attribute associated with each array. This variable helps us get the size of an array.

For example we declare an array which will store the ages of students. By default we assign some values as well inside the array.

Now in order to get the size of the array we just simply run the below code.

 

int [] ages = {"24", "22", "21", "23"};

 

            int size = ages.length;

 

 

This code will store the size of the array inside the “size” variable, which can later be used in different purposes in programming.

 

Java Exercise (Array):

Question:

Create a string array to take input of few names from the user and later print those names on the screen.

Solution:

package FirstJava;

 

import java.util.Scanner;

 

public class JavaArray {

 

     public static void main(String[] args) {

 

          Scanner sc = new Scanner(System.in);

          System.out.println("How many names do you want to enter?");

          int size = sc.nextInt();

         

          String names[] = new String[size];        

         

         

          for (int i=0; i<size; i++) {

              System.out.println("Enter Name "+(i+1));

              names[i] = sc.next();

          }

         

          System.out.println("Names you have entered are:");

          System.out.println("**************************");

         

          for (int i=0; i<size; i++) {

              System.out.println((i+1)+"."+names[i]);

          }

 

         

         

     }

 

}

 

Conclusion:

Hope you have understood the concept of array in Java. We will learn more about Java programming in our next lesson.

Comments

Popular posts from this blog

What is Java

Java is a general purpose programming language. Which means this programming language is used in many purposes apart from being used only in android application development. There are a few similarities between Java programming language and C++ programming language. But Java programming language is having some advanced features which you are going to learn in future. In programming languages you write programs in the form of statements in many lines and those statements are executed one by one. In Java, the execution happens really fast and concurrently it can execute many statements. Java is a platform independent (Java compiled byte code can be run across different operating systems) and object oriented programming language.   Why should we learn Java programming language?   Easy to learn: Java is a easy to learn programming language. Once you start learning Java programming, you will actually be learning the real programming and you will observe everyth...

Java User Input Exercise

Exercise 1: Write a simple java program to take user input of a number and store it inside an integer variable. Later print the number on the screen.   Solution 1:   import java.util.Scanner;   public class UserInpur {        public static void main(String[] args ) {               Scanner sc = new Scanner(System. in );           System. out .println( "Enter a number" );           int x = sc .nextInt();           System. out .println( "You have entered:" );                   System. out .println( x );        }   }   Exercise 2: Write a simple java program to tak...

Java Operators

In this lesson you are goin g to learn about operators in Java and also what are the different types of operators used in Java programming.   In our previous lesson we have learnt how to take user input in Java. We were performing different types of arithmetic operations in order to create a simple ration shop billing application which took different values as the user input and calculated total billing amount.   During the programming the billing application we used different signs like addition (+) , multiplication (*) etc. These signs are called operators in Java programming.   Types of Operators in Java There are five types of operators in Java. Arithmetic Operators Bitwise Operators Assignment Operators Comparison Operators Logical Operators 1.Java Arithmetic Operators Arithmetic operators are used to perform mathematical operations such addition, division, multiplication, subtraction and modulation. Let’s see the example of arithmetic operators in below:   ...