You are on page 1of 24

ARRAYS

in
JAVA
TOPICS TO COVER:--
 Array declaration and use.

 One-Dimensional Arrays.
 Passing arrays and array elements as parameters
 Arrays of objects
 Searching an array
 Sorting elements in an array
ARRAYS
An array is group of like-typed variables that are referred to
by a common name.

The entire array Each value has a numeric index


has a single name
0 1 2 3 4 5 6

scores 50.5
50 12.8
12 4.05
45 78
7.8 66
0.66100
1.00125
12.5
An array of size N is indexed from zero to N-1
An array can be of any type. INTEGER
FLOAT

Specific element in an array is accessed by its index.


Can have more than one dimension
2D Array Elements
Row
Requires two indices
Which cell is
CHART [3][2]?
Column

[0] [1] [2] [3] [4] [5]


[0] 0 97 90 268 262 130
[1] 97 0 74 337 144 128
[2] 90 74 0 354 174 201
[3] 268 337 354 0 475 269
[4] 262 144 174 475 0 238
[5] 130 128 201 269 238 0
CHART
Arrays
A particular value in an array is referenced using the array
name followed by the index in brackets
For example, the expression

scores[2]
refers to the value 45 (the 3rd value in the array)

0 1 2 3 4 5 6

50 12 45 78 66 100 125
5
DECLARAING ARRAYS
The general form of 1-d array declaration is:-
type var_name[ ]; 1. Even though an array variable
“scores” is declared, but there
int, float, char array name is no array actually existing.
2. “score” is set to NULL, i.e.
E.g.:--- int scores [ ]; an array with NO VALUE.

scores int[] scores = new int[10];


NULL

To link with actual, physical array of integers….


Declaring Arrays
 Some examples of array declarations:

double[] prices = new double[500];


boolean[] flags;

flags = new boolean[20];


char[] codes = new char[1750];

8
ARRAY INITIALIZATION
Giving values into the array created is known as
INITIALIZATION.
The values are delimited by braces and separated by commas
Examples:
int[ ] units = {147, 323, 89, 933, 540, 269, 97, 114, 298, 476}
char[ ] letterGrades = {'A', 'B', 'C', 'D', ’F'};
Note that when an initializer list is used:
the new operator is not used

no size value is specified

The size of the array is determined by the number of items in the


initializer list. An initializer list can only be used only in the array
declaration
ACCESSING ARRAY
A specific element in an array can be accessed by
specifying its index within square brackets.
All array indexes start at ZERO.

Example:- System.out.println(units[4]);

mean = (units[0] + units[1])/2;

0 1 2 3 4 5 6 7 8 9
int[ ] units = {147, 323, 89, 933, 540, 269, 97, 114, 298,
PROCESSING ARRAY ELEMENTS
Often a for( ) loop is used to process each of the elements

of the array in turn.


The loop control variable, i, is used as the index to access array

components
EXAMPLE:- int i;
score [0]
for(i=0;i<=2;i++)
{
System.out.println(+score[i]);
}
0 1 2 3 4 5 6
score 50 12 45 78 66 100 125
int i; score [1]
for(i=1;i<=2;i++)
{
System.out.println(+score[i]);
}

0 1 2 3 4 5 6
score 50 12 45 78 66 100 125
Bounds Checking
Once an array is created, it has a fixed size

An index used in an array reference must specify a valid


element
That is, the index value must be in bounds (0 to N-1)
The Java interpreter throws an
ArrayIndexOutOfBoundsException if an array index
is out of bounds
This is called automatic bounds checking

14
Bounds Checking
For example, if the array score can hold 100 values, it
can be indexed using only the numbers 0 to 99
If i has the value 100, then the following reference will
cause an exception to be thrown:
System.out.println (score[i]);
It’s common to introduce off-by-one errors when using
arrays
problem

for (int i=0; i <= 100; i++)


score[i] = i*50;
15
ARRAY OF OBJECTS
 Create a class student containing data members Name, Roll_no,
and Marks.WAP in JAVA to accept details of 5 students. Print
names of all those students who scored greater than 85 marks

student

Chris,101,85
student[0]
student[1]
Brad, 102,75.8
student[2]
student[3] Andrew, 103,75.9
Recursion
• Recursion is the process of defining something
in terms of itself.
• It allows a method to call itself.

compute()

In general, to solve a problem using recursion, you


break it into sub problems.
AREAS WHERE RECURSION CAN BE USED…………….
 FACTORIAL OF A NUMBER.
 FIBONACCI SERIES.
 GCD OF TWO NUMBERS.
 TOWER OF HANOI.
 QUICK SORT.
 MERGE SORT.
Recursion Example
cal (5)

return 5 +cal (4)

return 4 +cal (3)


6
return 3 +cal (2)
3
return 2 +cal (1)
TO WHOM??????
return 1 1
5 cal(5) CALLING FUNCTION
Iteration vs. Recursion
ITERATION RECURSION

• Certain set of instructions • Certain set of


are repeated without instructions are repeated
calling function. calling function.

• Uses for, while, do-while • Uses if, if-else or switch.


loops.

• More efficient because of • Less efficient.


better execution speed.
COMPARSION contd….
• Memory utilization • Memory utilization is
more.
is less.
• Complex to implement.
• Simple to
implement.
• Brings compactness in
the program.
• More lines of code.
• Terminates when base
case is satisfied.
• Terminates when
loop condition fails.
GCD USING RECURSION
ALGORITHM:-
int GCD(int a, int b)
{
if(b>a)
return (GCD(b, a));
if(b==0)
return (a);
else
return (GCD(b,(a%b));
}
FIBONACCI SERIES USING RECURSION
int fibo(int f1,int f2,int count)
{
if(count==0) then
return 0;
else
f3=f1+f2;
f1=f2;
f2=f3;
System.out.print(" "+f3);
count--;
return fibo(f1,f2,count);

}
TWO- DIMENSIONAL
ARRAY
 DECLARATION:-
Follow the same steps as that of simple arrays.
Example:-
int [ ][ ]; int chart[ ][ ] = new int [3][2];
chart = new int [3][2];

 INITIALIZATION:-
15 16
int chart[3][2] = { 15,16,17,18,19,20}; 17 18
19 20
int chart[ ][ ] = { {15,16,17},{18,19,20} };
15 16 17
18 19 20
PRACTISE
 The daily maximum temperature is recorded in 5 cities during 3
days. Write a program to read the table elements into 2-d array
“temperature” and find the city and day corresponding to “ Highest
Temperature” and “Lowest Temperature” .
 Write a program to create an array of objects of a class student. The
class should have field members id, total marks and marks in 3
subjects viz. Physics, Chemistry & Maths. Accept information of 3
students and display them in tabular form in descending order of the
total marks obtained by the student.

You might also like