Java Lect 06
Java Lect 06
Lecture - 6
Keshav Dumre ([email protected])
[email protected]
Introduction to Arrays
if-else Program
class print_num { public static void main(String args[]) { int a_number; a_number = 0; if(a_number = = 1) System.out.println("One"); else { if(a_number = = 2) System.out.println("Two"); else { if(a_number = = 3) System.out.println("Three"); else System.out.println("No. is out of the range"); } } } }
switch Program
class print_num_switch { public static void main(String args[]) { int a_number; a_number = 3; switch(a_number){ case 1: System.out.println("One"); break; case 2: System.out.println("Two"); break; case 3: System.out.println("Three"); break; default: System.out.println("No. is out of the range"); } } }
Syntax
switch(expression){ case value1: statements; break; case value2: statements; break; . . case valueN: statements; break; default: statements; } [email protected]
Note
The case values can be compared only for equality with the switch expression The expression must be of type int, char, short, byte Each case value must be a constant, not a variable Duplicate case values are not allowed The default part is optional
Arrays
Definition: An array is a group/collection of variables of the same type that are referred to by a common name and an index Examples: Collection of numbers Collection of names Collection of suffixes
Examples
Array of numbers:
10
23
863
229
Array of names:
Sholay
Array of suffixes:
Shaan
Shakti
ment
tion
ness
ves
Analogy
Array is like a pen box with fixed no. of slots of same size.
Syntax
Declaration of array variable: data-type variable-name[]; eg. int marks[]; This will declare an array named marks of type int. But no memory is allocated to the array. Allocation of memory: variable-name = new data-type[size]; eg. marks = new int[5]; This will allocate memory of 5 integers to the array marks and it can store upto 5 integers in it. new is a special operator that allocates memory.
Syntax
Accessing elements in the array: Specific element in the array is accessed by specifying name of the array followed the index of the element. All array indexes in Java start at zero. variable-name[index] = value; eg. marks[0] = 10; This will assign the value 10 to the 1st element in the array. And marks[2] = 863; ; This will assign the value 863 to the 3rd element in the array.
Example
STEP 1 : (Declaration) int marks[]; marks null STEP 2: (Memory Allocation) marks = new int[5]; marks
0
marks[0]
0
marks[1]
0
marks[2]
0
marks[3]
0
marks[4]
10
marks[0]
0
marks[1]
0
marks[2]
0
marks[3]
0
marks[4]
Program
class try_array { public static void main(String args[]) { int marks[]; marks = new int[3]; marks[0] = 10; marks[1] = 35; marks[2] = 84; System.out.println(Marks obtained by 2nd student= + marks[1]); } }
Note
Arrays can store elements of the same data type. Hence an int array CAN NOT store an element which is not an int. Though an element of a compatible type can be converted to int and stored into the int array. eg. marks[2] = (int) 22.5; This will convert 22.5 into the int part 22 and store it into the 3rd place in the int array marks. Array indexes start from zero. Hence marks[index] refers to the (index+1)th element in the array and marks[size-1] refers to last element in the array. eg. marks[0] refers to 1st element, marks[1] refers to 2nd element etc. etc.
Alternative Syntax
Combined declaration & memory allocation: data-type variable-name[] = new data-type[size]; eg. int marks[] = new int[5]; This will declare an int array marks and will also allocate memory of 5 integers to it. Combined declaration, allocation & assignment: data-type variable-name[] = {comma-separated values}; eg. int marks[] = {10, 35, 84, 23, 5}; This will declare an int array marks, will allocate memory of 5 integers to it and will also assign the values asmarks
10
marks[0]
35
marks[1]
84
marks[2]
23
marks[3]
5
marks[4]
Assignment
1. Write a program that uses two arrays of size 5. One string array for storing names of students and one int array for storing marks obtained by the students. Assign values to the elements in the arrays. Print names and marks of students who have scored more than 35 marks. 2. Write a program same as the above, but dont use numbers (like 0, 1, 2etc) to access the elements in the array. Declare an int variable i and use it as an index into the arrays.
End
Thank you