You are on page 1of 8

Alpine Infotech (Notes by Swadesh Ranchi)

What is meant by an Array ?


An Array is a structure created in the memory to represent more than one value or elements under a single
declaration of a variable
What is the Need of Arrays in Java ?
Instead of creating different variables in order to assign different values, by using arrays we can declare more
than one element or value under the same declaration, we can also allot the space for each Array in
Java.Therefore, we need not create a sepearate variable for each separate variable.
Arrays also makes it easier to perform calculations in the loop
Example : Consider :
for(int i=1;i<=10;i++)
int m = Integer.parseInt(in.readLine());
In the above Java statements , we can input the value of the variable m for 10 times using the for loop as
shown , but as soon as the next value of the variable m is entered by the user the previous value of the m gets
deleted , therefore , If we want to calculate the sum of the 10 values entered by the user , it is not very easy ,
therefore , to perform this activity , we can use Arrays to make it easier and simple to avoid confusion for better
programming.
Syntax To Declare an Array
The syntax to declare an array is :
datatype ArrayName[] = new dataype[size];
OR
datatype[] Arrayname = new datatype[size];
The above statement(s) can be shortened and simplified by writing as :
datatype Arrayname[] = {val1,val2,val3valn};
Examples : int m[] = new int[10]
In the above statement , we declared m as an Array , and we also declared the size of the Array as 10 ,
therefore , the array m can hold 10 different values.
Declaring an Integer data type array : int m[] = {21,85,48,54,78,96,321,54,47,87};
Declaring a Double data type array : double m[] = {13.0,322.15,85.1,63.12,48.12,78.0,48.1,65.12,98.2};
Declaring a String data type array : String m[] = {Teja Swaroop,Pothala,Loyola Public
School,10D,48};
Declaring a Character data type array : char m[] = {a,c,2, ,/,?};
Note : Every element in an array of any datatype is separated by a Coma(,)
length is the function in which returns the length of the array i.e., the number of elements present in the array
EX : int l = m.length //here m is the array and l is the length is the array.
A simple Program to demonstrate the functioning of Arrays: .. (i)
class ExArray
{
static void test()
{
int m[] = {12,58,69,87,45,78,25,36};
System.out.println(The elements in the Array are : );
for(int i=0;i<m.length;i++)
{
System.out.print(m[i]+ );
}
1

Alpine Infotech (Notes by Swadesh Ranchi)

}
}
Output of the above program :

Explanation of the above program :


Firstly we have declared an array m as int datatype and assigned the elements 12,58,69,87,45,78,25,36 to the
variable m , and then we used a for loop , starting from 0 till the last element of the array m. When the i
value is 0 m[i] that is , m[0] = 0th position of the array m (that is 12) will be printed. This is similar to the
String fuction indexOf in Java . Similarly , when i value was 1 , m[1] = 1st position of array m'(that is 58)
will be printed , and in the same way all the elements of the array m are printed till the end of the array m
reaches. Therefore , in the array {12,58,69,87,45,78,25,36} :
m[0] = 12
m[1] = 58
m[2] = 69
m[3] = 87
m[4] = 45
m[5] = 78
m[6] = 25
m[7] = 36
Types of Arrays :
1.Single Dimensional array
2.Double Dimensional array
1.Single Dimensional array :
A single dimensional array is that in which only the rows of the array can be declared
Example , double m[] = {2..3,5.2,8.9,5.6};
An example program for 1D array is (i) above
2.Double Dimensional array :
A double dimensional array is that in which even the columns along with the rows can be declared
Example , int m[2][3] = {{1,5,7,6},{3,8,9,6}};
In the above statement the first [] represent the rows of the array and as we placed 2 in between the first [] , it
means that the array m is allocated for 2 rows . The second [] represent the columns of the array and as we
placed 3 in between the second [] , it means that the array m is allocated for 3 columns .
A simple Program to demonstrate the functioning of 2D arrays :
class Arrays2D
{
static void test()
{
int m[][]={{1,5,6,9},{2,5,9,7},{15,5,78,9}};
for(int i=0;i<3;i++)
{
for(int j=0;j<4;j++)
{
2

Alpine Infotech (Notes by Swadesh Ranchi)

System.out.print(m[i][j]+ );
}
System.out.println();
}
}
}
Output of the above program :

Explanation of the above Program :


Firstly , we have declared a 2D array m and by using the for loop , we printed the rows and columns of the
array in the form of an array.
How To Input the elements of the Arrays form the User ?
There are three ways to input the elements of the arrays from the user :
1.By Assignment Method
Input through assignment method is already explained aboce
2.By Bluej Method
We can input the elements of the array through bluej method , it can be done by declaring the array in the
method of the program , Example ,
static void teja(int m[])
In the above statement we have declared the array m , in the method teja of the program.
Example Program to input the elements of an array through Bluej Mehod :
class Arrays_Bluejmthd
{
static void test(int m[])
{
System.out.println(The Entered Array is : );
for(int i=0;i<m.length;i++)
{
System.out.print(m[i]+ );
}
}
}
Input :

Output of the program ,


3

Alpine Infotech (Notes by Swadesh Ranchi)

2.By Input Stream Reader Method


Example Program to input the elements of the array through Input Stream Method,We should follow all the
rules that are required to input the values through Input Stream Method.
import java.io.*;
class InputStreamMthd
{
static void test()throws IOException
{
InputStreamReader isr = new InputStreamReader(System.in);
BufferedReader br = new BufferedReader(isr);
System.out.println(Enter 10 values of the array one at a time );
int m[] = new int[10];
for(int i=0;i<m.length;i++)
{
m[i]=Integer.parseInt(br.readLine());
}
System.out.println(The entered array is );
for(int j=0;j<m.length;j++)
{
System.out.print(m[j]+ );
}
}
}
In the above program the highlighted part plays the real role in arranging the elements entered by the user in the
array.
Input,

Output of the Program ,

Basic Operations on Arrays :


1.Searching
4

Alpine Infotech (Notes by Swadesh Ranchi)

Searching is a process in which the entered value is checked with the already present values to find out whether
the entered value is present in the array.
Two types of Searching Methods ,
(i).Linear Searching :
It is the method in which the the elements present in the array are checked from 0th position with the value
entered by the user , the checking starts from 0th position, if the element is present in the array , it results as
Search Successful else
it results as Search Unsuccessful
Example Program on Linear Searching ,
import java.util.*;
class LinearSearch
{
static void test(int m[])
{
int a=0;
Scanner in=new Scanner(System.in);
System.out.println(The Array obtained is : );
for(int k=0;k<m.length;k++)
{
System.out.println(m[k]);
}
System.out.print(Enter the number which is to be searched :);
int c=in.nextInt();
boolean isPresent = false;
for(int j=0;j<m.length;j++)
{
if(c==m[j])
a++;
}
if(a>=1)
System.out.println(Search Successful );
else
System.out.println(Search Unsuccessful );
}
}
Input ,
Entered array = {15,154,48,48,48}

Output of the Program ,


Search Successful
Here is the modified program of Linear Search which also shows the place where the search item was
present !! :
5

Alpine Infotech (Notes by Swadesh Ranchi)

import java.util.*;
class LinearSearch
{
static void test(int m[])
{
Scanner in = new Scanner(System.in);
System.out.println(Elements of the Array are : );
for(int i=0;i<m.length;i++)
System.out.print(m[i]+ );
System.out.println(\n\nEnter the number to be searched );
int c = in.nextInt();
int a = 0;
for(int j=0;j<m.length;j++)
{
if(c==m[j])
{
a++;
}
}
int[] s=new int[a];
int k=0;
for(int j=0;j<m.length;j++)
{
if(c==m[j])
{
a++;
s[k]=j;
k++;
}
}
if(a>=1)
{
System.out.print(\n\nSearch successful, +c+ is present at : );
for(int i=0;i<s.length;i++)
System.out.print(s[i]+ , );
System.out.print(Positions(s) );
}
else
System.out.println(\n\nSearch unsuccessful ! );
}
}
(ii)Binary Searching :
Binary search can only be applied to array whose elements are in either or descending order.
let us , take the array {4,7,8,10,14,21,22,36,62,77,81,91}
Here , there are 11 elements in the array , the process that happens in binary search is :
Step 1, The mid term of the array gets calculated , it will be calculated as (first element + last element)/2 and
based on the mid term , the array gets divided into two parts.
6

Alpine Infotech (Notes by Swadesh Ranchi)

Step 2, The value entered by the user gets compared with the mid term let us say, the user entered 22 , now, the
mid term i.e., 21<22 therefore, the search goes to the second half(greater half)
Step 3 , Then , the first half again gets divided into two halves by calculating the mid term of the first half last
2= mid-1 ; mid2=first+last/2
Step 4 , if the value entered by the user matches with any of the element of the array , then the search is said to
be successful , else
the search is said to be unsuccessful.
For better understanding , refer the image below ,

Example Program for binary search in Java,


import java.util.Scanner;
class BinarySearch
{
public static void main()
{
int c, first, last, middle, n, search, array[];
Scanner in = new Scanner(System.in);
System.out.println(Enter number of elements);
n = in.nextInt();
array = new int[n];
System.out.println(Enter + n + integers);
for (c = 0; c < n; c++)
array[c] = in.nextInt();
System.out.println(Array entered is : );
for(int i=0;i<array.length;i++)
System.out.print(array[i]+ );
System.out.println(\nEnter value to find);
search = in.nextInt();
first = 0;
last = n 1;
middle = (first + last)/2;
while( first <= last )
{
if ( array[middle] < search )
first = middle + 1;
else if ( array[middle] == search )
{
System.out.println(search + found at location + (middle + 1) + .);
7

Alpine Infotech (Notes by Swadesh Ranchi)

break;
}
else
last = middle 1;
middle = (first + last)/2;
}
if ( first > last )
System.out.println(search + is not present in the list.\n);
}
}
2.Sorting
Sorting is a process in which the elements of the array are either arranged in ascending or descending order.
Two methods of sorting in JAVA ,
(i)Selection Sort :
It is the method in which the control starts from 0th position and it checks for the lowest value , and replaces it
with the value present at the 0th position of the array , in such a way it replaces the elements which are not in
order , and thus results in ascending order.
Consider the array {5,1,12,-5,16,2,12,14} ,
Look at the image for better understanding

Finally ,
is the result

You might also like