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.
An array can be of any type.
Specific element in an array is accessed by its index.
Can have more than one dimension
50
12
45
78
66
100
125 scores
The entire array
has a single name
Each value has a numeric index
0 1 2 3 4 5 6
An array of size N is indexed from zero to N-1 INTEGER
FLOAT
2D Array Elements Requires two indices
Which cell is CHART [3][2]?
[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
Row
Column
5
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)
50
12
45
78
66
100
125
0 1 2 3 4 5 6
DECLARAING ARRAYS The general form of 1-d array declaration is:-
type var_name[ ];
int, float, char array name
E.g.:--- int scores [ ];
scores
NULL
1. Even though an array variable
“scores” is declared, but there
is no array actually existing.
2. “score” is set to NULL, i.e.
an array with NO VALUE.
To link with actual, physical array of integers….
int[] scores = new int[10];
8
Declaring Arrays
Some examples of array declarations:
int[ ] numbers;
int numbers[];
double[] prices = new double[500];
boolean[] flags;
flags = new boolean[20];
int[] numbers1, numbers2, numbers3;
int numbers1[], numbers2, numbers3;
• This declares one reference variable to an integer array and two primitive integer variables
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]);
int[ ] units = {147, 323, 89, 933, 540, 269, 97, 114, 298, 476};
0 1 2 3 4 5 6 7 8 9
mean = (units[0] + units[1])/2;
147 + 323 /2 =235
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;
for(i=0;i<=2;i++)
{
System.out.println(+score[i]);
}
11
50
12
45
78
66
100
125
0 1 2 3 4 5 6
score
score [0]
int i;
for(i=1;i<=2;i++)
{
System.out.println(+score[i]);
}
50
12
45
78
66
100
125
0 1 2 3 4 5 6
score
score [1]
14
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
15
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
for (int i=0; i <= 100; i++)
score[i] = i*50;
problem
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
student[0]
student[1]
student[2]
student[3]
Chris,101,85
Brad, 102,75.8
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.
TWO- DIMENSIONAL ARRAY DECLARATION:-
Follow the same steps as that of simple arrays.
Example:-
int [ ][ ];
chart = new int [3][2];
INITIALIZATION:-
int chart[ ][ ] = new int [3][2];
int chart[3][2] = { 15,16,17,18,19,20};
15 16
17 18
19 20
int chart[ ][ ] = { {15,16,17},{18,19,20} };
15 16 17
18 19 20
PROGRAM FOR 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.