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

JAVA UNIT 1

The document provides an introduction to Object-Oriented Programming (OOP) concepts and the Java programming language, covering its history, architecture, and core principles such as classes, objects, encapsulation, inheritance, polymorphism, and abstraction. It discusses the evolution of programming languages leading to OOP, the need for OOP to manage complexity, and the features of Java that make it a robust, secure, and platform-independent language. Additionally, it explains the Java Virtual Machine (JVM) architecture and the role of class loaders in executing Java programs.

Uploaded by

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

JAVA UNIT 1

The document provides an introduction to Object-Oriented Programming (OOP) concepts and the Java programming language, covering its history, architecture, and core principles such as classes, objects, encapsulation, inheritance, polymorphism, and abstraction. It discusses the evolution of programming languages leading to OOP, the need for OOP to manage complexity, and the features of Java that make it a robust, secure, and platform-independent language. Additionally, it explains the Java Virtual Machine (JVM) architecture and the role of class loaders in executing Java programs.

Uploaded by

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

23UBCAC43 /23UCSCC43 - PROGRAMMING IN JAVA UNIT 1

UNIT-I Introduction
Object Oriented concepts-History of Java-Java buzzwords-JVM architecture-Data types-
Variables-Scope and lifetime of variables arrays-operators-control statements-type
conversion and casting-simple java program-constructors-methods-Static block-Static
Data-Static Method String and String Buffer Classes.
OBJECT ORIENTED CONCEPTS
Object oriented thinking and Java Basics- Need for oop paradigm, summary of oop concepts,
coping with complexity, abstraction mechanisms. A way of viewing world – Agents,
responsibility, messages, methods, History of Java, Java buzzwords, data types, variables,
scope and lifetime of variables, arrays, operators, expressions, control statements, type
conversion and casting, simple java program, concepts of classes, objects, constructors,
methods, access control, this keyword, garbage collection, overloading methods and
constructors, method binding, inheritance, overriding and exceptions, parameter passing,
recursion, nested and inner classes, exploring string class.
OBJECT ORIENTED THINKING
 When computers were first invented, programming was done manually by toggling in a
binary machine instructions by use of front panel.
 As programs began to grow, high level languages were introduced that gives the
programmer more tools to handle complexity.
 The first widespread high level language is FORTRAN. Which gave birth to structured
programming in 1960’s. The Main problem with the high level language was they have no
specific structure and programs becomes larger, the problem of complexity also increases.
 So C became the popular structured oriented language to solve all the above problems.
 However in SOP, when project reaches certain size its complexity exceeds. So in 1980’s a
new way of programming was invented and it was OOP. OOP is a programming
methodology that helps to organize complex programs through the use of inheritance,
encapsulation & polymorphism.
NEED FOR OOP PARADIGM
 Traditionally, the structured programming techniques were used earlier.
 There were many problems because of the use of structured programming technique.
 The structured programming made use of a top-down approach.
 To overcome these problems the object oriented programming concept was created.
 The object oriented programming makes use of bottom-up approach.

DEPARTMENT OF COMPUTER SCIENCE AND APPLICATION –MRS.R SUGANYA, AP/RAAK


23UBCAC43 /23UCSCC43 - PROGRAMMING IN JAVA UNIT 1

 It also manages the increasing complexity.


 The description of an object-oriented program can be given as, a data that controls access to
code.
 The object-oriented programming technique is a paradigm, as it describes the way in
which elements within a computer program must be organized.
 It also describes how those elements should interact with each other.
 In OOP, data and the functionality are combined into a single entity called an object.
 Classes as well as objects carry specific functionality in order to perform operations and to
achieve the desired result.
 The data and procedures are loosely coupled in procedural paradigm.
 Whereas in OOP paradigm, the data and methods are tightly coupled to form objects.
 These objects helps to build structure models of the problem domain and enables to get
effective solutions.
 OOP uses various principles (or) concepts such as abstraction, inheritance, encapsulation
and polymorphism. With the help of abstraction, the implementation is hidden and the
functionality is exposed.
 Use of inheritance can eliminate redundant code in a program. Encapsulation enables the
data and methods to wrap into a single entity. Polymorphism enables the reuse of both
code and design.
SUMMARY OF OOP CONCEPTS
 Everything is an object.
 Computation is performed by objects communicating with each other, requesting that other
objects perform actions. Objects communicate by sending & receiving messages. A
message is a request for an action bundled with whatever arguments may be necessary to
complete the task.
 Each object has its own memory, which consists of other objects.
 Every Object is an instance of class. A class simply represents a grouping of similar
objects, such as integers or lists.

 The class is the repository for behavior associated with an object. That is all objects
that are instances of same class can perform the same actions.
 Classes are organized into a singly rooted tree structure, called inheritance hierarchy.

DEPARTMENT OF COMPUTER SCIENCE AND APPLICATION –MRS.R SUGANYA, AP/RAAK


23UBCAC43 /23UCSCC43 - PROGRAMMING IN JAVA UNIT 1

OOP CONCEPTS
OOP stands for Object-Oriented Programming. OOP is a programming paradigm in which
every program is follows the concept of object. In other words, OOP is a way of writing
programs based on the object concept.
The object-oriented programming paradigm has the following core concepts.
 Class
 Object
 Encapsulation
 Inheritance
 Polymorphism
 Abstraction
Class
Class is a blue print which is containing only list of variables and methods and no memory is
allocated for them. A class is a group of objects that has common properties.
Object
 Any entity that has state and behavior is known as an object.
 For example a chair, pen, table, keyboard, bike, etc. It can be physical or logical. An
Object can be defined as an instance of a class.
 Example: A dog is an object because it has states like color, name, breed, etc. as
well as behaviors like wagging the tail, barking, eating, etc.
Encapsulation
 Encapsulation is the process of combining data and code into a single unit.
 In OOP, every object is associated with its data and code.
 In programming, data is defined as variables and code is defined as methods.
 The java programming language uses the class concept to implement encapsulation.

Inheritance
 Inheritance is the process of acquiring properties and behaviors from one object to
another object or one class to another class.
 In inheritance, we derive a new class from the existing class. Here, the new class

DEPARTMENT OF COMPUTER SCIENCE AND APPLICATION –MRS.R SUGANYA, AP/RAAK


23UBCAC43 /23UCSCC43 - PROGRAMMING IN JAVA UNIT 1

acquires the properties and behaviors from the existing class.

 In the inheritance concept, the class which provides properties is called as parent class
and the class which recieves the properties is called as child class.

Person
name,
designation
learn(),
walk
(),
eat()

Programm Dancer Singer


er
name, name, name,
designation designatio designatio
n n
learn(), learn(), learn(),
walk(), walk(), walk(),
eat(), eat(), eat(),
coding() dancing() singing()
Polymorphism
 Polymorphism is the process of defining same method with different
implementation. That means creating multiple methods with different behaviors.
 The java uses method overloading and method overriding to implement polymorphism.
 Method overloading - multiple methods with same name but different parameters.
 Method overriding - multiple methods with same name and same parameters.

Abstraction
 Abstraction is hiding the internal details and showing only essential functionality.
 In the abstraction concept, we do not show the actual implementation to the end user,
instead we provide only essential things.
 For example, if we want to drive a car, we does not need to know about the internal

DEPARTMENT OF COMPUTER SCIENCE AND APPLICATION –MRS.R SUGANYA, AP/RAAK


23UBCAC43 /23UCSCC43 - PROGRAMMING IN JAVA UNIT 1

functionality like how wheel system works? how brake system works? how music
system works? etc.

MESSAGES & METHODS


To solve my problem, I started with a request to the agent zomato, which led to still more
requestes among the members of the community until my request has done. Here, the
members of a community interact with one another by making requests until the problem has
satisfied.
In object-oriented programming, every action is initiated by passing a message to
an agent (object), which is responsible for the action. The receiver is the object to whom
the message was sent. In response to the message, the receiver performs some method to
carry out the request. Every message may include any additional information as
arguments.
In our example, I send a request to zomato with a message that contains food items, the
quantity of food, and the hotel details. The receiver uses a method to food get delivered to my
home.
HISTORY OF JAVA
 Java is a object oriented programming language.
 Java was created based on C and C++.
 Java uses C syntax and many of the object-oriented features are taken from C++.
 Before Java was invented there were other languages like COBOL, FORTRAN, C, C++,
Small Talk, etc.

 These languages had few disadvantages which were corrected in Java.


 Java also innovated many new features to solve the fundamental problems which the
previous languages could not solve.
 Java was developed by James Gosling, Patrick Naughton, Chris warth, Ed Frank and Mike
Sheridon at Sun Microsystems in the year 1991.
 This language was initially called as “OAK” but was renamed as “Java” in 1995.
 The primary motivation behind developing java was the need for creating a platform
independent Language (Architecture Neutral), that can be used to create a software which
can be embedded in various electronic devices such as remote controls, micro ovens etc.

DEPARTMENT OF COMPUTER SCIENCE AND APPLICATION –MRS.R SUGANYA, AP/RAAK


23UBCAC43 /23UCSCC43 - PROGRAMMING IN JAVA UNIT 1

 The problem with C, C++ and most other languages is that, they are designed to compile
on specific targeted CPU (i.e. they are platform dependent), but java is platform
Independent which can run on a variety of CPU’s under different environments.

 The secondary factor that motivated the development of java is to develop the applications
that can run on Internet. Using java we can develop the applications which can run on
internet i.e. Applet. So java is a platform Independent Language used for developing
programs which are platform Independent and can run on internet.

JAVA BUZZWORDS(JAVA FEATURES)


 Java is the most popular object-oriented programming language.
 Java has many advanced features, a list of key features is known as Java Buzz Words.
The Following list of Buzz Words
 Simple
 Secure
 Portable
 Object-oriented
 Robust
 Architecture-neutral (or) Platform Independent
 Multi-threaded
 Interpreted
 High performance
 Distributed
 Dynamic

Simple
 Java programming language is very simple and easy to learn, understand, and code.
 Most of the syntaxes in java follow basic programming language C and object-
oriented programming concepts are similar to C++.
 In a java programming language, many complicated features like pointers, operator
overloading, structures, unions, etc. have been removed.
 One of the most useful features is the garbage collector it makes java more simple.
Secure
 Java is said to be more secure programming language because it does not have pointers
concept.
 java provides a feature "applet" which can be embedded into a web application.
 The applet in java does not allow access to other parts of the computer, which keeps away

DEPARTMENT OF COMPUTER SCIENCE AND APPLICATION –MRS.R SUGANYA, AP/RAAK


23UBCAC43 /23UCSCC43 - PROGRAMMING IN JAVA UNIT 1

from harmful programs like viruses and unauthorized access.


Portable
 Portability is one of the core features of java .
 If a program yields the same result on every machine, then that program is called portable.
 Java programs are portable
 This is the result of java System independence nature.
Object-oriented
 Java is an object oriented programming language.
 This means java programs use objects and classes.
Robust
 Robust means strong.
 Java programs are strong and they don’t crash easily like a C or C++ programs
There are two reasons
 Java has got excellent inbuilt exception handling features. An exception is an error that
occurs at runtime. If an exception occurs, the program terminates suddenly giving rise to
problems like loss of data. Overcoming such problem is called exception handling.
 Most of the C and C++ programs crash in the middle because of not allocating sufficient
memory or forgetting the memory to be freed in a program. Such problems will not occur
in java because the user need not allocate or deallocate the memory in java. Everything
will be taken care of by JVM only.
Architecture-neutral (or) Platform Independent
 Java has invented to archive "write once; run anywhere, anytime, forever".
 The java provides JVM (Java Virtual Machine) to archive architectural-neutral or
platform- independent.
 The JVM allows the java program created using one operating system can be executed on
any other operating system.
Multi-threaded
 Java supports multi-threading programming.
 Which allows us to write programs that do multiple operations simultaneously.
Interpreted
 Java programs are compiled to generate byte code.
 This byte code can be downloaded and interpreted by the interpreter in JVM.
 If we take any other language, only an interpreter or a compiler is used to execute the
program.
 But in java, we use both compiler and interpreter for the execution.
High performance
 The problem with interpreter inside the JVM is that it is slow.
 Because of Java programs used to run slow.
 To overcome this problem along with the interpreter.

DEPARTMENT OF COMPUTER SCIENCE AND APPLICATION –MRS.R SUGANYA, AP/RAAK


23UBCAC43 /23UCSCC43 - PROGRAMMING IN JAVA UNIT 1

 Java soft people have introduced JIT (Just in Time ) compiler, to enhance the speed of
execution.
 So now in JVM, both interpreter and JIT compiler work together to run the program.
Distributed
 Information is distributed on various computers on a network.
 Using Java, we can write programs, which capture information and distribute it to the client.
 This is possible because Java can handle the protocols like TCP/IP and UDP.

Dynamic
Java is said to be dynamic because the java byte code may be dynamically updated on a running
system and it has a dynamic memory allocation and deallocation (objects and garbage
collector).
JVM (Java Virtual Machine) Architecture
1. Java Virtual Machine
2. Internal Architecture of JVM

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).

What is JVM
It is:

A specification where working of Java Virtual Machine is specified. But implementation


provider is independent to choose the algorithm. Its implementation has been provided by
Oracle and other companies.

1. An implementation Its implementation is known as JRE (Java Runtime Environment).


2. Runtime Instance Whenever you write java command on the command prompt to run
the java class, an instance of JVM is created.

What it does

The JVM performs following operation:

o Loads code
o Verifies code
o Executes code
o Provides runtime environment
JVM provides definitions for the:

o Memory area

DEPARTMENT OF COMPUTER SCIENCE AND APPLICATION –MRS.R SUGANYA, AP/RAAK


23UBCAC43 /23UCSCC43 - PROGRAMMING IN JAVA UNIT 1

o Class file format


o Register set
o Garbage-collected heap
o Fatal error reporting etc.

JVM Architecture
Let's understand the internal architecture of JVM. It contains classloader, memory area,
execution engine etc.

1) Classloader

Classloader is a subsystem of JVM which is used to load class files. Whenever we run the java
program, it is loaded first by the classloader. There are three built-in classloaders in Java.

1. Bootstrap ClassLoader: This is the first classloader which is the super class of
Extension classloader. It loads the rt.jar file which contains all class files of Java
Standard Edition like java.lang package classes, java.net package classes, java.util
package classes, java.io package classes, java.sql package classes etc.

DEPARTMENT OF COMPUTER SCIENCE AND APPLICATION –MRS.R SUGANYA, AP/RAAK


23UBCAC43 /23UCSCC43 - PROGRAMMING IN JAVA UNIT 1

2. Extension ClassLoader: This is the child classloader of Bootstrap and parent


classloader of System classloader. It loades the jar files located
inside $JAVA_HOME/jre/lib/ext directory.
3. System/Application ClassLoader: This is the child classloader of Extension
classloader. It loads the classfiles from classpath. By default, classpath is set to current
directory. You can change the classpath using "-cp" or "-classpath" switch. It is also
known as Application classloader.

. //Let's see an example to print the classloader name


. public class ClassLoaderExample
. {
. public static void main(String[] args)
. {
. // Let's print the classloader name of current class.
. //Application/System classloader will load this class
. Class c=ClassLoaderExample.class;
. System.out.println(c.getClassLoader());
. //If we print the classloader name of String, it will print null because it is an
. //in-built class which is found in rt.jar, so it is loaded by Bootstrap classloader
. System.out.println(String.class.getClassLoader());
. }
. }
Test it Now
Output:
These are the internal classloaders provided by Java. If you want to create your own
classloader, you need to extend the ClassLoader class.

2) Class(Method) Area

Class(Method) Area stores per-class structures such as the runtime constant pool, field and
method data, the code for methods.

3) Heap

It is the runtime data area in which objects are allocated.

4) Stack

Java Stack stores frames. It holds local variables and partial results, and plays a part in method
invocation and return.
Each thread has a private JVM stack, created at the same time as thread.

DEPARTMENT OF COMPUTER SCIENCE AND APPLICATION –MRS.R SUGANYA, AP/RAAK


23UBCAC43 /23UCSCC43 - PROGRAMMING IN JAVA UNIT 1

A new frame is created each time a method is invoked. A frame is destroyed when its method
invocation completes.

5) Program Counter Register

PC (program counter) register contains the address of the Java virtual machine instruction
currently being executed.

6) Native Method Stack

It contains all the native methods used in the application.

7) Execution Engine

It contains:

1. A virtual processor
2. Interpreter: Read bytecode stream then execute the instructions.
3. Just-In-Time(JIT) compiler: It is used to improve the performance. JIT compiles parts
of the byte code that have similar functionality at the same time, and hence reduces the
amount of time needed for compilation. Here, the term "compiler" refers to a translator
from the instruction set of a Java virtual machine (JVM) to the instruction set of a
specific CPU.

8) Java Native Interface

Java Native Interface (JNI) is a framework which provides an interface to communicate with
another application written in another language like C, C++, Assembly etc. Java uses JNI
framework to send output to the Console or interact with OS libraries.

DATA TYPES IN JAVA


Java programming language has a rich set of data types. The data type is a category of data
stored in variables. In java, data types are classified into two types and they are as follows.
 Primitive Data Types
 Non-primitive Data Types

DEPARTMENT OF COMPUTER SCIENCE AND APPLICATION –MRS.R SUGANYA, AP/RAAK


23UBCAC43 /23UCSCC43 - PROGRAMMING IN JAVA UNIT 1

Primitive Data Types


The primitive data types are built-in data types and they specify the type of value stored in a
variable and the memory size.
Integer Data Types
Integer Data Types represent integer numbers, i.e numbers without any fractional parts or
decimal points.
Data Type Memory Minimum and Default Value
Size Maximum
values
byte 1 byte -128 to +128 0

short 2 bytes -32768 to +32767 0

int 4 bytes -2147483648 to +2147483647 0

long 8 bytes -9223372036854775808 to 0L


+9223372036854775807

Float Data Types


Float data types are represent numbers with decimal point.

Data Type Memory Size Minimum and Maximum Default Value


values

DEPARTMENT OF COMPUTER SCIENCE AND APPLICATION –MRS.R SUGANYA, AP/RAAK


23UBCAC43 /23UCSCC43 - PROGRAMMING IN JAVA UNIT 1

float 4 byte -3.4e38 to -1.4e-45 and 1.4e- 0.0f


45
to 3.4e38
double 8 bytes -1.8e308 to -4.9e-324 and 0.0d
4.9e-
324 to 1.8e308

Note: Float data type can represent up to 7 digits accurately after decimal point.
Double data type can represent up to 15 digits accurately after decimal point.
Character Data Type
Character data type are represents a single character like a, P, &, *,..etc.

Data Type Memory Size Minimum and Default Value


Maximum
values
char 2 bytes 0 to 65538 \u0000

Boolean Data Types


Boolean data types represent any of the two values, true or false. JVM uses 1 bit to represent a
Boolean value internally.
Data Type Memory Size Minimum and Default Value
Maximum
values
boolean 1 byte 0 or 1 0 ( false )

VARIABLES
Variable is a name given to a memory location where we can store different values of the same
data type during the program execution.
The following are the rules to specify a variable name...
 A variable name may contain letters, digits and underscore symbol
 Variable name should not start with digit.
 Keywords should not be used as variable names.
 Variable name should not contain any special symbols except underscore(_).
 Variable name can be of any length but compiler considers only the first 31
characters of the variable name.

DEPARTMENT OF COMPUTER SCIENCE AND APPLICATION –MRS.R SUGANYA, AP/RAAK


23UBCAC43 /23UCSCC43 - PROGRAMMING IN JAVA UNIT 1

Declaration of Variable
Declaration of a variable tells to the compiler to allocate required amount of memory with
specified variable name and allows only specified datatype values into that memory location.
Syntax: datatype variablename;
Example : int a;
Syntax : data_type variable_name_1,
variable_name_2,...; Example : int a, b;
Initialization of a variable:
Syntax: datatype variablename = value;
Example : int a = 10;
Syntax : data_type variable_name_1=value, variable_name_2 = value;
Example : int a = 10, b = 20;

DEPARTMENT OF COMPUTER SCIENCE AND APPLICATION –MRS.R SUGANYA, AP/RAAK


23UBCAC43 /23UCSCC43 - PROGRAMMING IN JAVA UNIT 1

SCOPE AND LIFETIME OF A VARIABLE


 In programming, a variable can be declared and defined inside a class, method, or block.
 It defines the scope of the variable i.e. the visibility or accessibility of a variable.
 Variable declared inside a block or method are not visible to outside.
 If we try to do so, we will get a compilation error. Note that the scope of a variable can be
nested.
 Lifetime of a variable indicates how long the variable stays alive in the memory.
TYPES OF VARIABLES IT’S SCOPE
There are three types of variables in Java:
1. local variable
2. instance variable
3. static variable

Local Variables
 Variables declared inside the methods or constructors or blocks are called as local
variables.
 The scope of local variables is within that particular method or constructor or block in
which they have been declared.
 Local variables are allocated memory when the method or constructor or block in
which they are declared is invoked and memory is released after that particular method
or constructor or block is executed.
 Access modifiers cannot be assigned to local variables.
 It can’t be defined by a static keyword.
 Local variables can be accessed directly with their name.

DEPARTMENT OF COMPUTER SCIENCE AND APPLICATION –MRS.R SUGANYA, AP/RAAK


23UBCAC43 /23UCSCC43 - PROGRAMMING IN JAVA UNIT 1

Progrm
class LocalVariables
{
public void show()
{
int a = 10;
System.out.println("Inside show method, a = " + a);
}
public void display()
{
int b = 20;
System.out.println("Inside display method, b = " + b);
//System.out.println("Inside display method, a = " + a); // error
}
public static void main(String args[])
{
LocalVariables obj = new LocalVariables();
obj.show();
} obj.display();
}
Instance Variables:
 Variables declared outside the methods or constructors or blocks but inside the class
are called as instance variables.
 The scope of instance variables is inside the class and therefore all methods,
constructors and blocks can access them.
 Instance variables are allocated memory during object creation and memory is released
during object destruction. If no object is created, then no memory is allocated.
 For each object, a separate copy of instance variable is created.
 Heap memory is allocated for storing instance variables.
 Access modifiers can be assigned to instance variables.
 It is the responsibility of the JVM to assign default value to the instance variables as per the
type of
 Variable.
 Instance variables can be called directly inside the instance area.
 Instance variables cannot be called directly inside the static area and necessarily requires
an object reference for calling them.

DEPARTMENT OF COMPUTER SCIENCE AND APPLICATION –MRS.R SUGANYA, AP/RAAK


23UBCAC43 /23UCSCC43 - PROGRAMMING IN JAVA UNIT 1

Program
class InstanceVariable
{
int x = 100;
public void show()
{
System.out.println("Inside show method, x = "
+ x); x = x + 100;
}
public void display()
{
System.out.println("Inside display method, x = " + x);
}
public static void main(String args[])
{
ClassVariables obj = new ClassVariables();
obj.show();
obj.display();
}
}
Static variables
 Static variables are also known as class variable.
 Static variables are declared with the keyword ‘static ‘ .
 A static variable is a variable whose single copy in memory is shared by all the
objects, any modification to it will also effect other objects.
 Static keyword in java is used for memory management, i.e it saves memory.
 Static variables gets memory only once in the class area at the time of class loading.
 Static variables can be invoked without the need for creating an instance of a class.
 Static variables contain values by default. For integers, the default value is 0. For
Booleans, it is false. And for object references, it is null.
Syntax: static datatype variable name;
Example: static int x=100;
Syntax: classname.variablename;

DEPARTMENT OF COMPUTER SCIENCE AND APPLICATION –MRS.R SUGANYA, AP/RAAK


23UBCAC43 /23UCSCC43 - PROGRAMMING IN JAVA UNIT 1

Example
class Employee
{
static int
empid=500; static
void emp1()
{
empid++;
System.out.println("Employee id:"+empid);
}
}
class Sample
{
public static void main(String args[])
{
Employee.emp1()
;
Employee.emp1()
;
Employee.emp1()
;
Employee.emp1()
;
Employee.emp1()
;
Employee.emp1()
;

}
}
ARRAYS
 An array is a collection of similar data values with a single name.
 An array can also be defined as, a special type of variable that holds multiple values of
the same data type at a time.
 In java, arrays are objects and they are created dynamically using new operator.
 Every array in java is organized using index values.
 The index value of an array starts with '0' and ends with 'zise-1'.
 We use the index value to access individual elements of an array.
In java, there are two types of arrays and they are as follows.
 One Dimensional Array
 Multi Dimensional Array

DEPARTMENT OF COMPUTER SCIENCE AND APPLICATION –MRS.R SUGANYA, AP/RAAK


23UBCAC43 /23UCSCC43 - PROGRAMMING IN JAVA UNIT 1

One Dimensional Array


In the java programming language, an array must be created using new operator and with a
specific size. The size must be an integer value but not a byte, short, or long. We use the
following syntax to create an array.
Syntax
data_type array_name[ ] = new
data_type[size]; (or)
data_type[ ] array_name = new data_type[size];
Example
class Onedarray
{
public static void main(String args[])
{
int a[]=new int[5];
a[0]=10;
a[1]=20;
a[2]=70;
a[3]=40;
a[4]=50;
for(int i=0;i<5;i++)
System.out.println(a[i]);
}
}
 In java, an array can also be initialized at the time of its declaration.
 When an array is initialized at the time of its declaration, it need not specify the size of
the array and use of the new operator.
 Here, the size is automatically decided based on the number of values that are initialized.
Example
int list[ ] = {10, 20, 30, 40, 50};

DEPARTMENT OF COMPUTER SCIENCE AND APPLICATION –MRS.R SUGANYA, AP/RAAK


23UBCAC43 /23UCSCC43 - PROGRAMMING IN JAVA UNIT 1

Multidimensional Array
 In java, we can create an array with multiple dimensions. We can create 2-
dimensional, 3- dimensional, or any dimensional array.
 In Java, multidimensional arrays are arrays of arrays.
 To create a multidimensional array variable, specify each additional index using
another set of square brackets.
Syntax
data_type array_name[ ][ ] = new
data_type[rows][columns]; (or)
data_type[ ][ ] array_name = new data_type[rows][columns];
 When an array is initialized at the time of declaration, it need not specify the size of the
array and use of the new operator.
 Here, the size is automatically decided based on the number of values that are initialized.
Example
class Twodarray
{
public static void main(String args[])
{
int arr[][]={{1,2,3},{2,4,5},{4,4,5}};
for(int i=0;i<3;i++)
{
for(int j=0;j<3;j++)
{
System.out.print(arr[i][j]+" ");
}
System.out.println();
}
}
}

DEPARTMENT OF COMPUTER SCIENCE AND APPLICATION –MRS.R SUGANYA, AP/RAAK


23UBCAC43 /23UCSCC43 - PROGRAMMING IN JAVA UNIT 1

OPERATORS
An operator is a symbol that performs an operation. An operator acts on some variables called
operands to get the desired result.
Example: a + b
Here a, b are operands and + is operator.
Types of Operators
1. Arithmetic operators
2. Relational operators
3. Logical operators
4. Assignment operators
5. Increment or Decrement operators
6. Conditional operator
7. Bit wise operators
1. Arithmetic Operators: Arithmetic Operators are used for mathematical calculations.

Operator Description
+ Addition
- Subtraction
* Multiplication
/ Division
% Modular

Program: Java Program to implement Arithmetic Operators


class ArithmeticOperators
{
public static void main(String[] args)
{
int a = 12, b = 5;
System.out.println("a + b = " + (a + b));
System.out.println("a - b = " + (a - b));
System.out.println("a * b = " + (a * b));
System.out.println("a / b = " + (a / b));
System.out.println("a % b = " + (a % b));
}
}

DEPARTMENT OF COMPUTER SCIENCE AND APPLICATION –MRS.R SUGANYA, AP/RAAK


23UBCAC43 /23UCSCC43 - PROGRAMMING IN JAVA UNIT 1

2. Relational Operators: Relational operators are used to compare two values and return a

true or false result based upon that comparison. Relational operators are of 6 types
Operator Description
> Greater than
>= Greater than or equal to
< Less than
<= Less than or equal to
== Equal to
!= Not equal to

Program: Java Program to implement Relational Operators


class RelationalOperator
{
public static void main(String[] args)
{
int a = 10;
int b = 3;
int c = 5;
System.out.println("a > b: " + (a > b));
System.out.println("a < b: " + (a < b));
System.out.println("a >= b: " + (a >= b));
System.out.println("a <= b: " + (a <= b));
System.out.println("a == c: " + (a == c));
System.out.println("a != c: " + (a != c));
}
}
3. Logical Operator: The Logical operators are used to combine two or more

conditions .Logical operators are of three types


1. Logical AND (&&),
2. Logical OR (||)
3. Logician NOT (!)

DEPARTMENT OF COMPUTER SCIENCE AND APPLICATION –MRS.R SUGANYA, AP/RAAK


23UBCAC43 /23UCSCC43 - PROGRAMMING IN JAVA UNIT 1

1. Logical AND (&&) : Logical AND is denoted by double ampersand characters (&&).it is

used to check the combinations of more than one conditions. if any one condition false the
complete condition becomes false.
Truth table of Logical AND
Condition1 Condition2 Condition1 && Condition2
True True True
True False False
False True False
False False False

2. Logical OR ( || ) : Logical OR is denoted by double pipe characters (||). it is used to


check the combinations of more than one conditions. if any one condition true the complete
condition becomes true.
Truth table of Logical OR
Condition1 Condition2 Condition1 && Condition2
True True True
True False True
False True True
False False False
3. Logician NOT (!): Logical NOT is denoted by exclamatory characters (!), it is used to

check the opposite result of any given test condition. i.e, it makes a true condition false and
false condition true.
Truth table of Logical NOT
Condition1 !Condition2
True False
False True
Example of Logical Operators
class LogicalOp
{
public static void main(String[] args)
{
int x=10;
System.out.println(x==10 &&
x>=5)); System.out.println(x==10
|| x>=5)); System.out.println ( !
( x==10 ));
}
}

DEPARTMENT OF COMPUTER SCIENCE AND APPLICATION –MRS.R SUGANYA, AP/RAAK


23UBCAC43 /23UCSCC43 - PROGRAMMING IN JAVA UNIT 1

4. Assignment Operator: Assignment operators are used to assign a value (or) an

expression (or) a value of a variable to another variable.


Syntax : variable name=expression (or) value
Example : x=10;
y=20;
The following list of Assignment operators are.

Operator Description Example Meaning

+= Addition Assignment x + = y x= x + y

-= Addition Assignment x - = y x= x - y

*= Addition Assignment x * = y x= x * y

/= Addition Assignment x / = y x= x / y

%= Addition Assignment x % = y x= x % y

Example of Assignment Operators


class AssignmentOperator
{
public static void main(String[] args)
{
int a = 4;
int var;
var = a;
System.out.println("var using =: " +
var); var += a;
System.out.println("var using +=: " +
var); var *= a;
System.out.println("var using *=: " + var);
}
}

DEPARTMENT OF COMPUTER SCIENCE AND APPLICATION –MRS.R SUGANYA, AP/RAAK


23UBCAC43 /23UCSCC43 - PROGRAMMING IN JAVA UNIT 1

5: Increment And Decrement Operators : The increment and decrement operators are very
useful. ++ and == are called increment and decrement operators used to add or subtract.
Both are unary operators.
The syntax of the operators is given below.
These operators in two forms :prefix (++x) and postfix(x++).
++<variable name> --<variable name>
<variable name>++ <variable name>--

Operator Meaning
++x Pre Increment
--x Pre Decrement
x++ Post Increment
x-- Post Decrement
Where
1 : ++x : Pre increment, first increment and then do the operation.
2 : - -x : Pre decrement, first decrements and then do the operation.
3 : x++ : Post increment, first do the operation and then increment.
4 : x- - : Post decrement, first do the operation and then decrement.
Example
class Increment
{
public static void main(String[] args)
{
int var=5;
System.out.println
(var++);
System.out.println
(++var);
System.out.println (var--
); System.out.println (--
var);
}
}

DEPARTMENT OF COMPUTER SCIENCE AND APPLICATION –MRS.R SUGANYA, AP/RAAK


23UBCAC43 /23UCSCC43 - PROGRAMMING IN JAVA UNIT 1

6 : Conditional Operator: A conditional operator checks the condition and executes the
statement depending on the condition. Conditional operator consists of two symbols.
1 : question mark (?).
2 : colon ( : ).
Syntax: condition ? exp1 : exp2;
It first evaluate the condition, if it is true (non-zero) then the “exp1” is evaluated, if the
condition is false (zero) then the “exp2” is evaluated.
Example :
class ConditionalOperator
{
public static void main(String[] args)
{
int februaryDays = 29;
String result;
result = (februaryDays == 28) ? "Not a leap year" : "Leap year";
System.out.println(result);
}
}
7. Bitwise Operators:
 Bitwise operators are used for manipulating a data at the bit level, also called as
bit level programming. Bit-level programming mainly consists of 0 and 1.
 They are used in numerical Computations to make the calculation process faster.
 The bitwise logical operators work on the data bit by bit.
 Starting from the least significant bit, i.e. LSB bit which is the rightmost bit, working
towards the MSB (Most Significant Bit) which is the leftmost bit.
A list of Bitwise operators as follows…

Operator Meaning
& Bitwise AND
| Bitwise OR
^ Bitwise XOR
~ Bitwise Complement
<< Left Shift
>> Right Shift

DEPARTMENT OF COMPUTER SCIENCE AND APPLICATION –MRS.R SUGANYA, AP/RAAK


23UBCAC43 /23UCSCC43 - PROGRAMMING IN JAVA UNIT 1

1. Bitwise AND (&):


 Bitwise AND operator is represented by a single ampersand sign (&).
 Two integer expressions are written on each side of the (&) operator.
 if any one condition false ( 0 ) the complete condition becomes false ( 0 ).

Truth table of Bitwise AND

Condition1 Condition2 Condition1 & Condition2


0 0 0
0 1 0
1 0 0
1 1 1

Example : int x = 10;


int y =
20; x &
y=?
x = 0000 1010
y = 0000 1011
x & y = 0000 1010 = 10
2. Bitwise OR:
 Bitwise OR operator is represented by a single vertical bar sign (|).
 Two integer expressions are written on each side of the (|) operator.
 if any one condition true ( 1 ) the complete condition becomes true ( 1 ).
Truth table of Bitwise OR
Condition1 Condition2 Condition1 | Condition2
0 0 0
0 1 1
1 0 1
1 1 1

DEPARTMENT OF COMPUTER SCIENCE AND APPLICATION –MRS.R SUGANYA, AP/RAAK


23UBCAC43 /23UCSCC43 - PROGRAMMING IN JAVA UNIT 1

Example : int x = 10;


int y =
20; x | y
=?
x = 0000 1010
y = 0000 1011
x | y = 0000 1011 = 11
3. Bitwise Exclusive OR :
 The XOR operator is denoted by a carrot (^) symbol.
 It takes two values and returns true if they are different; otherwise returns false.
 In binary, the true is represented by 1 and false is represented by 0.
Truth table of Bitwise XOR
Condition1 Condition2 Condition1 ^ Condition2
0 0 0
0 1 1
1 0 1
1 1 0

Example : int x = 10;


int y =
20; x ^ y
=?
x = 0000 1010
y = 0000 1011
x ^ y = 0000 0001 = 1
4. Bitwise Complement (~):
 The bitwise complement operator is a unary operator.
 It is denoted by ~, which is pronounced as tilde.
 It changes binary digits 1 to 0 and 0 to 1.
 bitwise complement of any integer N is equal to - (N + 1).
 Consider an integer 35. As per the rule, the bitwise complement of 35 should be -(35 + 1) = -
36.
Example : int x = 10; find the ~x
value. x = 0000 1010
~x= 1111 0101

DEPARTMENT OF COMPUTER SCIENCE AND APPLICATION –MRS.R SUGANYA, AP/RAAK


23UBCAC43 /23UCSCC43 - PROGRAMMING IN JAVA UNIT 1

5. Bitwise Left Shift Operator ( << ) :


 This Bitwise Left shift operator (<<) is a binary operator.
 It shifts the bits of a number towards left a specified no.of times.
Example:
int x = 10;
x << 2 = ?

6. Bitwise Right Shift Operator ( >> ) :


 This Bitwise Right shift operator (>>) is a binary operator.
 It shifts the bits of a number towards right a specified no.of times.
Example:
int x = 10;
x >> 2 = ?

DEPARTMENT OF COMPUTER SCIENCE AND APPLICATION –MRS.R SUGANYA, AP/RAAK


23UBCAC43 /23UCSCC43 - PROGRAMMING IN JAVA UNIT 1

CONTROL STATEMENTS
 In java, the default execution flow of a program is a sequential order.
 But the sequential order of execution flow may not be suitable for all situations.
 Sometimes, we may want to jump from line to another line, we may want to skip a
part of the program, or sometimes we may want to execute a part of the program
again and again.
 To solve this problem, java provides control statements.
Types of Control Statements

1. Selection Control Statements


In java, the selection statements are also known as decision making statements or branching
statements. The selection statements are used to select a part of the program to be executed
based on a condition.
Java provides the following selection statements.
 if statement
 if-else statement
 if-elif statement
 nested if statement
 switch statement

DEPARTMENT OF COMPUTER SCIENCE AND APPLICATION –MRS.R SUGANYA, AP/RAAK


23UBCAC43 /23UCSCC43 - PROGRAMMING IN JAVA UNIT 1

if statement in java
 In java, we use the if statement to test a condition and decide the execution of a block of
statements based on that condition result.
 The if statement checks, the given condition then decides the execution of a block of
statements. If the condition is True, then the block of statements is executed and if it is
False, then the block of statements is ignored.
Syntax
if(condtion)
{
if-block of statements;
}
statement after if-block;
Example
public class IfStatementTest
{
public static void main(String[] args)
{
int x=10;
if(x>0)
x++;
System.out.println("x value is:"+x);
}
}
In the above execution, the number 12 is not divisible by 5. So, the condition becomes False
and the condition is evaluated to False. Then the if statement ignores the execution of its block
of statements.
if-else statement in java
 In java, we use the if-else statement to test a condition and pick the execution of a

block of statements out of two blocks based on that condition result.


 The if-else statement checks the given condition then decides which block of
statements to be executed based on the condition result.
 If the condition is True, then the true block of statements is executed and if it is False, then
the false block of statements is executed.
Syntax
if(condtion)
{

DEPARTMENT OF COMPUTER SCIENCE AND APPLICATION –MRS.R SUGANYA, AP/RAAK


23UBCAC43 /23UCSCC43 - PROGRAMMING IN JAVA UNIT 1

}
else
{

true-block of statements;

false-block of statements;

}statement after if-block;

Example
public class IfElseStatementTest
{
public static void main(String[] args)
{
int a=29;
if(a %
2==0)
System.out.println("Even Number is :"+a);
else System.out.println("Odd Number is :"+a);
}
}
Nested if statement in java
Writing an if statement inside another if-statement is called nested if statement.
Syntax
if(condition_1)
{
if(condition_2)
{
inner if-block of statements;
...
}
...
}
Exampl
e
public class NestedIfStatementTest
{
public static void main(String[] args)
{
int num=1;
if(num<10)

DEPARTMENT OF COMPUTER SCIENCE AND APPLICATION –MRS.R SUGANYA, AP/RAAK


23UBCAC43 /23UCSCC43 - PROGRAMMING IN JAVA UNIT 1

{
if(num==1)
{
System.out.print("The value is equal to 1);
}
els
e
{ System.out.print("The value is greater than 1");
}
}
els
e
{
System.out.print("The value is greater than 10");
}
System.out.print("Nested if - else statement ");
}
}

DEPARTMENT OF COMPUTER SCIENCE AND APPLICATION –MRS.R SUGANYA, AP/RAAK


23UBCAC43 /23UCSCC43 - PROGRAMMING IN JAVA UNIT 1

if-else if statement in java


Writing an if-statement inside else of an if statement is called if-else-if statement.
Syntax
if(condition_1)
{
condition_1 true-block;
...
}
else if(condition_2)
{
condition_2 true-block;
condition_1 false-block
too;
}
...
Example
public class IfElseIfStatementTest
{
public static void main(String[] args)
{
int x = 30;
if( x == 10 )
{
System.out.print("Value of X is 10");
}
else if( x == 20 )
{
System.out.print("Value of X is 20");
}
else if( x == 30 )
{
System.out.print("Value of X is 30");
}
els
e
{
System.out.print("This is else statement");
}
}
}

DEPARTMENT OF COMPUTER SCIENCE AND APPLICATION –MRS.R SUGANYA, AP/RAAK


23UBCAC43 /23UCSCC43 - PROGRAMMING IN JAVA UNIT 1

Switch
 Using the switch statement, one can select only one option from more number of options
very easily.
 In the switch statement, we provide a value that is to be compared with a value associated
with each option. Whenever the given value matches the value associated with an option,
the execution starts from that option.
 In the switch statement, every option is defined as a case.
Syntax:
switch (expression)
{
case value1: // statement sequence
break;
case value2: // statement sequence
break;
….
case valueN:
}
Example
class SampleSwitch
{
public static void main(String args[])
{
char color
='g';
switch(color )
{
case 'r':
System.out.println("RED") ;
break ; case 'g':
System.out.println("GREEN") ;
break ; case 'b':
System.out.println("BLUE") ;
break ; case 'w':
System.out.println("WHITE") ; break ;
default:
System.out.println("No color") ;
}
}
}

DEPARTMENT OF COMPUTER SCIENCE AND APPLICATION –MRS.R SUGANYA, AP/RAAK


23UBCAC43 /23UCSCC43 - PROGRAMMING IN JAVA UNIT 1

2. Iteration Statements
 The java programming language provides a set of iterative statements that are used to
execute a statement or a block of statements repeatedly as long as the given condition
is true.
 The iterative statements are also known as looping statements or repetitive statements.
Java provides the following iterative statements.
1.while statement
2. do-while statement
3. for statement
4. for-each statement
while statement in java
The while statement is used to execute a single statement or block of statements repeatedly as
long as the given condition is TRUE. The while statement is also known as Entry control
looping statement.
Syntax
while(condition)
{
// body of loop
Exampl }
e

DEPARTMENT OF COMPUTER SCIENCE AND APPLICATION –MRS.R SUGANYA, AP/RAAK


23UBCAC43 /23UCSCC43 - PROGRAMMING IN JAVA UNIT 1

public class WhileTest


{
public static void main(String[] args)
{
int num = 1;
while(num <=
10)
{
System.out.println(num);
num++;
}
System.out.println("Statement after while!");
}
}
do-while statement in java
 The do-while statement is used to execute a single statement or block of statements

repeatedly as long as given the condition is TRUE.


 The do-while statement is also known as the Exit control looping statement.
Syntax
do
{
// body of loop
} while (condition);
Example
public class DoWhileTest
{
public static void main(String[] args)
{
int num = 1;
do
{
System.out.println(num);
num++;
}while(num <= 10);
System.out.println("Statement after do-
while!");
}
}
for statement in java
The for statement is used to execute a single statement or a block of statements repeatedly as
long as the given condition is TRUE.
Syntax
for(initialization; condition; inc/dec)
{

DEPARTMENT OF COMPUTER SCIENCE AND APPLICATION –MRS.R SUGANYA, AP/RAAK


23UBCAC43 /23UCSCC43 - PROGRAMMING IN JAVA UNIT 1

// body
}

If only one statement is being repeated, there is no need for the curly braces.
In for-statement, the execution begins with the initialization statement. After the
initialization statement, it executes Condition. If the condition is evaluated to true, then the
block of statements executed otherwise it terminates the for-statement. After the block
of statements execution, the modification statement gets executed, followed by condition
again.
Example
public class ForTest
{
public static void main(String[] args)
{
for(int i = 0; i < 10; i++)
{
System.out.println("i = " + i);
}
System.out.println("Statement after for!");
}
}
3. Jump Statements
The java programming language supports jump statements that used to transfer execution
control from one line to another line.
The java programming language provides the following jump statements.
1. break statement
2. continue statement
break
When a break statement is encountered inside a loop, the loop is terminated and program
control resumes at the next statement following the loop.
Example
class BreakStatement
{
public static void main(String args[] )
{
int i;
i=1;
while(true)
{

DEPARTMENT OF COMPUTER SCIENCE AND APPLICATION –MRS.R SUGANYA, AP/RAAK


23UBCAC43 /23UCSCC43 - PROGRAMMING IN JAVA UNIT 1

if(i >10)
break;
System.out.print(i+"
"); i++;
}
}
}
Continue

DEPARTMENT OF COMPUTER SCIENCE AND APPLICATION –MRS.R SUGANYA, AP/RAAK


23UBCAC43 /23UCSCC43 - PROGRAMMING IN JAVA UNIT 1

This command skips the whole body of the loop and executes the loop with the next iteration.
On finding continue command, control leaves the rest of the statements in the loop and goes
back to the top of the loop to execute it with the next iteration (value).
Example
/* Print Number from 1 to 10 Except 5 */
class NumberExcept
{
public static void main(String args[] )
{
int i;
for(i=1;i<=10;i++)
{
if(i==5)
continue;
System.out.print(i +"
");
}
}
}
TYPE CONVERSION AND CASTING
Type Casting
 When a data type is converted into another data type by a programmer using the casting
operator while writing a program code, the mechanism is known as type casting.
 In typing casting, the destination data type may be smaller than the source data type
when
converting the data type to another data type, that’s why it is also called narrowing
conversion.
Syntax
destination_datatype = (target_datatype)variable;

(): is a casting operator.


target_datatype : is a data type in which we want to convert the source data type.
Example
float x;
byte y;
y=(byte)x;

Progra
m
public class NarrowingTypeCastingExample
{
public static void main(String args[])
{

DEPARTMENT OF COMPUTER SCIENCE AND APPLICATION –MRS.R SUGANYA, AP/RAAK


23UBCAC43 /23UCSCC43 - PROGRAMMING IN JAVA UNIT 1

double d = 166.66;
int i = (int)d;
System.out.println("Before conversion: "+d);
System.out.println("After conversion into int type: "+i);
}
}
Output
Before conversion: 166.66
After conversion into int type: 166

DEPARTMENT OF COMPUTER SCIENCE AND APPLICATION –MRS.R SUGANYA, AP/RAAK


23UBCAC43 /23UCSCC43 - PROGRAMMING IN JAVA UNIT 1

Type Conversion
 If a data type is automatically converted into another data type at compile time is known
as type conversion.
 The conversion is performed by the compiler if both data types are compatible with each
other.
 Remember that the destination data type should not be smaller than the source type.
 It is also known as widening conversion of the data type.
Example
int a = 20;
Float b;
b = a; // Now the value of variable b is 20.000

Progra
m
public class WideningTypeCastingExample
{
public static void main(String[] args)
{
int x = 7;
float y = x;
System.out.println("After conversion, float value "+y);
}
}
Output
:
After conversion, the float value is: 7.0

DEPARTMENT OF COMPUTER SCIENCE AND APPLICATION –MRS.R SUGANYA, AP/RAAK


23UBCAC43 /23UCSCC43 - PROGRAMMING IN JAVA UNIT 1

STRUCTURE OF JAVA PROGRAM


Structure of a Java program contains the following elements:

Documentation Section
The documentation section is an important section but optional for a Java program.
It includes basic information about a Java program. The information includes the author's
name, date of creation, version, program name, company name, and description of the
program. It improves the readability of the program. Whatever we write in the documentation
section, the Java compiler ignores the statements during the execution of the program. To
write the statements in the documentation section, we use comments.
Comments there are three types
1. Single-line Comment: It starts with a pair of forwarding slash

(//). Example : //First Java Program


2. Multi-line Comment: It starts with a /* and ends with */. We write between these two
symbols.
Example : /* It is an example
of
multiline comment */
3. Documentation Comment: It starts with the delimiter (/**) and ends with */.
SAMPLE JAVA PROGRAM
/* This is First Java Program */
Class sample
{
public static void main(String args[])
{
System.out.println(“Hello Java Programming”);
}
}

DEPARTMENT OF COMPUTER SCIENCE AND APPLICATION –MRS.R SUGANYA, AP/RAAK


23UBCAC43 /23UCSCC43 - PROGRAMMING IN JAVA UNIT 1

Parameters used in First Java Program


Let's see what is the meaning of class, public, static, void, main, String[], System.out.println().
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 the static method. The
core advantage of the static method is that there is no need to create an object to invoke the
static method. The main method is executed by the JVM, so it doesn't require to create an
object to invoke the main method. 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 execution
String[] args is used for command line argument.
System.out.println() is used to print statement. Here, System is a class, out is the
object of PrintStream class, println() is the method of PrintStream class.
How to Compile and Run the Java Program
To Compile : javac Sample.java [ program
name] To Run : java Sample
Output : Hello Java Programming
EXECUTION PROCESS OF JAVA PROGRAM

WHAT IS JVM
Java Virtual Machine is the heart of entire java program execution process. It is responsible
for taking the .class file and converting each byte code instruction into the machine language
instruction that can be executed by the microprocessor.

DEPARTMENT OF COMPUTER SCIENCE AND APPLICATION –MRS.R SUGANYA, AP/RAAK


23UBCAC43 /23UCSCC43 - PROGRAMMING IN JAVA UNIT 1

CLASSES AND OBJECTS IN


JAVA CLASSES
 In Java, classes and objects are basic concepts of Object Oriented Programming (OOPs)
that are used to represent real-world concepts and entities.
 classes usually consist of two things: instance variables and methods.
 The class represents a group of objects having similar properties and behavior.
 For example, the animal type Dog is a class while a particular dog named Tommy is an
object of the Dog class.
 It is a user-defined blueprint or prototype from which objects are created. For example,
Student is a class while a particular student named Ravi is an object.
 The java class is a template of an object.
 Every class in java forms a new data type.
 Once a class got created, we can generate as many objects as we want.
Class Characteristics
Identity - It is the name given to the class.
State - Represents data values that are associated with an object.
Behavior - Represents actions can be performed by an object.
Properties of Java Classes
1. Class is not a real-world entity. It is just a template or blueprint or prototype from which

objects are created.


2. Class does not occupy memory.
3. Class is a group of variables of different data types and a group of methods.
4. A Class in Java can contain:
 Data member
 Method
 Constructor
 Nested Class
 Interface

DEPARTMENT OF COMPUTER SCIENCE AND APPLICATION –MRS.R SUGANYA, AP/RAAK


23UBCAC43 /23UCSCC43 - PROGRAMMING IN JAVA UNIT 1

Creating a Class
In java, we use the keyword class to create a class. A class in java contains properties as
variables and behaviors as methods.
Syntax
class className
{
data members
declaration; methods
definition;
}
 The ClassName must begin with an alphabet, and the Upper-case letter is preferred.
 The ClassName must follow all naming rules.
Example
Here is a class called Box that defines three instance variables: width, height, and
depth. class Box
{
double width;
double
height;
double depth;
void
volume()
{
………………….
}
}
OBJECT
 In java, an object is an instance of a class.
 Objects are the instances of a class that are created to use the attributes and methods of a
class.
 All the objects that are created using a single class have the same properties and methods.

But the value of properties is different for every object.


Syntax
ClassName objectName = new ClassName( );
 The objectName must begin with an alphabet, and a Lower-case letter is preferred.
 The objectName must follow all naming rules.

DEPARTMENT OF COMPUTER SCIENCE AND APPLICATION –MRS.R SUGANYA, AP/RAAK


23UBCAC43 /23UCSCC43 - PROGRAMMING IN JAVA UNIT 1

Example
Box mybox = new Box();
The new operator dynamically allocates memory for an object.
Example
class Box
{
double width;
double
height;
double depth;
}
class BoxDemo
{
public static void main(String args[])
{
Box mybox = new
Box(); double vol;
mybox.width = 10;
mybox.height = 20;
mybox.depth = 15;
vol = mybox.width * mybox.height * mybox.depth;
System.out.println("Volume is " + vol);
}
}

DEPARTMENT OF COMPUTER SCIENCE AND APPLICATION –MRS.R SUGANYA, AP/RAAK


23UBCAC43 /23UCSCC43 - PROGRAMMING IN JAVA UNIT 1

METHODS
 A method is a block of statements under a name that gets executes only when it is called.
 Every method is used to perform a specific task. The major advantage of methods is
code re- usability (define the code once, and use it many times).
 In a java programming language, a method defined as a behavior of an object. That means,
every method in java must belong to a class.
 Every method in java must be declared inside a class.
Every method declaration has the following characteristics.
 returnType - Specifies the data type of a return value.
 name - Specifies a unique name to identify it.
 parameters - The data values it may accept or recieve.
 { } - Defienes the block belongs to the method.
Creating a method
A method is created inside the class
Syntax
class ClassName
{
returnType methodName( parameters )
{
// body of method
}
}
Calling a
method
 In java, a method call precedes with the object name of the class to which it belongs

and a dot operator.


 It may call directly if the method defined with the static modifier.
 Every method call must be made, as to the method name with parentheses (), and it
must terminate with a semicolon.
Syntax
objectName.methodName(actualArguments );
Example
//Adding a Method to the Box Class

DEPARTMENT OF COMPUTER SCIENCE AND APPLICATION –MRS.R SUGANYA, AP/RAAK


23UBCAC43 /23UCSCC43 - PROGRAMMING IN JAVA UNIT 1

Class Box
{
double width, height, depth;
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();
mybox1.width = 10;
mybox1.height = 20;
mybox1.depth = 15;
mybox2.width = 3;
mybox2.height = 6;
mybox2.depth =
9;
mybox1.volume()
;
mybox2.volume()
;
}
}

DEPARTMENT OF COMPUTER SCIENCE AND APPLICATION –MRS.R SUGANYA, AP/RAAK


23UBCAC43 /23UCSCC43 - PROGRAMMING IN JAVA UNIT 1

CONSTRUCTORS
 Constructor in Java is a special member method which will be called automatically by
the JVM whenever an object is created for placing user defined values in place of
default values.
 In a single word constructor is a special member method which will be called
automatically whenever object is created.
 The purpose of constructor is to initialize an object called object initialization.
Initialization is a process of assigning user defined values at the time of allocation of
memory space.
Syntax
ClassName()
{
.......
.......
}
Types Of Constructors
Based on creating objects in Java constructor are classified in two types. They are
1. Default or no argument Constructor
2. Parameterized constructor
1. Default Constructor
 A constructor is said to be default constructor if and only if it never take any parameters.
 If any class does not contain at least one user defined constructor then the system will
create a default constructor at the time of compilation it is known as system defined
default constructor.
Note: System defined default constructor is created by java compiler and does not have any
statement in the body part. This constructor will be executed every time whenever an object
is created if that class does not contain any user defined constructor.
Example
class Test
{
int a, b;
Test()
{
a=10;
b=20;

DEPARTMENT OF COMPUTER SCIENCE AND APPLICATION –MRS.R SUGANYA, AP/RAAK


23UBCAC43 /23UCSCC43 - PROGRAMMING IN JAVA UNIT 1

System.out.println("Value of a: "+a);
System.out.println("Value of b: "+b);
}
}
class TestDemo
{
public static void main(String args[])
{
Test t1=new Test();
}
}
2. Parameterized Constructor
If any constructor contain list of variables in its signature is known as paremetrized constructor.
A parameterized constructor is one which takes some parameters.
Example
class Test
{
int a, b;
Test(int n1, int n2)
{
a=n1;
b=n2;
System.out.println("Value of a = "+a);
System.out.println("Value of b = "+b);
}
}
class TestDemo
{
public static void main(String args[])
{
Test t1=new Test(10, 20);
}
}

DEPARTMENT OF COMPUTER SCIENCE AND APPLICATION –MRS.R SUGANYA, AP/RAAK


23UBCAC43 /23UCSCC43 - PROGRAMMING IN JAVA UNIT 1

STATIC NESTED CLASS


 A static class i.e. created inside a class is called static nested class in java. It cannot
access non- static data members and methods. It can be accessed by outer class name.
 It can access static data members of outer class including private.
 Static nested class cannot access non-static (instance) data member or method.
Example
class TestOuter
{
static int
data=30; static
class Inner
{
void msg()
{
System.out.println("data is "+data);
}
}
public static void main(String args[])
{
TestOuter.Inner obj=new
TestOuter.Inner(); obj.msg();
}
}
In this example, you need to create the instance of static nested class because it has instance
method msg(). But you don't need to create the object of Outer class because nested class is
static and static properties, methods or classes can be accessed without object.

DEPARTMENT OF COMPUTER SCIENCE AND APPLICATION –MRS.R SUGANYA, AP/RAAK


23UBCAC43 /23UCSCC43 - PROGRAMMING IN JAVA UNIT 1

EXPLORING STRING CLASS


 A string is a sequence of characters surrounded by double quotations. In a java
programming language, a string is the object of a built-in class String.
 The string created using the String class can be extended. It allows us to add more
characters after its definition, and also it can be modified.
Example
String siteName =
"javaprogramming"; siteName =
"javaprogramminglanguage";
String handling methods
In java programming language, the String class contains various methods that can be used to
handle string data values.

DEPARTMENT OF COMPUTER SCIENCE AND APPLICATION –MRS.R SUGANYA, AP/RAAK


23UBCAC43 /23UCSCC43 - PROGRAMMING IN JAVA UNIT 1

The following table depicts all built-in methods of String class in java.
S.No Method Description
1 charAt(int) Finds the character at given index
2 length() Finds the length of given string
3 compareTo(String) Compares two strings
4 compareToIgnoreCase(String) Compares two strings, ignoring case
5 concat(String) Concatenates the object string with argument string.
6 contains(String) Checks whether a string contains sub-string
7 contentEquals(String) Checks whether two strings are same
8 equals(String) Checks whether two strings are same
9 equalsIgnoreCase(String) Checks whether two strings are same, ignoring case
10 startsWith(String) Checks whether a string starts with the specified
string
11 isEmpty() Checks whether a string is empty or not
12 replace(String, String) Replaces the first string with second string
replaceAll(String, String) Replaces the first string with second string at all
13 occurrences.

substring(int, int) Extracts a sub-string from specified start and end


14 index
values
15 toLowerCase() Converts a string to lower case letters
16 toUpperCase() Converts a string to upper case letters
17 trim() Removes whitespace from both ends
18 toString(int) Converts the value to a String object

DEPARTMENT OF COMPUTER SCIENCE AND APPLICATION –MRS.R SUGANYA, AP/RAAK


23UBCAC43 /23UCSCC43 - PROGRAMMING IN JAVA UNIT 1

Example
public class JavaStringExample
{
public static void main(String[] args)
{
String title = "Java Programming";
String siteName = "String Handling Methods";
System.out.println("Length of title: " + title.length());
System.out.println("Char at index 3: " + title.charAt(3));
System.out.println("Index of 'T': " + title.indexOf('T'));
System.out.println("Empty: " + title.isEmpty());
System.out.println("Equals: " + siteName.equals(title));
System.out.println("Sub-string: " + siteName.substring(9,
14)); System.out.println("Upper case: " +
siteName.toUpperCase());
}
}
StringBuffer class
StringBuffer class is used to make mutable string objects, Which means they can be modified
after creation. This represents the growable and writable character sequence. This class gives
us the flexibility to alter our String; it is also thread-safe, i.e., it cannot provide the flexibility
of accessing multiple threads simultaneously.
Constructors of StringBuffer class
 StringBuffer(): This constructor helps us to create an empty StringBuffer of 16
characters having its initial capacity.

StringBuffer s = new StringBuffer();

 StringBuffer(String str): This constructor will create a StringBuffer with the specified
String.

StringBuffer s = new StringBuffer(“Coding Ninjas”);

DEPARTMENT OF COMPUTER SCIENCE AND APPLICATION –MRS.R SUGANYA, AP/RAAK


23UBCAC43 /23UCSCC43 - PROGRAMMING IN JAVA UNIT 1

 StringBuffer(int cap): This constructor will accept an integer argument that sets the
size of the buffer.

StringBuffer s = new StringBuffer(“Coder-Section”);


Also see, Swap Function in Java
Methods of StringBuffer class
 append(String s): This method concatenates the string passed as an argument.

 insert(int index, String str): This method will insert one String into another. It will
insert the String the particular index position defined in the function.

 reverse(): This function will reverse the characters available in the StringBuffer object.

 replace(int start, int last, String s): This function will replace the character from the
start index to the last index passed in the method parameter.

 capacity(): This function will return the capacity of the StringBuffer object.

 ensureCapacity(): This function is used to ensure the minimum capacity of the


StringBuffer object.

 delete(int start, int end): This method will delete the String from the specified index
passed in the argument list.
Must Read: Java System Out Println and Hashcode Method in Java.
Examples
Code 1
public class Ex21 {
public static void main(String[] args) {

DEPARTMENT OF COMPUTER SCIENCE AND APPLICATION –MRS.R SUGANYA, AP/RAAK


23UBCAC43 /23UCSCC43 - PROGRAMMING IN JAVA UNIT 1

StringBuffer str = new StringBuffer("Hello");


str.append(123);
System.out.println(str);
}
}
Output
Hello123

DEPARTMENT OF COMPUTER SCIENCE AND APPLICATION –MRS.R SUGANYA, AP/RAAK

You might also like