Notes Unit 2
Notes Unit 2
UNIT-2
CONTROL FLOW AND ARRAY
2.1 VARIABLE AND IT’S TYPE
Variable is a named storage location that holds a value of a particular type. Variables are used to store and
manipulate data within a program. Java variables can be classified into different types based on their
characteristics and usage.
1.Local Variables:
Local variables are declared within a method, constructor, or a block of code.
They are accessible only within the scope where they are declared.
Local variables must be initialized before they are used.
Their lifespan is limited to the block in which they are declared.
EXAMPLE:
public class LocalVariableExample
{
public static void main(String[] args)
{
int age = 25; // local variable
System.out.println("Age: " + age);
}
}
2.Instance Variables (Non-Static Variables):
Instance variables are declared within a class but outside of any method, constructor, or block.
Each instance of a class has its own copy of instance variables.
They are initialized with default values if not explicitly assigned.
Instance variables are accessible throughout the class and can be accessed using the object of the class.
EXAMPLE:
public class InstanceVariableExample
{
String name; // instance variable
2.3.2 Unboxing
The automatic conversion of wrapper type into its corresponding primitive type is known as unboxing. It is
the reverse process of auto boxing.
Wrapper class Example: Wrapper to Primitive
public class WrapperExample2
{
public static void main(String args[])
{
//Converting Integer to int
Integer a=new Integer(3);
int i=a.intValue();//converting Integer to int explicitly
int j=a;//unboxing, now compiler will write a.intValue() internally
JAVA PROGRAMMING
EXAMPLE:
public class WrapperExample
{
private int value;
wrapper.setValue(20);
System.out.println("Updated value: " + wrapper.getValue());
}
}
JAVA PROGRAMMING
EXAMPLE:
public class Student {
public static void main(String[] args) {
int x = 10;
int y = 12;
if(x+y > 20) {
System.out.println("x + y is greater than 20");
}
}
}
Output:
x + y is greater than 20
if-else statement
The if-else statement is an extension to the if-statement, which uses another block of code, i.e., else block.
The else block is executed if the condition of the if-block is evaluated as false.
Syntax:
if(condition) {
statement 1; //executes when condition is true
}
else{
statement 2; //executes when condition is false
}
EXAMPLE:
public class Student {
public static void main(String[] args) {
int x = 10;
int y = 12;
if(x+y < 10) {
System.out.println("x + y is less than 10");
} else {
System.out.println("x + y is greater than 20");
}
} }
JAVA PROGRAMMING
Output:
x + y is greater than 20
if-else-if ladder:
The if-else-if statement contains the if-statement followed by multiple else-if statements. In other words, we
can say that it is the chain of if-else statements that create a decision tree where the program may enter in the
block of code where the condition is true. We can also define an else statement at the end of the chain.
Syntax:
if(condition 1) {
statement 1; //executes when condition 1 is true
}
else if(condition 2) {
statement 2; //executes when condition 2 is true
}
else {
statement 2; //executes when all the conditions are false
}
EXAMPLE:
public class Student {
public static void main(String[] args) {
String city = "Delhi";
if(city == "Meerut") {
System.out.println("city is meerut");
}else if (city == "Noida") {
System.out.println("city is noida");
}else if(city == "Agra") {
System.out.println("city is agra");
}else {
System.out.println(city);
}
} }
Output:
Delhi
JAVA PROGRAMMING
Nested if-statement:
In nested if-statements, the if statement can contain a if or if-else statement inside another if or else-if
statement.
Syntax:
if(condition 1) {
statement 1; //executes when condition 1 is true
if(condition 2) {
statement 2; //executes when condition 2 is true
}
else{
statement 2; //executes when condition 2 is false
}
}
EXAMPLE:
public class Student {
public static void main(String[] args) {
String address = "Delhi, India";
if(address.endsWith("India")) {
if(address.contains("Meerut")) {
System.out.println("Your city is Meerut");
}else if(address.contains("Noida")) {
System.out.println("Your city is Noida");
}else {
System.out.println(address.split(",")[0]);
}
}else {
System.out.println("You are not living in India");
}
} }
Output:
Delhi
JAVA PROGRAMMING
Switch Statement:
In Java, Switch statements are similar to if-else-if statements. The switch statement contains multiple blocks
of code called cases and a single case is executed based on the variable which is being switched. The switch
statement is easier to use instead of if-else-if statements. It also enhances the readability of the program.
Points to be noted about switch statement:
The case variables can be int, short, byte, char, or enumeration. String type is also supported since
version 7 of Java
Cases cannot be duplicate
Default statement is executed when any of the case doesn't match the value of expression. It is
optional.
Break statement terminates the switch block when the condition is satisfied. It is optional, if not
used, next case is executed.
While using switch statements, we must notice that the case expression will be of the same type as
the variable. However, it will also be a constant value.
Syntax:
switch (expression){
case value1:
statement1;
break; .
case valueN:
statementN;
break;
default:
default statement;
}
EXAMPLE:
public class Student{
public static void main(String[] args) {
int num = 2;
switch (num){
case 0:
System.out.println("number is 0");
break;
case 1:
System.out.println("number is 1");
break;
JAVA PROGRAMMING
default:
System.out.println(num);
}
}
}
Output:
2
2. Loop statements
In programming, sometimes we need to execute the block of code repeatedly while some condition evaluates
to true. However, loop statements are used to execute the set of instructions in a repeated order. The
execution of the set of instructions depends upon a particular condition.
In Java, we have three types of loops that execute similarly. However, there are differences in their syntax
and condition checking time.
for loop
while loop
do-while loop
for loop
for loop is similar to C and C++. It enables us to initialize the loop variable, check the condition, and
increment/decrement in a single line of code. We use the for loop only when we exactly know the number of
times, we want to execute the block of code.
Syntax:
for(initialization, condition, increment/decrement)
{
//block of statements
}
JAVA PROGRAMMING
EXAMPLE:
public class Calculattion {
public static void main(String[] args) {
// TODO Auto-generated method stub
int sum = 0;
for(int j = 1; j<=10; j++) {
sum = sum + j;
}
System.out.println("The sum of first 10 natural numbers is " + sum);
} }
Output:
The sum of first 10 natural numbers is 55
for-each loop
Java provides an enhanced for loop to traverse the data structures like array or collection. In the for-each
loop, we don't need to update the loop variable.
Syntax:
for(data_type var : array_name/collection_name){
//statements
}
EXAMPLE:
public class Calculation {
public static void main(String[] args) {
// TODO Auto-generated method stub
String[] names = {"Java","C","C++","Python","JavaScript"};
System.out.println("Printing the content of the array names:\n");
for(String name:names) {
System.out.println(name);
}
}
}
JAVA PROGRAMMING
Output:
Printing the content of the array names:
Java
C
C++
Python
JavaScript
while loop
The while loop is also used to iterate over the number of statements multiple times. However, if we don't
know the number of iterations in advance, it is recommended to use a while loop. Unlike for loop, the
initialization and increment/decrement doesn't take place inside the loop statement in while loop.
It is also known as the entry-controlled loop since the condition is checked at the start of the loop. If the
condition is true, then the loop body will be executed; otherwise, the statements after the loop will be
executed.
Syntax:
while(condition){
//looping statements
}
JAVA PROGRAMMING
EXAMPLE:
public class Calculation {
public static void main(String[] args) {
// TODO Auto-generated method stub
int i = 0;
System.out.println("Printing the list of first 10 even numbers \n");
while(i<=10) {
System.out.println(i);
i = i + 2;
}
}
}
Output:
Printing the list of first 10 even numbers
0
2
4
6
8
10
do-while loop
The do-while loop checks the condition at the end of the loop after executing the loop statements. When the
number of iteration is not known and we have to execute the loop at least once, we can use do-while loop.
It is also known as the exit-controlled loop since the condition is not checked in advance.
Syntax:
do
{
//statements
} while (condition);
JAVA PROGRAMMING
EXAMPLE:
public class Calculation {
public static void main(String[] args) {
// TODO Auto-generated method stub
int i = 0;
System.out.println("Printing the list of first 10 even numbers \n");
do {
System.out.println(i);
i = i + 2;
}while(i<=10);
} }
Output:
Printing the list of first 10 even numbers
0
2
4
6
8
10
JAVA PROGRAMMING
3. Jump statements
Jump statements are used to transfer the control of the program to the specific statements. In other words,
jump statements transfer the execution control to the other part of the program. There are two types of jump
statements in Java, i.e., break and continue.
Break Statement
As the name suggests, the break statement is used to break the current flow of the program and transfer the
control to the next statement outside a loop or switch statement. However, it breaks only the inner loop in
the case of the nested loop.
The break statement cannot be used independently in the Java program, i.e., it can only be written inside the
loop or switch statement.
EXAMPLE:
public class BreakExample {
public static void main(String[] args) {
// TODO Auto-generated method stub
for(int i = 0; i<= 10; i++) {
System.out.println(i);
if(i==6) {
break;
} } } }
Output:
0
1
2
3
4
5
6
Continue Statement
Unlike break statement, the continue statement doesn't break the loop, whereas, it skips the specific part of
the loop and jumps to the next iteration of the loop immediately.
EXAMPLE:
public class ContinueExample {
if(j == 4) {
continue;
}
System.out.println(j);
} } } }
Output:
0
1
2
3
5
1
2
3
5
2
3
5
2.5 ARRAY AND IT’S TYPE
Array is an object which contains elements of a similar data type. Additionally, The elements of an array are
stored in a contiguous memory location. It is a data structure where we store similar elements. We can store
only a fixed set of elements in a Java array.
Single Dimensional Array
A single-dimensional array is the most common type of array. It stores elements in a linear fashion, where
each element is accessed using its index.
Syntax:
dataType[] arr; (or)
JAVA PROGRAMMING
int arr[][]={{1,2,3},{2,4,5},{4,4,5}};
//printing 2D array
for(int i=0;i<3;i++){
for(int j=0;j<3;j++){
System.out.print(arr[i][j]+" ");
}
System.out.println();
}
}}
Output:
123
245
445
Dynamic Array (ArrayList):
Unlike regular arrays, the ArrayList class provides dynamic arrays that can grow or shrink at runtime. It is
part of the Java Collections Framework and offers additional functionalities such as adding, removing, and
searching elements.
EXAMPLE:
import java.util.ArrayList;
3) By anonymous object:
new Employee();
EXAMPLE:
public class TestGarbage1{
public void finalize(){System.out.println("object is garbage collected");}
public static void main(String args[]){
TestGarbage1 s1=new TestGarbage1();
TestGarbage1 s2=new TestGarbage1();
s1=null;
s2=null;
System.gc();
} }
Output:
object is garbage collected
object is garbage collected
JAVA PROGRAMMING