0% found this document useful (0 votes)
5 views

OOP Unit1

Uploaded by

110123104026
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
5 views

OOP Unit1

Uploaded by

110123104026
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 120

UNIT I

INTRODUCTION TO OOP AND JAVA

Overview of OOP – Object oriented programming paradigms – Features of


Object Oriented Programming –
Java Buzzwords – Overview of Java – Data Types, Variables and Arrays –
Operators – Control Statements – Programming Structures in Java –
Defining classes in Java – Constructors- Methods -Access specifiers -
Static members- Java Doc comments

1. OVERVIEW OF OBJECT-ORIENTED PROGRAMMING (OOP)

1. Define objects and classes in Java (2) (Nov/Dec 2019)


(Nov/Dec 2018)
2. Explain the characteristics of OOPs (6) (Nov/Dec 2019)
3. Explain the features and characteristics of Java (7) (Nov/Dec
2019)
4. Define Encapsulation in Java(2) (APR/MAY 2021)
5. Discuss the three OOP principles in detail (7) (APR/MAY 2019)

Object-Oriented Programming (OOP) is a programming


language model organized around objects
rather than actions and data. An object-oriented program can be
characterized as data controlling access to code. Concepts of OOPS
• Object
• Class
• Inheritance
• Polymorphism
• Abstraction
• Encapsulation

OBJECT
Object means a real word entity such as pen, chair, table etc. Any entity
that has state and behavior is known as an object. Object can be
defined as an instance of a class. An object contains an
address and takes up some space in memory. Objects can
communicate without knowing details of each other'sdata or code, the
only necessary thing is that the type of message accepted and
1
type of response returned by the objects. An object has three
characteristics:
• state: represents data (value) of an object.
• behavior: represents the behavior (functionality) of an object such
as deposit, withdraw etc.
• identity: Object identity is typically implemented via a uniqueID.
The value of the ID is not visible to the external user.
But it is used internally by the JVM to identify each
object uniquely.

CLASS
Collection of objects is called class. It is a logical entity. A
class can also be defined as a blueprint from which you can
create an individual object. A class consists of Data members and
methods. The primary purpose of a class is to hold
data/information. The member functions determine the behavior of the
class, i.e. provide a definition for supporting various operations on
data held in the form of an object. Class doesn’t store any space.

INHERITANCE
Inheritance can be defined as the procedure or mechanism of acquiring
all the properties and behavior of one class to another, i.e.,
acquiring the properties and behavior of child class from the parent
class. When one object acquires all the properties and behaviours of
another object, it is known as inheritance. It provides code
reusability and establishes relationships between different classes. A
class which inherits the properties is known as Child Class (sub-class or
derived class) whereas a class whose properties are inherited is
known as Parent class (super-class or base class). Types of inheritance in
java: single, multilevel and hierarchical inheritance. Multiple and hybrid
inheritance is supported through interface only.

POLYMORPHISM
When one task is performed by different ways i.e. known as polymorphism.
For example: to convince
the customer differently, to draw something e.g. shape or rectangle etc.

2
Polymorphism is classified into two ways:

Method Overloading (Compile time Polymorphism)

Method Overloading is a feature that allows a class to have two or


more methods having the same name but the arguments passed to the
methods are different. Compile time polymorphism refers to a
process in which a call to an overloaded method is resolved
at compile time rather than at run time.

Method Overriding (Run time Polymorphism)


If subclass (child class) has the same method as declared in the
parent class, it is known as method overriding in java. In other
words, If subclass provides the specific implementation of the
method that has been provided by one of its parent class, it is
known as method overriding.

ABSTRACTION
Abstraction is a process of hiding the implementation details and
showing only functionality to the user. For example: phone call, we
don't know the internal processing. In java, we use abstract class
and interface to achieve abstraction.

ENCAPSULATION
Encapsulation in java is a process of wrapping code and data
together into a single unit, for example capsule i.e. mixed of
several medicines. A java class is the example of encapsulation

3
1.1 OBJECT ORIENTED PROGRAMMING PARADIGMS

The term programming paradigm is used to specifyan overall approach to


writing program code. The object-oriented programming paradigm (OOP)
introduces a fundamentally different approach to program design.
All computer programs consist of two elements: code and data.
Furthermore, a program can be conceptually organized around its
code or around its data. That is, some programs are written
around “what is happening” and others are written around “who is
being affected.” These are the two paradigms that governhow a program
is constructed.
The first way is called the process- oriented model. This approach
characterizes a program as a series of linear steps (that is, code).
The process-oriented model can be thought of as code acting on
data. Procedural languages such as C employ this model to
considerable success. To manage increasing complexity, the second
approach, called object- oriented programming, was conceived. Object-
oriented programming organizes a program around its data (that is,
objects) and a set of well-defined interfaces to that data. An
object-oriented program can be characterized as data controlling access to
code.

4
Object-oriented programming (OOP) is a programming paradigm based upon
objects that aims to incorporate the advantages of modularity and
reusability. Objects, which are usually instances of classes, are
used to interact with one another to design applications and computer
programs.
Object–Oriented Analysis (OOA) is the procedure of identifying software
engineering requirements and developing software specifications in terms of a
software system’s object model, which comprises of interacting objects.

Object–Oriented Design (OOD) involves implementation of the conceptual


model produced during object-oriented analysis. In OOD, concepts in the
analysis model, which are technology−independent, are mapped onto
implementingclasses, constraints are identified and interfaces are designed,
resulting in a model for the solution domain, i.e., a detailed
description of how the system is to be built on concrete
technologies.

Procedure-Oriented Programming Object-Oriented Programming

In POP, program is divided In OOP, program is divided


into small parts called functions into parts called objects.

In POP, Importance is not In OOP, Importance is given to


given to data but to the data rather
functions as well as sequence than procedures or functions
of actions to be because it works as a
done. real world.
POP follows Top-Down approach. OOP follows Bottom-Up approach.

5
POP does not have any access OOP has access specifiers named
specifier. Public, Private,
Protected, etc.
In POP, Data can move freely In OOP, objects can move
from function to function and communicate with each
in the system. other through member
functions.
To add new data and function OOP provides an easy way to
in POP is not so add new data and function.
easy.
In POP, most function uses In OOP, data cannot move easily
Global data for sharing from function to function,
that can be accessed it can be kept public or
freely from function to private so we can
function in the system. control the access of
data.
POP does not have any proper OOP provides Data Hiding so
way for hiding data so provides more security.
it is less secure.
In POP, Overloading is not In OOP, overloading is possible
possible. in the form of
Function Overloading and Operator
Overloading.
Example of POPare: C, VB, Example of OOP are: C++,
FORTRAN, JAVA, VB.NET, C#.NET.
Pascal.

1.2 FEATURES OF OBJECT-ORIENTED PROGRAMMING

OOP stands for Object Oriented Programming and the language that support this
Object-Oriented programming features is called Object oriented Programming
Language. An example of a language that support this Object-
oriented feature is Java. The Objects Oriented programming language
supports all the features of normal programming languages. In
addition, it supports some important concepts and terminology which has
made it popular among programming methodology.

The important features of Object Oriented programming are:

 Inheritance
 Polymorphism
 Data Hiding
 Encapsulation
 Overloading
6
 Reusability

It is important to know some new terminologies used in Object Oriented


programming namely

 Objects
 Classes Objects:
In other words, object is an instance of a class.

Classes:
These contain data and functions bundled together under a unit. In
other words, class is a collection of similarobjects. When we define a
class, it just creates template or Skelton. So, no memory is
created when class is created. Memory is occupied only by
object.

Example:

Class classname
{
Data
Functions
};
main ( )
{
classname objectname1,objectname2,..;
}

In other words classes acts as data types for objects.

Member functions:
7
The functions defined inside the class as above are called member functions.

Here the concept of Data Hiding figures


Data Hiding:

This concept is the main heart of an Object oriented programming.


The data is hiddeninside the class by declaring it as private
inside the class. When data or functions are defined as private it
can be accessed only by the class in which it is defined.
When data or functions are defined as public then it can be
accessed anywhere outside the class. Object Oriented programming gives
importance to protecting data which in any system. This is done by
declaring data as private and making it accessible only to the
class in which it is defined. This concept is called data hiding. But
one can keep member functions as public. So above class structure
becomes

Example:

Class classname

priv
ate:

datatype data;

public:
Member functions
};
main ( )
{
8
classname objectname1,objectname2,..;
}

Encapsulation:
The technical term for combining data and functions together as
a bundleis encapsulation.

Inheritance:
Inheritance as the name suggests is the concept of inheriting or
deriving properties of an exiting class to get new class or classes.
In other words we may have common features or characteristics that
may be needed by number of classes. So those features can
be placed in a common tree class called base class and the other
classeswhich have these charaterisics can take the tree class and define only the
new things that they have on their own in their classes. These classes are
called derived class. The main advantage of using this concept of
inheritance in Object oriented programming is it helps in reducing the
code size since the common characteristic is placed separately called as
base class and it is just referred in the derived class. This
provide the users the important usage of terminology called as reusability

Reusability:
This usage is achieved by the above explained terminology called as
inheritance. Reusability is nothing but re- usage of structure without
changing the existing one but adding new features or characteristics
to it. It is very much needed for any programmers in different
situations. Reusability gives the following advantages to user. It helps in
reducing the code size since classes can be just derived from existing
one and one need to add only the new features and it helps
users to save their time.

For instance if there is a class defined to draw different


graphical figures say there is a user who want to draw graphical
figure and also add the features of adding color to the graphical
figure. In this scenario instead of defining a class to draw a
graphical figure and coloring it what the user can do is make use
of the existing class for drawing graphical figure by deriving the
class and add new feature to the derived class namely add the
feature of adding colors to the graphical figure.

Polymorphism and Overloading:


Poly refers many. So Polymorphism as the name suggests is a
certain item appearing in different forms or ways. That is making
a function or operator to act in different forms depending on

9
the place they are present is called Polymorphism. Overloading is a
kind of polymorphism. In other words say for instance we know that
+, – operate on integer data type and is used to perform
arithmetic additions and subtractions. But operator overloading is one in
which we define new operations to these operators and make them operate
on different data types in other words overloading the existing
functionality with new one. This is a very important feature of
object oriented programming methodology which extended the handling of
data type and operations.

Thus the above given important features of object oriented programming among the
numerous
features it have gives the following advantages to the programming world.

The advantages are namely,

• Data Protection or security of data is achieved by concept of


data hiding
• Reduces program size and saves time by the concept of reusability
which is achieved by the terminology of Inheritance • Operators can
be given new functions as per user which extends the usage.

1.3 JAVA BUZZWORDS

No discussion of the genesis of Java is complete without a


look at the Java buzzwords. Although the fundamental forces that
necessitated the invention of Java are portability and security, other
factors also played an important role in molding the final form of the
language. The key considerations were summed up by the Java
team in the Following list of buzzwords:
• Simple
• Secure
• Portable
• Object-oriented
• Robust
• Multithreaded
• Architecture-neutral
• Interpreted
• High performance
• Distributed
• Dynamic
10
Simple:
* Java is very comfortable to write and read.
* Java has a brief, cohesive set of concepts that makes it easy
to learn and use.
* Most of the concepts are derived from C++ thus making Java
learning process simple.
Secure:
* Java program cannot damage other system thus making it
secure.
* Java presents a secure means of creating Internet applications.
* Java presents secure way to access web applications.
Portable:
* Java programs can execute in any system environment with the
help of Java run-time system.(JVM-Java Virtual Machine)
* Java programs can be run on any platform (Linux,Window,Mac)
* Java programs can be used over world wide web (e.g applets)
Object-oriented:
* Java programming is object-oriented programming language.
* Like C++ java provides most of the object oriented concepts.
* Java is a complete OOP. Language. (while C++ is semi object
oriented) Robust:
* Java provides error-free programming by being severely typed and
performing run-time checks.
Multithreaded:
* Java provides integrated support for multithreaded concepts.
Architecture-neutral:
* Java is not joined to a specific machine or operating
system architecture. * Machine Independent Interpreted:
* Java provides cross-platform code through the use of Java
bytecode.
* With the help of JVM,Bytecode can be interpreted on any platform
High performance:
* Bytecodes are extremely optimized.
* JVM can execute them much quicker.
Distributed:
* Java was designed with the distributed background.
* Java can be transmitting, run over internet.
Dynamic :
* Java was designed to adjust to an evolving environment
* Even after binaries have been released, they can adjust to a
changing environment
11
* Java loads in classes as they are wanted, even from across the
network
* It defers lots of decisions (like object layout) to runtime,
which solves several version problems like C++.

2. OVERVIEW OF JAVA
1. What is Java? Explain the internal architecture of JVM with neat sketch?(13) (NOV/DEC 2019)
2. How Java changed the internet?(9) (APR/MAY 2021)
3. If semicolons are needed at the end of each statement, why does the comment line not end with a
semicolon ?(4) (APR/MAY 2021)
4. Outline the arithmetic operators in Java.(6) (NOV/DEC 2021)
5. Name the four integer types in Java and outline the bitwise operators that can be applied to the
integer types.(7) (NOV/DEC 2021)
6. Outline the iteration statements in Java with syntax and example.(9) (NOV/DEC 2021)
7. What are the three categories of control statements used in Java ? Explain each category with
example.(13) (APR/MAY 2021)
8. Write a java code using do-while loop that counts down to 1 from 10 printing exactly ten lines of
“Hello”(6) (APR/MAY 2019)

The main objective of Java programming language creation was to make it


portable, simple and secure programming language. Java is platform
independent because it is different from other languages like C, C++
etc. which are compiled into platform specific machines while Java is
a write once, run anywhere language. A platform is the hardware
or software environment in which a program runs. There are two
types of platforms software-based and hardware-based. Java provides
software-based platform.

The Java platform differs from most other platforms in the sense that it is
a software-based platform that runs on the top of other hardware-
based platforms. It has two components:
1. Runtime Environment
2. API(Application Programming Interface)

12
Java code can be run on multiple platforms e.g. Windows, Linux, Sun
Solaris, Mac/OS etc. Java code is compiled by the compiler and
converted into bytecode. This bytecode is a platform-independent
code because it can be run on multiple platforms i.e. Write
Once and Run Anywhere(WORA).

Secured
Java is best known for its security. With Java, we can develop virus-free
systems. Java is secured because:
o No explicit pointer
o Java Programs run inside virtual machine sandbox

• Class loader: Class loader in Java is a part of the Java


Runtime Environment(JRE) which is used to dynamically load Java
13
classes into the Java Virtual Machine. It adds security by separating
the package for the classes of the local file system from
those that are imported from network sources.
• Bytecode Verifier: It checks the code fragments for illegal code that can
violate access right to objects.
• Security Manager: It determines what resources a class can access such
as reading and writing to the local disk.

These security are provided by java language. Some security can also
be provided by application developer through SSL, JAAS, Cryptography etc.

THE JAVA ENVIRONMENT

JRE

JRE is an acronym for Java Runtime Environment. It is also written


as Java RTE. The Java Runtime Environment is a set of software
tools which are used for developing java applications. It is used to
provide runtime environment. It is the implementation of JVM. It
physically exists. It contains set of libraries + other files that JVM
uses at runtime. Implementation of JVMs are also actively released
by other companies besides Sun Micro Systems.

JDK
JDK is an acronym for Java Development Kit. The Java Development Kit
(JDK) is a software development environment which is used to develop
java applications and applets. It physically exists. It contains JRE +
development tools.
JDK is an implementation of any one of the below given Java Platforms
released by Oracle corporation: Standard Edition Java Platform
Enterprise Edition Java Platform
Micro Edition Java Platform
14
The JDK contains a private Java Virtual Machine (JVM) and a few
other resources such as an interpreter/loader (Java), a compiler (javac),
an archiver (jar), a documentation generator (Javadoc) etc. to
complete the development of a Java Application.

JVM (Java Virtual Machine)


JVM (Java Virtual Machine) is an abstract machine. It is a
specification that provides runtime environment in which java bytecode can
be executed. JVMs are available for many hardware and software
platforms (i.e. JVM is platform dependent). The JVM performs following
operation:
Loads code
Verifies code
Executes code
Provides runtime environment JVM provides definitions for the:
Memory area
Class file format
Register set
Garbage-collected heap
Fatal error reporting etc.

2.1 DATATYPES IN JAVA

Data types specifythe different sizes and values that can be stored in the
variable. There are two types of data types in Java:

15
1. Primitive data types: The primitive data types include Integer, Character,
Boolean, and Floating Point.
2. Non-primitive data types: The non-primitive data types include Classes,
Interfaces, and Arrays.

Java defines eight primitive types of data: byte, short, int, long, char, float,
double, and boolean. These can be put in four groups:

• Integers This group includes byte, short, int, and long, which are for
whole-valued signed numbers.

• Floating-point numbers This group includes float and double, which


represent numbers with fractional precision.

• Characters This group includes char, which represents symbols in a


character set, like letters and numbers.

• Boolean This group includes boolean, which is a special type for


representing true/false values.

Example :
// Compute distance light travels using long variables.

class Light
{
public static void main(String args[])
{
16
int
lightspee
d; long
days;
long
seconds;
long
distance;

// approximate speed of light in miles per


second lightspeed = 186000;
days = 1000; // specifynumber of
days here seconds = days
* 24 * 60 * 60; //
convert to seconds distance
= lightspeed * seconds; //
compute distance
System.out.print("In " + days);
System.out.print(" days light will travel about ");
System.out.println(distance + " miles.");
}
}

Output:
In 1000 days light will travel about 1607040000000miles. Clearly, the result
could not have been held in an int variable.

2.2 VARIABLES
A variable is a container which holds the value and that can
be changed durig the execution of the program. A variable
is assigned with a datatype. Variable is a name of
memory location. All the variables must be declared before they
can be used. There are three types of variables in java: local
variable, instance variable and static variable.

20

Local Variable
17
A variable defined within a block or method or constructor is
called local variable.
• These variable are created when the block in entered or the
function is called and destroyed after exiting from the block or
when the call returns from the function.
• The scope of these variables exists only within the block in which the
variable is declared. i.e.
we can access these variable only within that block.

Example:

import java.io.*;
public class StudentDetails
{
public void
StudentAge() {
//localvariable
age int
age = 0;
age = age +
5;
System.out.println("Student age is : " + age);
}
public static void main(String args[])
{
StudentDetails obj = new
StudentDetails(); obj.StudentAge();
}
}
Output:
Student age is : 5

Instance Variable

Instance variables are non-static variables and are declared in a


class outside any method, constructor or block. As instance variables
are declared in a class, these variables are created when an
object of the class is created and destroyed when the object is
destroyed. Unlike local variables, we may use access specifiers for instance
variables. If we do not specifyany access specifier then the default
access specifier will be used.
Example:

18
import
java.io.*;
class
Marks{
int m1;
int m2;

}
class MarksDemo
{
public static void main(String args[])
{ //first object
Marks obj1 = new
Marks();
obj1.m1 =
50; obj1.m2
= 80;
//second
object
Marks obj2 = new
Marks();
obj2.m1 =
80; obj2.m2
= 60;
//displaying marks for first object
System.out.println("Marks for first object:");
System.out.println(obj1.m1);
System.out.println(obj1.m2);
//displaying marks for second object
System.out.println("Marks for second object:");
System.out.println(obj2.m1);
System.out.println(obj2.m2);
}}
Output:
Marks for first object:
50
80
Marks for second object:
80
60

Static variable
Static variables are also known as Class variables.

19
 These variables are declared similarly as instance variables, the
difference is that static variables are declared using the static
keyword within a class outside any method constructor or
block.
 Unlike instance variables, we can only have one copy of a static
variable per class irrespective of how many objects we create.

 Static variables are created at start of program execution and


destroyed automatically when execution ends.

Example:
import java.io.*;
class
Emp {
// static variable salary public static double
salary; public static String name = "Vijaya";

}
public class EmpDemo
{
public static void main(String args[]) {

//accessing static variable without object


Emp.salary = 1000;
System.out.println(Emp.name + "'s average salary:" + Emp.salary);

}
}

Output:
Vijaya’s average salary:10000.0

Difference between Instance variable and


Static variable
INSTANCE VARIABLE STATIC VARIABLE
Each object will have its own We can only have one copy of
copy of instance variable a static variable per
class irrespective of how
many objects we create.
Changes made in an instance In case of static changes
variable using one object will will be reflected in
not be reflected in other other objects as static
objects as each

20
object has its own copy of instance variables are common to
variable all object of a class.

We can access instance variables Static Variables can be accessed


through object references directly using class name.

Class Sample Class Sample


{ {
i static
nt a; in
} t a;
}

2.3 ARRAYS

Array is a collection of similartype of elements that have


contiguous memory location.
In Java all arrays are dynamically allocated.
Since arrays are objects in Java, we can find their length using
member length.
A Java array variable can also be declared like other variables
with [] after the data type.
The variables in the array are ordered and each have an index
beginning from 0.
Java array can be also be used as a static field, a local
variable or a method parameter.
The size of an array must be specified by an int value and
not long or short.
The direct superclass of an array type is Object.
Every array type implements the interfaces Cloneable and java.io.Serializable.

Advantage of Java Array

21
Code Optimization: It makes the code optimized, we can retrieve
or sort the data easily. Random access: We can get any
data located at any index position.

Disadvantage of Java Array

Size Limit: We can store only fixed size of elements in the array.
It doesn't grow its size at runtime. To solve this
problem, collection framework is used in java.

Types of Array in java


1. One-Dimensional Array
2. Multidimensional Array

One-Dimensional Arrays
An array is a group of like-typed variables that are referred to
by a common name. An array declaration has two components: the
type and the name. type declares the element type of the
array. The element type determines the data type of each element
that comprises the array. We can also create an array of other
primitive data types like char, float, double..etc or user defined data
type(objects of a class).Thus, the element type for the array
determines what type of data the array will hold.
Syntax: type
var-name[
];
Instantiation of an
Array in java array-
var = new type [size];
Example:
class Testarray{
public static void main(String args[]){
int a[]=new int[5];//declaration
and instantiation a[0]=10;//initialization
a[1]=20; a[2]=70; a[3]=40;
a[4]=50; //printing array
for(int i=0;i<a.length;i++)//length is the property of array
System.out.println(a[i]);
}}

Output:
10
20

22
70
40
50

Declaration, Instantiation and Initialization


of Java Array Example: class
Testarray1{
public static void main(String args[]){ int
a[]={33,3,4,5};//declaration, instantiation and
initialization
//printing array
for(int i=0;i<a.length;i++)//length is the property of array
System.out.println(a[i]);
}}
Output:
33
3
4
5

Passing Array to method in java


We can pass the java array to method so that we can reuse the
same logic on any array.
Example:
class Testarray2{ static
void min(int
arr[]){ int
min=arr[0];
for(int i=1;i<arr.length;i++)
if(min>arr[i])
min=arr[i];
System.out.println(min);
}
public static void main(String
args[]){ int a[]={33,3,4,5};

min(a);//passing array to method


}}
Output:
3

Multidimensional Arrays

23
Multidimensional arrays are arrays of arrays with each element of the array
holding the reference of other array. These are also known as
Jagged Arrays. A multidimensional array is created by appending
one set of square brackets ([]) per dimension. Syntax:
type var-name[ ][ ]=new type[row-size ][col-size ];

Example:
// Demonstrate a two-
dimensional array. class
TwoDArray {
public static void main(String
args[]) { int twoD[][]=
new int[4][5];
int i, j,
k =
0;
for(i=0;
i<4; i++)
for(j=0;
j<5; j++)
{
twoD[i][j]
= k;
k++;
}
for(i=0; i<4; i++)
{ for(j=0;
j<5; j++)
System.out.print(twoD[i][j] + " ");
System.out.println();
}
}
}
Output:
0 1 2 3 4
5 6 7 8 9
10 11 12 13 14
15 16 17 18 19

24
When you allocate memory for a multidimensional array, you need
only specifythe memory for the first (leftmost) dimension. You can
allocate the remaining dimensions separately. For example, this
following code allocates memory for the first dimension of twoD
when it is declared. It allocates the second dimension
manually.
Syntax:
int twoD[][] =
new int[4][];
twoD[0] =
new int[5]; twoD[1]
= new int[5];
twoD[2] =
new int[5]; twoD[3]
= new int[5];

Example:
// Manually allocate
differing size second
dimensions. class TwoDAgain {
public static void main(String
args[])
{
int twoD[][] =
new int[4][];
twoD[0] =
new int[1]; twoD[1]
= new int[2];
twoD[2] =
new int[3]; twoD[3]
= new int[4];
int i, j, k = 0;
25
for(i=0; i<4; i++)
for(j=0; j<i+1; j++)
{
twoD[i][j] =
k; k++;
}
for(i=0; i<4; i++)
{
for(j=0; j<i+1; j++)
System.out.print(twoD[i][j] + " ");
System.out.println();
}
}
}
Output:
0
12
3 4 5
6 7 8 9
The array created by this program looks like this:

2.4 OPERATORS IN JAVA


Java provides a rich set of operators to manipulate variables.
We can divide all the Java operators into the following groups
– • Arithmetic Operators
• Increment and Decrement
• Bitwise Operators
• Relational Operators
• Boolean Operators
• AssignmentOperator
• Ternary Operator
26
Arithmetic Operators
Arithmetic operators are used to manipulate mathematical expressions

Operator Result

Example:
// Demonstrate the basic arithmetic
operators. class BasicMath
{
public static void main(String args[])
{
// arithmetic using integers
System.out.println("Integer Arithmetic"); int a
= 1
+
1;
int
b
=
a
*
3;
int
c
=
b
/
4;
int
d
=
27
c
-
a;
int e = -d;
System.out.println("a = " + a);
System.out.println("b = " + b);
System.out.println("c = " + c);
System.out.println("d = " + d);
System.out.println("e = " + e);
// arithmetic using doubles
System.out.println("\nFloating Point Arithmetic");
double da = 1 + 1;
double db = da * 3;
double dc = db / 4;
double dd = dc - a;
double de = -dd;
System.out.println ("da = " + da);
System.out.println("db = " + db);
System.out.println("dc = " + dc);
System.out.println("dd = " + dd);
System.out.println("de = " + de);
}}
Output:
Integer
Arithmeti
ca =
2 b
= 6
c =
1 d
= -1

e = 1
Floating Point
Arithmetic
da =
2.0 db
= 6
dc =
1.5 dd
= -0.5
de =
0.5

28
Modulus Operator
The modulus operator, %, returns the remainder of a division
operation. It can be applied to floating-point types as well as
integer types.
Example:
// Demonstrate the %
operator. class Modulus
{
public static void main(String
args[]) { int x =
42; double y =
42.25;
System.out.println("x mod 10 = " + x % 10);
System.out.println("y mod 10 = " + y % 10);
}
}
Output:
x mod 10
= 2
y
mod 10
=
2.25

Arithmetic Compound Assignment Operators


Java provides special operators that can be used to combine an
arithmetic operation with an assignment. a = a + 4;
In Java, you can rewrite this statement as
shown here: a += 4;
Syntax:
var op= expression;
Example:
// Demonstrate several assignment
operators. class OpEquals
{
public static void main(String args[])
{
int a = 1; int
b = 2; int
c = 3; a
+= 5; b *=
4; c += a
* b; c %=
6;
29
System.out.println("a = " + a);
System.out.println("b = " + b);
System.out.println("c = " + c);
}
}
Output:

a =
6
b
=
8

c = 3

Increment and Decrement Operators


The ++ and the – – are Java’s increment and decrement operators.
The increment operator increases its operand by one. The
decrement operator decreases its operand by one.
Example:
// Demonstrate ++. class IncDec
{
public static void main(String args[])
{
int a = 1;
int b =
2; int c;
int d;
c = ++b; d = a++; c++;
System.out.println("a = " + a);
System.out.println("b = " + b);
System.out.println("c = " + c);
System.out.println("d = " + d);
}
}
Output:
a
=
2
b
=
3
c
=
4
30
d
=
1

31
Bitwise Operators

Java defines several bitwiseoperators that can be applied to the


integer types: long, int, short, char, and byte. These operators act upon the
individual bits of their operands.

Bitwise Logical Operators


The bitwise logical operators are &, |, ^,
and ~. the bitwise operators are
applied to each individual bit within each
operand.

Example:
// Demonstrate the bitwise logical operators. class
BitLogic
{
public static void main(String args[])
{
String binary[] = {"0000", "0001", "0010", "0011", "0100",
"0101", "0110", "0111", "1000", "1001",
"1010", "1011", "1100", "1101",
"1110", "1111"}; int a =
3; // 0 + 2 + 1
or 0011 in binary int b =
6; // 4 + 2 + 0
32
or 0110 in binary int c
= a | b;
int d = a
& b; int
e = a
^ b; int f
= (~a &
b)|(a & ~b);
int g =
~a & 0x0f;
System.out.println(" a = " + binary[a]);
System.out.println(" b = " + binary[b]);
System.out.println(" a|b = " + binary[c]);
System.out.println(" a&b = " + binary[d]);
System.out.println(" a^b = " + binary[e]);
System.out.println("~a&b|a&~b = " + binary[f]);
System.out.println(" ~a = " + binary[g]);
}
}
Output: a
= 0011
b =
0110 a|b
= 0111
a&b =
0010 a^b
= 0101
~a&b|a&~b
= 0101
~a = 1100

Left Shift Operator


The Java left shift operator << is used to shift all of the bits
in a value to the left side of a specified numberof
times.
Example: class
OperatorExample

{
public static void main(String args[])
{
System.out.println(10<<2);//10*2^2=10*4=40
System.out.println(10<<3);//10*2^3=10*8=80
System.out.println(20<<2);//20*2^2=20*4=80
System.out.println(15<<4);//15*2^4=15*16=240
33
}
}
Output:
40
80
80
240

Right Shift Operator


The Java right shift operator >> is used to move left operands value
to right by the number of bits specified by the right
operand.
Example: class
OperatorExample

{
public static void main(String args[])
{
System.out.println(10>>2);//10/2^2=10/4=2
System.out.println(20>>2);//20/2^2=20/4=5
System.out.println(20>>3);//20/2^3=20/8=2
}
}
Output:
2
5
2
Relational Operators
The relational operators determine the relationship that one operand
has to the other.Specifically, they determine equality and
ordering. The outcome of these operations is a boolean
value. Boolean Operators
The Boolean logical operators shown here operate only on boolean
operands. All of the binary logical operators combine two boolean
values to form a resultant boolean value.

34
Example:
// Demonstrate the boolean logical
operators. class BoolLogic
{
public static void main(String args[])
{
boolean a = true; boolean
b = false; boolean c
= a | b; boolean
d= a & b;
boolean e = a ^
b;
boolean f = (!a &
b) | (a & !b);
boolean g =
!a;
System.out.println(" a = " + a);
System.out.println(" b = " + b);
System.out.println(" a|b = " + c);
System.out.println(" a&b = " + d);
System.out.println(" a^b = " + e);
System.out.println("!a&b|a&!b = " + f);
System.out.println(" !a = " + g);
}
}
Output:
a = true b
= false a|b
= true a&b
= false a^b
= true

35
!a&b|a&!b =
true !a=false
In the output, the string representation of a Java boolean value
is one of the literal values true or false. Java AND Operator
Example: Logical && and Bitwise &
The logical && operator doesn't check second condition if first
condition is false. It checks second condition only if first one
is true.
The bitwise & operator always checks both conditions whether first
condition is true or false.
Example: class OperatorExample
{
public static void main(String args[])
{
int a=10;int b=5; int c=20;
System.out.println(a<b&&a<c);//false && true=
false System.out.println(a<b&a<c);//false
& true = false
}
}
Output:
fal
se
fal
s
e

Assignment Operator

The assignment operator is the single equal sign, =.


Syntax:
var = expression;
Here, the type of var must be compatible
with the type of expression.int x, y, z;

x = y = z = 100; // set x, y, and z to 100

This fragment sets the variables x, y, and z to 100 using a


single statement.

Ternary Operator
Ternary operator in java is used as one liner replacement for if-then-
else statement and used a lot in java programming. it is the
only conditional operator which takes three operands.
Syntax:
36
expression1 ? expression2 :
expression3 Example: class
OperatorExample
{
public static void main(String args[])
{
int a=2; int b=5;
int
min=(a<b)?a:b;
System.out.println(
min);
}
}

Output:
2

2.5 CONTROL STATEMENTS

Selection Statements in Java


A programming language uses control statements to control the
flow of execution of program based oncertain conditions.
Java’s Selection statements:
 if
 if-else
 nested-if
 if-else-if
 switch-case
 jump – break, continue, return

if Statement
if statement is the most simple decision making statement. It is
used to decide whether a certain statement or block of
statements will be executed or not that is if a certain
condition is true then a block of statement is executed
otherwise not.
Syntax:
if(condition)
{
//statements to execute if
//condition is true
}
37
Condition after evaluation will be either true or false. If the value is
true then it will execute the block of statements under it. If
there are no curly braces ‘{‘ and ‘}’ after if( condition ) then
by defaultif statement will consider the immediate one statement
to be inside its block.

Example:
class IfSample
{
public static void main(String args[])
{ int
x,
y;

x
=1
0; y
=
20
;
if(
x <
y)

System.out.println("x is less
than y"); x = x
* 2; if(x == y)

System.out.println("x now
equal to y") x
= x * 2; if(x
> y)
System.out.println("x now greater than y");

38
// this won't
displayanything if(x
== y)
System.out.println("you won't see this");
}
}
Output:
x is less
than y x
now equal
to y x
now greater
than y

if-else Statement
The Java if-else statement also tests the condition. It executes the if
block if condition is true else if it is false the else block
is executed.
Syntax:.
If(condition)
{

else

}
//Executes this block if
//condition is true
//Executes this block if
//condition is false

39
Example:
public class IfElseExample
{
public static void main(String[] args)
{
int number=13;
if(number%2==0){
System.out.println("even number");
}else
{
System.out.println("odd number");
} }}
Output:
odd number

Nested if Statement
Nested if-else statements, is that using one if or else if statement
inside another if or else if statement(s).

40
Example:
// Java program to illustrate
nested-if statement class
NestedIfDemo
{
public static void main(String args[])
{ int I
=
10;

if (I == 10)
{ if (I
<
15)

System.out.println(“I is smaller
than 15”); if (I < 12)

System.out.println(“I is smaller than


12 too”); else
System.out.println(“I is greater than 15”);
}
}
}
Output:
I is smaller than 15
I is smaller than 12 too

41
if-else-if ladder statement
The if statements are executed from the top down. The conditions
controlling the if is true, the statement associated with that if
is executed, and the rest of the ladder is bypassed. If none
of the conditions is true, then the final else statement will be
executed.
Syntax: if(condition)
statement; else
if(condition)
statement; else
if(condition)
statement;
.
.
else statement;

Example:
public class IfElseIfExample
{ public static void
main(String[] args)
{
int marks=65;
if(marks<50){
System.out.println(“fail”);
}
else if(marks>=50 && marks<60){
System.out.println(“D grade”);
}
42
else if(marks>=60 &&marks<70){
System.out.println(“C grade”);
}
else if(marks>=70 && marks<80){
System.out.println(“B grade”);
}
else if(marks>=80 && marks<90){
System.out.println(“A grade”);
}else if(marks>=90 && marks<100){
System.out.println(“A+ grade”);
}else{
System.out.println(“Invalid!”);
}
}
}

Output:
C grade

Switch Statements
The switch statement is Java’s multiway branch statement. It provides
an easy way to dispatch execution to different parts of your
code based on the value of an expression.
Syntax: switch
(expression) {
case value1:

// statement sequence
break; case value2:
// statement sequence break;
.
. case
valueN:

// statement sequence
break; default:
// defaultstatement sequence
}
Example:
// A simple example of
the switch. class
SampleSwitch {
public static void main(String args[]) {

43
for(int i=0;
i<6; i++)
switch(i) {
case 0:
System.out.println("i is zero.");
break;
case
1:

System.out.println("i is
one."); break; case 2:

System.out.println("i is
two."); break; case 3:

System.out.println("i is three.");
break;
default:

System.out.println("i is greater
than 3."); }}}
Output: i is zero. i
is one. i is
two. i is three. i
is greater than 3.
i is greater
than 3.

44
ITERATIVE STATEMENTS
In programming languages, loops are used to execute a set of
instructions/functions repeatedly when some conditions become true. There are
three types of loops in java.
• while loop
• do-while loop
• For loop while loop
A while loop is a control flow statement that allows code to be
executed repeatedly based on a given Boolean condition. The while
loop can be thought of as a repeating if statement.
Syntax:
while(condition)
{
// body of loop
}

45
While loop starts with the checking of condition. If it evaluated
to true, then the loop body statements are executed otherwise first
statement following the loop is executed. It is called as Entry
controlled loop.
Normally the statements contain an updatevalue for the variable being
processed for the next iteration.
When the condition becomes false, the loop terminates which marks the
end of its life cycle. Example:
// Demonstrate the while
loop. class While {
public static void main(String
args[]) { int n =
5;
while(n > 0)
{
System.out.println("tick "
+ n); n--;
}
}
}
Output:
tick 5
tick
4
tick
3
tick
2
tick
1

46
do-while loop:
do while loop checks for condition after executing the statements, and
therefore it is called as Exit Controlled Loop.
Syntax:
do {
// body of loop
} while (condition);

do while loop starts with the execution of the statement(s). There is no


checking of any condition for the first time.
After the execution of the statements, and updateof the variable
value, the condition is checked for true or false value. If it
is evaluated to true, next iteration of loop starts.
When the condition becomes false, the
loop terminates which marks the end of its
life cycle.
It is important to note that the do-while loop will execute
its statements atleast once before any condition is checked, and
therefore is an example of exit control loop. Example
public class DoWhileExample
{
public static void main(String[] args)
{
int
i=1;
do{
System.out.println(i);
i++;
}while(i<=5);
}
}

47
Output:
1
2
3
4
5

for loop for loop provides a concise way of writing the


loop structure. A for statement consumes the initialization,
condition and increment/decrement in one line.
Syntax
for(initialization; condition; iteration) {
// body
}

Initialization condition: Here, we initialize the variable in use. It


marks the start of a for loop. An already declared variable
can be used or a variable can be declared, local to loop
only.
Testing Condition: It is used for testing the exit condition for a
loop. It must return a boolean value. It is also an Entry
Control Loop as the condition is checked prior to the
execution of the loop statements.
Statement execution: Once the condition is evaluated to true, the
statements in the loop body are executed.
Increment/ Decrement: It is used for updating the
variable for next iteration.

48
Loop termination:When the condition becomes false, the loop terminates
marking the end of its life cycle.

Example
public class ForExample {
public static void main(String[] args)
{ for(int i=1;i<=5;i++)
{
System.out.println(i);
}
} }
Output:
1
2
3
4
5

for-each Loop

The for-each loop is used to traverse array or collection in java.


It is easier to use than simple for loop because we don't need
to increment value and use subscript notation. It works on
elements basis not index. It returns element one by one in
the defined variable.
Syntax:
for(type itr-var : collection) statement-block

Example:
// Use a for-each
style for loop.
class ForEach
{
public static void main(String
args[]) { int nums[] =
{ 1, 2, 3, 4,
5, 6, 7, 8, 9,
10 }; int sum =
0;
// use for-each style for to display
and sum the values for(int x : nums)

49
System.out.println("Valueis: "
+ x); sum +=
x;
}
System.out.println("Summation: " + sum);
}
}
Output:
Value is: 1
Value is: 2
Value is: 3
Value is: 4
Value is: 5
Value is:
6
Value is:
7
Value is:
8
Value is: 9
Value is: 10
Summation: 55
Nested Loops
Java allows loops to be nested. That is, one loop may be inside
another.
Example:
// Loops may be
nested. class
Nested {
public static void main(String args[])
{
i
nt i,
j;

for(i=0; i<10; i++) {


for(j=i; j<10; j++)
System.out.print(".");
System.out.println();
}}

Output:

50
..........
.........
........
.......
......
.....
....
...
..
.

JUMP STATEMENTS
Java Break Statement
When a break statement is encountered inside a loop, the loop is
immediately terminated and the program control resumes at the
next statement following the loop.
The Java break is used to break loop or switch statement. It
breaks the current flow of the program at specified condition.
In case of inner loop, it breaks only inner loop.

Example:
// Using break to exit
a loop. class
BreakLoop {
public static void main(String args[])
{
for(int i=0; i<100; i++)
{ if(i
==
10)

51
break; // terminate loop if i is 10
System.out.println("i: " + i);
}
System.out.println("Loop complete.");
}
}
Output:
i:

i:

i:

i:

i:

i:

i:

i:

i:

i:
52
9
Loop complete.
Java Continue Statement
The continue statement is used in loop control structure when you
need to immediately jump to the next iteration of the loop. It
can be used with for loop or while loop.
The Java continue statement is used to continue loop. It continues
the current flow of the program and skips the remaining code
at specified condition. In case of inner loop, it continues only
inner loop.

Example:
// Demonstrate continue.
class Continue {

public static void main(String args[])


{
for(int i=0; i<10; i++)
{ 0 7
2 26
4 29
6 30
8 82

System.out.print(i +
" "); if
(i%2 == 0)
continue;
System.out.println(
"");
}
}
}
This code uses the % operator to check if i is
even. If it is, the loop continues without printing
a newline.
Output:

Return
The last control statement is return.The return statement is used to
explicitly return from a method. That is, it causes program
control to transfer back to the caller of the method.
53
Example:
// Demonstrate return.
class Return{
public static void main(String args[])
{ boolean t = true;
System.out.println("Before the
return."); if(t) return;
// return to caller
System.out.println("This won't execute.");
}
}
Output:
Before the return.

3. PROGRAMMING STRUCTURES OF JAVA

1. Can a Java source file be saved using a name other


than the class name? Justify (2) (APR/MAY 2019)
2. Define Access Specifier(2) (Nov/Dec 2018)
3. What is Method?How method is defined? Give
Example. (Nov/Dec 2018)
4. What is Java Doc?(2) (Nov/Dec 2019)
5. Explain in detail about Constructor with an example?(13)

A first Simple Java Program


class Simple
{
public static void main(String args[])
{
System.out.println("Java World");
}
}
To compile:
javac Simple.java To execute: java Simple class keyword is
used to declare a class in java. public keyword is
an access modifier which represents visibility, it means it is
visible to all.
static is a keyword, if we declare any method as
static, it is known as static method. The core advantage of static
method is that there is no need to create object to invoke the
static method. The main method is executed by the JVM, so
it doesn't require to create object to invoke the main method.

54
So it saves memory. void is the return type of the method,
it means it doesn't return any value.
main represents the starting point of the program. String[] args
is used for command line argument. System.out.println() is used
print statement.

A program is written in JAVA, the javac compiles it. The result


of the JAVA compiler is the .class file or the bytecode and
not the machine native code (unlike C compiler). The bytecode
generated is a nonexecutable code and needs an interpreter to
execute on a machine. This interpreter is the JVM and t
us the Bytecode is executed by the JVM. And finally program
runs to give the desired output.

3.1 DEFINING CLASSES IN JAVA


The class is at the core of Java .A class is a template
for an object, and an object is an instance of a class.
A class is declared by use of the class keyword
Syntax:
class classname
{ type
instance-
variable1; type
instance-
variable2;
// ...
type instance-variableN;
type methodname1(parameter-list) {
// body of method
}
...
type methodnameN(parameter-list) {
// body of method
}

55
The data, or variables, defined within a class are called instance
variables. The code is contained within methods. The methods and
variables defined within a class are called members of the class.
In most classes, the instance variables are acted upon and
accessed by the methods defined for that class.
Variables defined within a class are called instance variables because
each instance of the class (that is, each object of the class)
contains its own copy of these variables. Thus, the data for one
object is separate and uniquefrom the data for another.

A Simple
Class class
called Box
that defines
three instance
variables:
width, height,
and depth.
class Box {
double width;
double height;
double depth;
}
The new data type is called Box. This name is used to declare
objects of type Box. The class declaration only creates a
template. It does not create an actual object.

To create a Box object

Box mybox = new Box(); // create a Box object called mybox

mybox will be an instance of Box.


Each time you create an instance of a class, you are creating an
object that contains its own copy of each instance variable
defined by the class. To access these variables, you will use the
dot (.) operator.
The dot operator links the name of the object with the name of an
instance variable.
Example1:
/* A program that uses the Box class. Call this file BoxDemo.java

*/
clas
s Box

56
{
double width; double height;double depth;
}
// This class declares an object of type Box.
class BoxDemo {
public static void main(String args[])
{ Box mybox = new
Box(); double vol;
// assign values to mybox's
instance variables
mybox.width = 10;
mybox.height = 20;
mybox.depth = 15; //
compute volume of box

vol = mybox.width * mybox.height * mybox.depth;


System.out.println("Volume is " + vol);
}
}
Output:
Volume is 3000.0

Example2:
// This program declares two
Box objects. class Box {
double width; double height;double depth;
}
class BoxDemo2 {
public static void main(String args[])
{ Box mybox1
= new Box();
Box mybox2
= new Box();
double vol;
// assign values to mybox1's
instance variables
mybox1.width = 10;
mybox1.height = 20;
mybox1.depth = 15;
/* assign different values to mybox2's instance variables
*/
mybox2.width =
3; mybox2.height
57
= 6;
mybox2.depth
= 9;
// compute volume of first box
vol = mybox1.width * mybox1.height * mybox1.depth;
System.out.println("Volume is "
+ vol); // compute
volume of second
box
vol = mybox2.width * mybox2.height * mybox2.depth;
System.out.println("Volume is " + vol);
}
}
Output:
Volume is 3000.0
Volume is 162.0
Declaring Objects
First, declare a variable of the class type. This variable does not
define an object.Instead, it is simply a variable that can refer to
an object.
Second, you must acquire an actual, physical copy of the object and
assign it to that variable. This is done using the new operator.
The new operator dynamically allocates (that is, allocates at run
time) memory for an object and returns a reference to it.
This reference is then stored in the variable. Thus, in Java, all
class objects must be dynamically allocated.
Syntax:
Box mybox = new Box();
Box mybox; // declare
reference to object mybox =
new Box(); // allocate a
Box object

The first line declares mybox as a reference to an object of


type Box. At this point, mybox does not yet refer to an
actual object. The next line allocates an object and assigns a
reference to it to mybox. After the second line executes,
we can use mybox as if it were a Box object. But in
reality,mybox simply holds, in essence, the memory address of
the actual Box object.

58
Assigning Object Reference
Variables Syntax:
Box b1 = new
Box(); Box b2
= b1;
b2 is being assigned a reference to a copy of the object referred
to by b1. b1 and b2 will both refer to the
same object. The assignment of b1 to b2 did not allocate any
memory or copy any part of the original object. It simply makes b2
refer to the same object as does b1. Thus, any changes made to the
object through b2 will affect the object to which b1 is referring,
since they are the same object.

3.2 CONSTRUCTORS
Constructors are special member functions whose task is to initialize
the objects of its class.
It is a special member function; it has the same as
the class name.
Java constructors are invoked when their objects are created. It
is named such because, it constructs the value, that is
provides data for the object and are used to initialize
objects.

59
Every class has a constructor when we don't explicitly declare a
constructor for any java class the compiler creates a
defaultconstructor for that class which does not have any return
type.
The constructor in Java cannot be abstract, static, final or
synchronized and these modifiers are not allowed for the
constructor.
There are two types of constructors:
1. Default constructor (no-arg constructor)
2. Parameterized constructor

Default constructor (no-arg constructor)


A constructor having no parameter is known as defaultconstructor and
no-arg constructor.
Example:
/* Here, Box uses a constructor to
initialize the dimensions of a box.
*/ class Box
{
double width; double height;double
depth; // This is the
constructor for Box.
Box()
{
System.out.println("Constructing
Box"); width = 10; height
= 10; depth = 10;

}
// compute and return
volume double
volume() {
return width * height * depth;
}
}
class BoxDemo6 {
public static void main(String
args[]) { // declare,
allocate, and initialize Box
objects
Box mybox1 = new Box();
Box mybox2 = new
Box(); double vol;
// get volume of first box vol = mybox1.volume();
60
System.out.println("Volume is " + vol);
// get volume of second box vol = mybox2.volume();
System.out.println("Volume is " + vol);
}
}

Output:
Constructing Box
Constructing Box
Volume is
1000.0Volume
is 1000.0
new Box( ) is calling the Box( ) constructor. When the constructor for
a class is not explicitly defined , then Java creates a
defaultconstructor for the class. The defaultconstructor automatically initializes
all instance variables to their defaultvalues, which are zero, null, and
false, for numeric types, reference types, and boolean, respectively.

Parameterized Constructors
A constructor which has a specific number of parameters is
called parameterized constructor. Parameterized constructor is
used to provide different values to the distinct objects.
Example:
/* Here, Box uses a
parameterized constructor to
initialize the dimensions of
a box. */ class Box {
double width; double height;double
depth;
// This is the constructor for Box.
Box(double w, double h, double d)
{ width =
w; height
= h;

depth = d;
}
// compute and return
volume double volume()
{
return width * height * depth;
}
}
class BoxDemo7 {
public static void main(String args[]) {
61
// declare, allocate, and
initialize Box objects Box
mybox1 = new Box(10,
20, 15);
Box mybox2 = new
Box(3, 6, 9); double vol;

// get volume of
first box vol =
mybox1.volume();
System.out.println("Volume is " + vol);
// get volume of
second box
vol =
mybox2.volume();
System.out.println("Volume is " + vol);
}
}

Output:
Volume is 3000.0
Volume is 162.0
Box mybox1 = new Box(10, 20, 15);
The values 10, 20, and 15 are passed to the Box( ) constructor when
new creates the object. Thus, mybox1’s copy of width, height, and
depth will contain the values 10, 20, and 15 respectively.

Overloading
Constructors Example:
/* Here, Box defines three constructors to initialize the dimensions of
a box various ways.
*/ class
Box {
double
width;
double
height;
double
depth;
// constructor used when all
dimensions specified Box(double w,
double h, double d) { width =
w; height = h; depth = d;

62
// constructor used when no dimensions
specified Box() {
width = -1; // use
-1 to indicate
height = -1; // an
uninitialized
depth = -1; // box
}
// constructor used when cube is created
Box(double len) {
width = height =
depth = len;
}
// compute and return
volume double volume()
{
return width * height * depth;
}
}
class OverloadCons
{
public static void main(String args[])
{
// create boxes using the various constructors
Box mybox1 = new Box(10, 20, 15);
Box mybox2 =
new Box(); Box
mycube =
new Box(7);
double vol; //
get volume
of first box
vol =
mybox1.volume();
System.out.println("Volume of mybox1 is " + vol);
// get volume of
second box
vol =
mybox2.volume();
System.out.println("Volume of mybox2 is " + vol);
// get volume
of cube vol
=
mycube.volume();

63
System.out.println("Volume of mycube is " + vol);
}
}
Output:
Volume of mybox1 is 3000.0
Volume of mybox2 is -1.0
Volume of mycube is 343.0

3.3 METHODS
Syntax:
type name(parameter-list) {
// body of method
}
type specifies the type of data returned by the method. This
can be any valid type, including class types that you create.
If the method does not return a value, its return type must be
void.
The name of the method is specified by name.
The parameter-list is a sequence of type and identifier pairs
separated by commas. Parameters are essentially variables that
receive the value of the arguments passed to the method
when it is called. If the method has no parameters, then
the parameter list will be empty.
Methods that have a return type other than void return a value to
the calling routine using the following form of the return
statement:
Syntax:
return value;
Example:
// This program includes a
method inside the box class.
class Box { double width; double
height;double depth;
// display volume
of a box void
volume() {
System.out.print("Volume is ");
System.out.println(width * height * depth);
}}
class BoxDemo3 {
public static void main(String args[])
{ Box mybox1 = new Box();
Box mybox2 = new Box();

64
// assign values to mybox1's
instance variables
mybox1.width = 10;
mybox1.height = 20;
mybox1.depth = 15;
/* assign different values to
mybox2's instance
variables */
mybox2.width =
3; mybox2.height
= 6;
mybox2.depth
= 9;
// display volume of first
box mybox1.volume();
// display volume of second
box mybox2.volume();
}
}

Output:
Volume is
3000.0Volume
is 162.0
The first line here invokes the volume( ) method on mybox1.
That is, it calls volume( ) relative to the mybox1
object, using the object’s name followed by the dot operator. Thus,
the call to mybox1.volume( ) displays the volume of the
box defined by mybox1, and the call to mybox2.volume( )
displays the volume of the box defined by mybox2. Each
time volume( ) is invoked, it displays the volume for
the specified box.

Returning a
Value Example:
// Now, volume() returns the volume of a box.
class Box {
double
width;
double
height;
double
depth;
// compute and return
volume double volume()
{
65
return width * height * depth;
}
}
class BoxDemo4 {
public static void main(String args[])
{ Box mybox1
= new Box();
Box mybox2
= new Box();
double vol;
// assign values to mybox1's
instance variables
mybox1.width = 10;
mybox1.height = 20;
mybox1.depth = 15;
/* assign different values to mybox2'sinstance
variables */ mybox2.width =
3; mybox2.height = 6;
mybox2.depth = 9;
// get volume of
first box vol =
mybox1.volume();
System.out.println("Volume is " + vol);
// get volume of
second box vol
= mybox2.volume();

System.out.println("Volume is " + vol);


}
}
Output:
Volume is
3000 Volume
is 162
when volume( ) is called, it is put on the right side of
an assignment statement. On the left is a variable, in this
case vol, that will receive the value returned by volume( ).

Syntax: vol =
mybox1.volume();
executes, the
value of
mybox1.volume(
) is
3,000 and this
value then is
66
stored in vol.

There are two important things to understand about returning values:


• The type of data returned by a method must be compatible
with the return type specified by the method. • The variable receiving
the value returned by a method (such as vol, in this case)
must also be compatible with the return type specified for the method.

Adding a Method That Takes Parameters


Example:
// This program uses a parameterized method.
class Box {
double width;
double height;
double depth;
// compute and return
volume double volume()
{
return width * height * depth;
}
// sets dimensions of box
void setDim(double w, double h, double d)
{ width =
w; height
= h;

depth = d;
}
}
class BoxDemo5 {
public static void main(String args[])
{ Box mybox1
= new Box();
Box mybox2
= new Box();
double vol;
// initialize each
box
mybox1.setDim(10,
20, 15);
mybox2.setDim(3, 6,
9); // get
volume of
67
first box vol =
mybox1.volume();
System.out.println("Volume is " + vol);
// get volume of
second box
vol =
mybox2.volume();
System.out.println("Volume is " + vol);
}
}
Output:
Volume is 3000
Volume is 162

The this Keyword


this keyword is used to to refer to the object that invoked it.
this can be used inside any method to refer to the current
object. That is, this is always a reference to the object on
which the method was invoked. this() can be used to invoke
current class constructor.
Syntax:
Box(double w, double h,
double d) {
this.width = w;
this.height = h;
this.depth = d;
}
Example:
class
Student

{ int
id
;
String name;
student(int id, String name)
{ this.id =
id;
this.name
= name;

}
void display()
{
System.out.println(id+" "+name);
68
}
public static void main(String args[])
{
Student stud1 = new
Student(01,"Tarun"); Student
stud2 = new
Student(02,"Barun");
stud1.display(); stud2.display();

}
}
Output:
01 Tarun
02 Barun

Overloading Methods
When two or more methods within the same class that have the same
name, but their parameter declarations are different. The methods are
said to be overloaded, and the process is referred to as
method overloading. Method overloading is one of the ways that
Java supports polymorphism.
There are two ways to overload the method in java
1. By changing number of arguments
2. By changing the data type Example:
// Demonstrate method
overloading. class
OverloadDemo {
void test() {
System.out.println("No parameters");
}
// Overload test for one integer parameter.
void test(int a) {
System.out.println("a: " + a);
}
// Overload test for two integer
parameters. void test(int a,
int b) {
System.out.println("a and b: " + a + " " + b);
}
// Overload test for a double
parameter double test(double a)
{
System.out.println("double a: "
+ a); return a*a;
}
69
}
class Overload {
public static void main(String args[]) {
OverloadDemo ob = new
OverloadDemo();double
result; // call all
versions of
test() ob.test();
ob.test(10); ob.test(10,
20);
result = ob.test(123.25);
System.out.println("Result of ob.test(123.25): " + result);
}
}
Output: No
parameters
a: 10
a and
b: 10
20
double a:
123.25
Result of ob.test(123.25): 15190.5625
Method Overriding

When a method in a subclass has the same name and type


signature as a method in its superclass, then the method
in the subclass is said to override the method in the
superclass. When an overridden method is called from within its
subclass, it will always refer to the version of that method
defined by the subclass. The version of the method
defined by the superclass will be hidden. Example:
// Method overriding.
class A {
int i, j;
A(int a,
int b)
{ i
= a;
j =
b;
}
// display i
and j
void show()
70
{
System.out.prin
tln("i and j:
" + i
+ " "
+ j);
}
}
class B extends
A { int
k;
B(int a,
int b,
int c)
{
super(a,
b); k
= c;

}
// display k – this
overrides show() in A
void show() {
System.out.println("k: " + k);
}
}
class Override {
public static void main(String args[])
{ B subOb = new B(1, 2, 3);
subOb.show(); // this calls show() in B
}
}
Output:
k: 3
When show( ) is invoked on an object of type B, the
version of show( ) defined within B is used. That is, the
version of show( ) inside B overrides the version declared
in A. If you wish to access the superclass version of an
overridden method, you can do so by using super. For example,
in this version of B, the superclass version of show( )
is invoked within the subclass’ version. This allows all instance
variables to be displayed.
class B
extends A
71
{ int k;

B(int a,
int b,
int c) {
super(a,
b); k
= c;
If you substitute this version of A into the previous
program, you will see the following Output:
i and
j:
1
2
k:
3
Here, super.show( ) calls the superclass version of show( ).

3.4 ACCESS SPECIFIERS


The access modifiers in java specifies accessibility (scope) of a data
member, method, constructor or class. There are 4 types of java
access modifiers:
1. private
2. default
3. protected
4. public
1) Private Access Modifier
The private access modifier is accessible
only within class. Simple example of
private access modifier
In this example, we have created two classes A and Simple. A
class contains private data member and private method. We
are accessing these private members from outside the class, so
there is compile time error. class A{
private int
data=40; private
void msg()
{System.out.println("Hello java");}
72
}
public class Simple{
public static void main(String args[]){
A obj=new A();
System.out.println(obj.data);//Compile Time Error
obj.msg();//Compile Time Error
}
}
Role of Private Constructor
If you make any class constructor private, you cannot create the instance
of that class from outside the class.For example: class
A{
private A(){}//private constructor
void msg(){System.out.println("Hello java");}
}
public class Simple{
public static void main(String args[]){
A obj=new A();//Compile Time Error
}
}

If you make any class constructor private, you cannot create the instance
of that class from outside the class. For example:
class A{
private A(){}//private constructor
void msg(){System.out.println("Hello java");}
}
public class Simple{
public static void main(String args[]){
A obj=new A();//Compile Time Error
}
}

2) Default Access Modifier


If you don't use any modifier, it is treated as defaultbydefault.
The defaultmodifier is accessible only within package.
Example:
In this example, we have created two packages pack and mypack.
We are accessing the A class from outside its package, since
A class is not public, so it cannot be accessed from outside
the package.

73
//save by
A.java
package
pack;
class A{

void msg(){System.out.println("Hello");}
}
//save by
B.java
package
mypack;
import
pack.*; class
B{
public static void main(String
args[]){ A obj =
new A();//Compile Time
Error
obj.msg();//Compile Time Error
}
}
In the above example, the scope of class A and its method
msg() is defaultso it cannot be accessed from outside the
package.

3) Protected Access Modifier


The protected access modifier is accessible within package and outside
the package but through inheritance only.
The protected access modifier can be applied on the data member,
method and constructor. It can't be applied on the class.
Example:
In this example, we have created the two packages pack and
mypack. The A class of pack package is public, so can be
accessed from outside the package. But msg method of this
package is declared as protected, so it can be accessed
from outside the class only through inheritance.
//save by
A.java
package

74
pack;
public
class A{

protected void msg(){System.out.println("Hello");}


}
//save by
B.java
package
mypack;
import
pack.*;

class B extends A{
public static void main(String
args[]){
B obj = new
B(); obj.msg();
}
}
Output:
Hello

4) Public Access Modifier


The public access modifier is accessible everywhere. It has the widest scope
among all other modifiers. Example:
//save by A.java package pack;
public class A{ public void
msg(){System.out.println("Hello");}
}
//save by
B.java
package
mypack;
import
pack.*; class
B{
public static void main(String args[]){
A obj = new A();
obj.msg();
}
}
75
Output:
Hello

Access Within Class Within Outside Outside


Modifier Package Package Package

By Subclass
Only
Private Y N N N

Default Y Y N N

Protecte Y Y Y N
d
Public Y Y Y Y

Java access modifiers with method overriding


If you are overriding any method, overridden method (i.e. declared
in subclass) must not be more restrictive.

class A{
protected void msg(){System.out.println("Hello java");}
}
public class Simple extends A{
void msg(){System.out.println("Hello java");}//C.T.Error
public static void main(String args[]){
Simple obj=new Simple();
obj.msg();
}
}
The defaultmodifier is more restrictive than protected. That is why there
is compile time error.

3.5 STATIC MEMBERS


Static is a non-access modifier in Java which is applicable for
the following:
1. blocks
2. variables
3. methods
4. nested classes Static blocks

76
If you need to do computation in order to initialize your static
variables, you can declare a static block that gets executed
exactly once, when the class is first loaded.
Example:
// Java program to demonstrate use of
static blocks class Test
{
// static variable
static int a
= 10;
static int b;

// static
block
static {

System.out.println("Static block
initialized."); b = a *
4;
}

public static void main(String[] args)


{
System.out.println("from main");
System.out.println("Value of a : "+a);
System.out.println("Value of b : "+b);

}
}
Output:
Static block
initialized. from main
Value of a : 10
Value of b : 40

Static variables
When a variable is declared as static, then a single copy of
variable is created and shared among all objects at class level.
Static variables are, essentially, global variables. All instances of the
class share the same static variable.
Important points for static variables :-
• We can create static variables at class-level only.

77
• static block and static variables are executed in order they are
present in a program.
Example:
// Demonstrate static variables, methods,
and blocks. class UseStatic { static
int a = 3; static int b;
static void meth(int x) {
System.out.println("x = "
+ x);
System.out.println("a = " + a);
System.out.println("b = " + b);
}
st
atic {

System.out.println("Static block initialized.");


b = a * 4;
}
public static void main(String args[]) {
meth(42);
}
}
Output:
Static
block
initialized.
x =
42 a
= 3
b =
12

Static methods
When a method is declared with static keyword, it is
known as static method. When a member is declared static,
it can be accessed before any objects of its class are
created, and without reference to any object. The most
common example of a static method is main( )
method.
Methods declared as static have several restrictions:
 They can only directly call other static methods.
 They can only directly access static data.
 They cannot refer to this or super in any way.
Syntax:

78
classname.method( )
Example:
//Inside main( ), the static method callme( ) and the static
variable b are accessed through their class name
//StaticDemo.
class
StaticDemo {

static int a = 42;


static int b = 99;
static void callme() {

System.out.println("a = " + a);


}
}
class StaticByName{
public static void main(String args[]) {
StaticDemo.callme();
System.out.println("b = " + StaticDemo.b);
}
}
Output:
a
=
42

b = 99

3.6 JAVA DOC COMMENTS


The java comments are statements that are not executed by the
compiler and interpreter. The comments can be used to provide
information or explanation about the variable, method, class or
any statement. It can also be used to hide program code
for specific time.
There are 3 types of comments in java.
1. Single Line Comment
2. Multi Line Comment
3. Documentation Comment
1) Java Single Line Comment
The single line comment is used to comment only one line.
Syntax:
//This is single line
comment Example:
79
public class
CommentExample1
{
public static void main(String[] args)
{ int
i=10;//Here, i
is a
variable
System.out.println(i);
}
}
Output:
10

2) Java Multi Line Comment


The multi line comment is used to comment
multiple lines of code. Syntax: /*
This is
multi line
comment */

Example:
public class CommentExample2
{
public static void main(String[] args)
{
/* Let's
declare and
print variable
in java. */
int i=10;
System.out.println(
i);
}
}
Output:
10

3) Java Documentation Comment


The documentation comment is used to create documentation API.
To create documentation API, you need to use javadoc tool.
Syntax:

/** This is documentation comment */

80
Example:
/** The Calculator class provides methods to get addition and
subtraction of given 2 numbers.*/

public class Calculator


{
/** The add() method returns addition
of given numbers.*/
public static int add(int a, int b)
{
return a+b;
}
/** The sub() method returns subtraction
of given numbers.*/
public static int sub(int a, int b)
{
return a-b;
}
}
This type of comment is used to produce an HTML file that
documents your program. The documentation comment begins with a
/** and ends with a */

81
OOP Unit-1 - CBS - Lambda Expressions

Lambda expression is a new and important feature of Java which was included in Java SE 8.
It provides a clear and concise way to represent one method interface using an expression.
It is very useful in the collection library. It helps to iterate, filter and extract data from

collections.

The Lambda expression is used to provide the implementation of an interface which has a
functional interface. It saves a lot of code. In case of lambda expression, we don't need to
define the method again for providing the implementation. Here, we just write the
implementation code.

Java lambda expression is treated as a function, so compiler does not create .class file

Lambda expression provides implementation of functional interface. An interface which has


only one abstract method is called a functional interface. Java provides an annotation
@FunctionalInterface, which is used to declare an interface as functional interface.

Java Lambda Expression Syntax

1. (argument-list) -> {body}

Java lambda expression consists of three components.

1) Argument-list: It can be empty or non-empty as well.

2) Arrow-token: It is used to link arguments-list and body of expression.

3) Body: It contains expressions and statements for lambda expression.

No Parameter Syntax

1. () -> {
2. //Body of no parameter lambda
3. }

One Parameter Syntax


1. (p1) -> {
2. //Body of single parameter lambda
3. }

Two Parameter Syntax

1. (p1,p2) -> {
2. //Body of multiple parameter lambda
3. }

Example

1. interface Addable{
2. int add(int a,int b);
3. }
4.
5. public class LambdaExpressionExample5{
6. public static void main(String[] args) {
7.
8. // Multiple parameters in lambda expression
9. Addable ad1=(a,b)->(a+b); 10.
System.out.println(ad1.add(10,20)); 11.
12. // Multiple parameters with data type in lambda expression
13. Addable ad2=(int a,int b)->(a+b);
14. System.out.println(ad2.add(100,200));
15. }
16. }

Assignment -1

Category - Easy
Install Microsoft Visual Studio.net in your laptop/desktop.Execute any ten basic C#
programs.Share the programs & screenshots through your respective github link.

Category - Medium

Write a Java Program to sort three numbers.Repeat the same program using 10 different
logics.

Category - Hard

Implement Library Management System using the concepts learnt in Unit-1


(or)
Implement Railway Reservation System using the concepts learnt in Unit-1
DEPARTMENT OF COMPUTER SCIENCE &
ENGINEERING
Sub Code : CS3391 Branch : CSE /CSBS
Sub Name : Object Oriented Programming Year/Sem: II/III

Part A
Sl.n Questions Blooms
o CO Level*

1 Compare structured programming & object oriented B2


programming. CO1

2 List the OOP concepts used in Java. CO1 B1

3 List the characteristics of Java. CO1 B1

4 Compare JDK,JRE and JVM. CO1 B3

5 Write a Java program to perform addition of two numbers B3


using class and object. CO1

6 List the access specifiers in Java. CO1 B1

7 Write a Java program to demonstrate the usage of B3


constructor. CO1

8 Write a Java program to perform addition of two numbers B3


using a static method. CO1

9 Write a Java program to demonstrate the usage of static B3


keywords with a variable. CO1

10 List the datatypes in Java. CO1 B1

11 Tabulate the storage occupancy of datatypes in Java. CO1 B1

12 Tabulate the default values of datatypes in Java. CO1 B1

13 Guess the output public class A { public CO1 B3


static void main(String[] args)
{
if (true) break;
}
}

14 Guess the output public class A { public CO1 B3


static void main(String[] args)
{
System.out.println('j' + 'a' + 'v' + 'a');
}
}

15 Guess the output public class A { public CO1 B3

static void main(String[] args)


{ int $_ = 5;
}
}
16 Guess the output public class Demo{ public CO1 B3
static void main(String[] arr){
Integer num1 = 100;
Integer num2 = 100;
Integer num3 = 500; Integer
num4 = 500;

if(num1==num2){
System.out.println("num1 == num2");
} else{
System.out.println("num1 != num2");
}
if(num3 == num4){
System.out.println("num3 == num4");

}
else{
System.out.println("num3 != num4");
}
}
}
17 Guess the output public class Demo{ CO1 B3
public static void main(String[] arr){

}
public static void main(String arr){

}
}
18 Write a Java program to find the minimum element in a CO1 B3
given array.
19 Write a Java program to perform the transpose of any 3 X 3 CO1 B3
matrix.
20 Mention the purpose of the javadoc tool. CO1 B1

Sl.no Questions CO Blooms


Level*

1 List and explain the Object oriented concepts in Java. CO1 B1

2 List and explain the features of Java. CO1 B1

3 List and explain the different datatypes in Java. CO1 B1

4 List and explain the different types of operators in Java. CO1 B1

5 List and explain the different types of control structures in CO1 B1


Java.
6 Write a Java program to sort 55,24,33,11,65 in CO1 B3
Ascending order.

Part B
7 Write a Java program to implement a user defined CO1 B3
package.

8 Write a Java program to compute the rank of a 3 X 3 CO1 B3


matrix.

Part C
Sl.no Questions CO Blooms
Level*
1 Identify the problem in the code CO1 B4

public class IdentifyProblemsInCode

public void howToDoInJava_method1()

{ System.out.println("how to do");

return;

System.out.println("in java");

public void howToDoInJava_method2()


{ System.out.println("how to do"); if
(true) {
return;

System.out.println("in java");

public void howToDoInJava_method3()

{ System.out.println("how to do");

while (true) { return;

System.out.println("in java");

2 Write a Java program to count the number of duplicate CO1 B3


elements in 1,1,1,2,2,3,4,5,5,5,7,7,7,7.

3 You have a series of numbers start (e.g. 1….N) and CO1 B4


exactly one number in this series is missing. You have to
write a Java program to find missing number from series.
Unit-1 Java Practice Programs

1. Write a Java program to print 'Hello' on screen and then print your name on a separate line.
Expected Output :
Hello
Alexandra Abramov

2. Write a Java program to print the sum of two numbers.


Test Data:
74 + 36
Expected Output :
110

3. Write a Java program to divide two numbers and print on the screen. Test Data :
50/3
Expected Output :
16

4. Write a Java program to print the result of the following operations.


Test Data:
a. -5 + 8 * 6
b. (55+9) % 9
c. 20 + -3*5 / 8
d. 5 + 15 / 3 * 2 - 8 % 3Expected Output :
43
1
19
13

5. Write a Java program that takes two numbers as input and display the product of two
numbers.
Test Data:
Input first number: 25
Input second number: 5
Expected Output :
25 x 5 = 125
6. Write a Java program to print the sum (addition), multiply, subtract, divide and remainder of
two numbers.
Test Data:
Input first number: 125
Input second number: 24
Expected Output :
125 + 24 = 149
125 - 24 = 101
125 x 24 = 3000
125 / 24 = 5
125 mod 24 = 5

7. Write a Java program that takes a number as input and prints its multiplication table upto 10.
Test Data:
Input a number: 8
Expected Output :
8x1=8
8 x 2 = 16
8 x 3 = 24
...
8 x 10 = 80

8. Write a Java program to display the following pattern. Sample Pattern :

9. Write a Java program to compute the specified expressions and print the output.
Test Data:
((25.5 * 3.5 - 3.5 * 3.5) / (40.5 - 4.5))
Expected Output
2.138888888888889

10. Write a Java program to compute a specified formula. Specified Formula :


4.0 * (1 - (1.0/3) + (1.0/5) - (1.0/7) + (1.0/9) - (1.0/11))
Expected Output
2.9760461760461765

11. Write a Java program to print the area and perimeter of a circle.
Test Data:
Radius = 7.5
Expected Output
Perimeter is = 47.12388980384689
Area is = 176.71458676442586

12. Write a Java program that takes three numbers as input to calculate and print the average
of the numbers.

13. Write a Java program to print the area and perimeter of a rectangle.
Test Data:
Width = 5.5 Height = 8.5
Expected Output
Area is 5.6 * 8.5 = 47.60
Perimeter is 2 * (5.6 + 8.5) = 28.20

14. Write a Java program to print an American flag on the screen.


Expected Output
* * * * * * ==================================
* * * * * ==================================
* * * * * * ==================================
* * * * * ==================================
* * * * * * ==================================
* * * * * ==================================
* * * * * * ==================================
* * * * * ==================================
* * * * * * ==================================
==============================================
==============================================
==============================================
==============================================
==============================================
==============================================

15. Write a Java program to swap two variables.


16. Write a Java program to print a face.
Expected Output
+"""""+
[| o o |]
| ^ |
| '-' |
+-----+

17. Write a Java program to add two binary numbers.


Input Data:
Input first binary number: 10
Input second binary number: 11
Expected Output
Sum of two binary numbers: 101

18. Write a Java program to multiply two binary numbers.


Input Data:
Input the first binary number: 10
Input the second binary number: 11
Expected Output
Product of two binary numbers: 110

19. Write a Java program to convert a decimal number to binary number.


Input Data:
Input a Decimal Number : 5
Expected Output
Binary number is: 101

20. Write a Java program to convert a decimal number to hexadecimal number.


Input Data:
Input a decimal number: 15
Expected Output
Hexadecimal number is : F

21. Write a Java program to convert a decimal number to octal number.


Input Data:
Input a Decimal Number: 15
Expected Output
Octal number is: 17
22. Write a Java program to convert a binary number to decimal number.
Input Data:
Input a binary number: 100
Expected Output
Decimal Number: 4

23. Write a Java program to convert a binary number to hexadecimal number.


Input Data:
Input a Binary Number: 1101
Expected Output
HexaDecimal value: D

24. Write a Java program to convert a binary number to a Octal number.


Input Data:
Input a Binary Number: 111
Expected Output
Octal number: 7

25. Write a Java program to convert a octal number to a decimal number.


Input Data:
Input any octal number: 10
Expected Output
Equivalent decimal number: 8

26. Write a Java program to convert a octal number to a binary number.


Input Data:
Input any octal number: 7
Expected Output
Equivalent binary number: 111

27. Write a Java program to convert a octal number to a hexadecimal number.


Input Data:
Input a octal number : 100
Expected Output
Equivalent hexadecimal number: 40
28. Write a Java program to convert a hexadecimal to a decimal number.
Input Data:
Input a hexadecimal number: 25
Expected Output
Equivalent decimal number is: 37

29. Write a Java program to convert a hexadecimal to a binary number.


Input Data:
Enter Hexadecimal Number : 37
Expected Output
Equivalent Binary Number is: 110111

30. Write a Java program to convert a hexadecimal to a octal number.


Input Data:
Input a hexadecimal number: 40
Expected Output
Equivalent of octal number is: 100

31. Write a Java program to check whether Java is installed on your computer.
Expected Output
Java Version: 1.8.0_71
Java Runtime Version: 1.8.0_71-b15
Java Home: /opt/jdk/jdk1.8.0_71/jre
Java Vendor: Oracle Corporation Java
Vendor URL: http://Java.oracle.com/
Java Class Path: .

32. Write a Java program to compare two numbers.


Input Data:
Input first integer: 25
Input second integer: 39
Expected Output
25 != 39
25 < 39
25 <= 39

33. Write a Java program and compute the sum of the digits of an integer.
Input Data:
Input an integer: 25
Expected Output
The sum of the digits is: 7
34. Write a Java program to compute the area of a hexagon. Area of a hexagon
= (6 * s^2)/(4*tan(π/6)) where s is the length of a side Input Data:
Input the length of a side of the hexagon: 6
Expected Output
The area of the hexagon is: 93.53074360871938

35. Write a Java program to compute the area of a polygon. Area of a polygon =
(n*s^2)/(4*tan(π/n))
where n is n-sided polygon and s is the length of a side
Input Data:
Input the number of sides on the polygon: 7
Input the length of one of the sides: 6
Expected Output
The area is: 130.82084798405722

36. Write a Java program to compute the distance between two points on the
surface of earth. Distance between the two points [ (x1,y1) & (x2,y2)]
d = radius * arccos(sin(x1) * sin(x2) + cos(x1) * cos(x2) * cos(y1 - y2))
Radius of the earth r = 6371.01 Kilometers Input Data:
Input the latitude of coordinate 1: 25
Input the longitude of coordinate 1: 35
Input the latitude of coordinate 2: 35.5
Input the longitude of coordinate 2: 25.5
Expected Output
The distance between those points is: 1480.0848451069087 km

You might also like