Anurag's Report

Download as doc, pdf, or txt
Download as doc, pdf, or txt
You are on page 1of 28

1

SEMINAR REPORT

ON

CORE JAVA

By

Anurag Sharma

Session 2019-2020

DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING


Jaipur Engineering College & Research Center
Sitapura, Tonk Road, Jaipur
2

SEMINAR REPORT

ON

CORE JAVA

By

ANURAG SHARMA

Submitted by
Mr. ………………….
Designation

Session 2019-2020

DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING


Jaipur Engineering College & Research Center
Sitapura, Tonk Road, Jaipur
3

DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING

CERTIFICATE

This is to certify that the seminar entitled “CORE JAVA” has been presented
by ANURAG SHARMA under my guidance during the academic
year 2019.

Submitted to
Mr./Ms.
TANYA………………….

Head of the Department


(Name)
4

ACKNOWLEDGEMENT

I express my profound gratitude and indebtedness to Prof. Tanya , Department of

Computer Science and Engineering , JECRC Foundation ,Jaipur for introducing the

present topic and for their inspirational intellectual guidance , constructive criticism

and valuable suggestions throughout the report work.

I am also thankful to other staffs in Department of Computer Science and Engineering

for motivating me in improving the report.

Finally I would like to thank my parents for their support to complete this report.

Date – 18/10/2019

JECRC FOUNDATION Signature


(ANURAG SHARMA)
5

PAGE INDEX

Topic Page No.

ABSTRACT 7

1. BASIC OF JAVA

1.1 Overview of Java 8


1.2 JRE 8
1.3 JVM 8
1.4 Garbage collection 8
1.5 API 9
1.6 JIT 9
1.7 Features of Java 9
1.8 Path variables 10
1.9 Class path variables 10
1.10 Differences 11
1.11 Object and classes 12
1.12 Datatypes 13
1.13 Variables 13
1.14 Operator and its types 14

2. PROGRAMING CONCEPTS

2.1 Structure of Java programming 14


2.2 Main() method 15
2.3 Decision making statement 15
2.4 Looping statement 15
2.5 Wrapper classes 15
2.6 Access modifiers 16

3. JAVA USEFUL KEYWORDS

3.1 Final Keyword 16


3.2 Static keyword 16
3.3 This keyword 17
3.4 Super keyword 17
6

3.5 Synchronized keyword 17

4. JAVA CLASSES AND CONSTRUCTOR

4.1 Constructor 18
4.2 Static block 18
4.3 Relationship 19

5. OBJECT ORIENTED JAVA

5.1 Inheritance 19
5.2 Method overloading 20
5.3 Method overriding 20
5.4 Interface 21
5.5 Abstraction 21
5.6 Real life example 22
5.7 Encapsulation 22
5.8 Polymorphism 22

6. ADVANCED JAVA

6.1 Package 23
6.2 Exception handling 23
6.3 Multithread 24
6.4 Thread 24
6.5 String 25
6.6 Collection 25

CONCLUSION 26

REFERENCES 26
7

FIGURE INDEX

Fig No. Fig Title Page No.


1.1 Features of Java 9
1.2 Java class path 10
1.3 Compiling and execution setting 10
1.4 JDK 11

2.1 Structures of java program 14


2.2 Main() method 15
2.3 Access Modifiers 16

4.1 Method overriding 21

5.1 Exceptions classes and packages 23,24


8

ABSTRACT
Java is one of the programming language or technology used for developing
web applications. Java language developed at SUN Micro Systems in the year
1995 under the guidance of James Gosling and there team. Originally SUN
Micro Systems is one of the Academic university (Stanford University
Network)

Whatever the software developed in the year 1990, SUN Micro Systems has
released on the name of oak, which is original name of java (scientifically
oak is one of the tree name). The OAK has taken 18 months to develop.The
oak is unable to fulfill all requirements of the industry. So James Gosling
again reviews this oak and released with the name of java in the year 1995.
Scientifically java is one of the coffee seed name.

Java divided into three categories, they are

 J2SE (Java 2 Standard Edition)


 J2EE (Java 2 Enterprise Edition)
 J2ME (Java 2 Micro or Mobile Edition)

J2SE

J2SE is used for developing client side applications.

J2EE

J2EE is used for developing server side applications.

J2ME

J2ME is used for developing mobile or wireless application by making use of


a predefined protocol called WAP (wireless Access / Application protocol).
9

BASICS OF JAVA

Overview Of Java

Java is a platform independent, more powerful, secure, high performance, multithreaded


programming language. Here we discuss some points related to java.

Define JRE

The Java Runtime Environment (JRE) is part of the Java Development


Kit (JDK). It contains set of libraries and tools for developing java
application. The Java Runtime Environment provides the minimum
requirements for executing a Java application.

Define JVM

JVM is set of programs developed by sun Micro System and supplied as a


part of JDK for reading line by line of byte code and it converts into native
understanding form of operating system. Java language is one of the
compiled and interpreted programming language.

Garbage Collector

Garbage Collector is the system Java program which runs in the


background along with regular Java program to collect un-Referenced
(unused) memory space for improving the performance of our applications.
10

Define an API
An API (Application Programming Interface) is a collection of packages,
a package is the collection of classes, interfaces and sub-packages. A sub-
package is a collection of classes interfaces and sub sub packages etc.

Java programming is containing user friendly syntax so that we can develop


effective applications. in other words if any language is providing user
friendly syntax, we can develop error free applications.

Definition of JIT

JIT is the set of programs developed by SUN Micro System and added as a
part of JVM, to speed up the interpretation phase

Features Of JAVA

Features of a language are nothing but the set of services or facilities


provided by the language vendors to the industry programmers. Some
important features are;
11

Java Classpath Setting

PATH VARIABLE

Path variable is set for providing path for all java tools like java, javac,
javap, javah, jar, applet viewer which are use in java programming. These
all tools are available in bin folders so we set path up to bin folders.

CLASSPATH VARIABLE

Classpath variable is set for providing path for predefined java classes
which is used in our application. All classes are available in lib/rt.jar so we
set class path up to lib/rt.jar.

Steps For Compiling and Executing Programs

The following sequence of steps represented in the diagram use compiling


the java program and executing the java programs.
12

Difference Between JDK,JRE AND JVM

JVM, JRE, JDK these all the backbone of java language. Each components
have separate works. JDK and JRE physically exists but JVM are abstract
machine it means it not physically exists.

JVM : JVM (Java Virtual Machine) is a software. It is a specification that


provides runtime environment in which java bytecode can be executed. It not
physically exists. JVMs are not same for all hardware and software, for
example for Window OS JVM is different and for Linux VJM is different.
JVM, JRE and JDK are platform dependent because configuration of each OS
differs. But, Java is platform independent.

JRE : The Java Runtime Environment (JRE) is part of the Java Development
Kit (JDK). It contains set of libraries and tools for developing java
application. The Java Runtime Environment provides the minimum
requirements for executing a Java application. It physically exists. It contains
set of libraries + other files that JVM uses at runtime.

JDK : The Java Development Kit (JDK) is primary components. It physically


exists. It is collection of programming tools and JRE, JVM.
13

Object And Class

Object is the physical as well as logical entity where as class is the only
logical entity.

Class: Class is a blue print which is containing only list of variables and
method and no memory is allocated for them. A class is a group of objects
that has common properties.

A class in java contains:

 Data Member
 Method
 Constructor
 Block
 Class and Interface
Object: Object is a instance of class, object has state and behaviors .An
Object in java has three characteristics:
 State
 Behavior
 Identity
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 unique ID. 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 is also can be used to achieve user defined data types.


14

Data Types

Datatype is a special keyword used to allocate sufficient memory space for


the data, in other words Data type is used for representing the data in main
memory (RAM) of the computer.

In general every programming language is containing three categories of


data types. They are

 Fundamental or primitive data types


 Derived data types
 User defined data types.
Data Type Default Value Default size
boolean false 1 bit
char '\u0000' 2 byte
byte 0 1 byte
short 0 2 byte
int 0 4 byte
long 0L 8 byte
float 0.0f 4 byte
double 0.0d 8 byte

Variable
Variable is an identifier which holds data or another one variable is an
identifier whose value can be changed at the execution time of program.
Variable is an identifier which can be used to identify input data in a
program.

Operators And Its Types


15

Operator is a special symbol that tells the compiler to perform specific


mathematical or logical Operation. Java supports following lists of
operators.
 Arithmetic Operators
 Relational Operators
 Logical Operators
 Bitwise Operators
 Assignment Operators
 Ternary or Conditional Operators

PROGRAMMING CONCEPTS

Structure Of Java Program


Structure of a java program is the standard format released by Language
developer to the Industry programmer. Sun Micro System has prescribed the
following structure for the java programmers for developing java application.

 A package is a collection of classes, interfaces and sub-packages. A


sub package contains collection of classes, interfaces and sub-sub
packages etc. java.lang .*; package is imported by default and this package
is known as default package.
 Class is keyword used for developing user defined data type and
every java program must start with a concept of class.
16

Main( ) Method
main() method is starting execution block of a java program or any java program start their
execution from main method. If any class contain main() method known as main class.

Decision Making Statement

Decision making statement statements is also called selection statement.


That is depending on the condition block need to be executed or not which is
decided by condition. If the condition is "true" statement block will be
executed, if condition is "false" then statement block will not be executed. In
java there are three types of decision making statement.
 if
 if-else
 switch

Looping Statement
for loop

While loop

do-while

Wrapper Classes
For each and every fundamental data type there exist a pre-defined class,
Such predefined class is known as wrapper class. The purpose of wrapper
class is to convert numeric string data into numerical or fundamental data.
17

Access modifiers:
Access modifiers are those which are applied before data members or
methods of a class. These are used to where to access and where not
to access the data members or methods. In java programming we
have four access modifiers they are

JAVA USEFUL KEYWORDS

Final keyword

In java language final keyword can be used in following way.

 Final at variable level


 Final at method level
 Final at class level
Static keyword
The static keyword is used in java mainly for memory management. Static
keyword are used with variables, methods, blocks and nested class. Static is
a keyword that are used for share the same variable or method of a given
class. This is used for a constant variable or a method that is the same for
every instance of a class. The main method of a class is generally labeled
static.

In java language static keyword can be used for following


1. variable (also known as class variable)
2. method (also known as class method)
3. block
4. nested class
18

This keyword

this is a reference variable that refers to the current object. It is a keyword in


java language represents current class object
"this" keyword can be use in two ways.
 this . (this dot)
 this() (this off)

Super keyword

Super keyword in java is a reference variable that is used to refer parent


class object. Super is an implicit keyword create by JVM and supply each
and every java program for performing important role in three places.
 At variable level
 At method level
 At constructor level

Synchronized Keyword

Synchronized Keyword is used for when we want to allow only one thread at a
time then use Synchronized modifier. If a method or block declared as a
Synchronized then at a time only one thread is allowed to operate on the
given object.
19

JAVA CLASSES, BLOCKS AND CONSTRUCTORS

Abstract Classes

We know that every java program must start with a concept of class that is
without classes concept there is no java program perfect .In java
programming we have two types of classes they are
1. Concrete class
2. Abstract class

Constructor And Its Types

A constructor is a special member method which will be called implicitly


(automatically) by the JVM whenever an object is created for placing user or
programmer 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. Constructors are mainly create for initializing the object.
Initialization is a process of assigning user defined values at the time of
allocation of memory space.

Types of constructors

Based on creating objects in Java constructor are classified in two types.


They are

 Default or no argument Constructor


 Parameterized constructor.

Static Block in Java

Static block is a set of statements, which will be executed by the JVM before execution
of main method. At the time of class loading if we want to perform any activity we have
to define that activity inside static block because static block execute at the time of class
loading. In a class we can take any number of static block but all these static block will be
execute from top to bottom.
20

Relationship in Java

Type of relationship always makes to understand how to reuse the feature from one class to
another class. In java programming we have two types of relationship they are.

 Is-A Relationship

 Has-A Relationship

JAVA OBJECT ORIENTED


Inheritance
The process of obtaining the data members and methods from one class to another class is
known as inheritance. It is one of the fundamental features of object-oriented programming.
A class that is declared with abstract keyword, is known as abstract class. An abstract class
is one which is containing some defined method and some undefined method. In java
programming undefined methods are known as un-Implemented or abstract method. The
process of obtaining the data members and methods from one class to another class is known
as inheritance. It is one of the fundamental features of object-oriented programming.

Types of Inheritance

 Single inheritance
 Multiple inheritance
 Hierarchical inheritance
 Multilevel inheritance
 Hybrid inheritance

Why use Inheritance ?

 For Method Overriding (used for Runtime Polymorphism).


 It's main uses are to enable polymorphism and to be able to reuse code
for different classes by putting it in a common super class
 For code Re-usability
21

Method Overloading
Whenever same method name is exiting multiple times in the same class
with different number of parameter or different order of parameters or
different types of parameters is known as method overloading.

Why method Overloading ?

Suppose we have to perform addition of given number but there can be any
number of arguments, if we write method such as a(int, int)for two
arguments, b(int, int, int) for three arguments then it is very difficult for you
and other programmer to understand purpose or behaviours of method they
can not identify purpose of method. So we use method overloading to easily
figure out the program. For example above two methods we can write
sum(int, int) and sum(int , int , int) using method overloading concept.

Different ways to overload the method

There are two ways to overload the method in java

 By changing number of arguments or parameters


 By changing the data type
 By changing the order of arguments.

Method Overriding
Whenever same method name is existing in both base class and derived class
with same types of parameters or same order of parameters is known
as method Overriding.

Advantage of Java Method Overriding

 Method Overriding is used to provide specific implementation of a


method that is already provided by its super class.
 Method Overriding is used for Runtime Polymorphism
22

Interface
Interface is similar to class which is collection of public static final
variables (constants) and abstract methods. The interface is a mechanism to
achieve fully abstraction in java. There can be only abstract methods in the
interface. It is used to achieve fully abstraction and multiple inheritance in
Java.

Why we use Interface ?

 It is used to achieve fully abstraction.


 By using Interface, you can achieve multiple inheritance in java.

When we use abstract and when Interface

If we do not know about any things about implementation just we have


requirement specification then we should be go for Interface
If we are talking about implementation but not completely (partially
implemented) then we should be go for abstract

Abstraction
Abstraction is the concept of exposing only the required essential
characteristics and behaviour with respect to a context.
Hiding of data is known as data abstraction. In object oriented
programming language this is implemented automatically while writing the
code in the form of class and object.
23

REAL LIFE EXAMPLE OF ABSTRACTION


Abstraction shows only important things to the user and hides the internal
details for example when we ride a bike, we only know about how to ride
bike but can not know about how it work ? and also we do not know internal
functionality of bike.

Encapsulation
Encapsulation is a process of wrapping of data and methods in a single unit
is called encapsulation. Encapsulation is achieved in java language by class
concept .Combining of state and behaviour in a single container is known as
encapsulation. In java language encapsulation can be achieve
using class keyword, state represents declaration of variables on attributes
and behaviour represents operations in terms of method.

Benefits of encapsulation

 Provides abstraction between an object and its clients.


 Protects an object from unwanted access by clients.
 Example: A bank application forbids (restrict) a client to change
 Accounts.

Polymorphism
The process of representing one form in multiple forms is known
as Polymorphism. Here original form or original method always resides in
base class and multiple forms represents overridden method which resides in
derived classes.

Polymorphism is not a programming concept but it is one of the principal of


OOPs. For many objects oriented programming language polymorphism
principle is common but whose implementations are varying from one
objects oriented programming language to another object oriented
programming language.
24

Polymorphism principal is divided into two sub principal they are:

 Static or Compile time polymorphism


 Dynamic or Runtime polymorphism

JAVA ADVANCED
Package
A package is a collection of similar types of classes, interfaces and sub-
packages.

Purpose of package

The purpose of package concept is to provide common classes and interfaces


for any program separately. In other words if we want to develop any class
or interface which is common for most of the java programs than such
common classes and interfaces must be place in a package.

Exception Handling
The process of converting system error messages into user friendly error
message is known as Exception handling. This is one of the powerful
feature of Java to handle run time error and maintain normal flow of java
application.
An Exception is an event, which occurs during the execution of a program,
that disrupts the normal flow of the program's Instructions.
25

Type of Exception

 Checked Exception
 Un-Checked Exception

Hierarchy of Exception classes

Multithreading
Multithreading in java is a process of executing multiple threads
simultaneously. The aim of multithreading is to achieve the concurrent
execution.

Thread

Thread is a lightweight components and it is a flow of control. In other


words a flow of control is known as thread. State of a thread are classified
into five types they are

1. New State
2. Ready State
3. Running State
4. Waiting State
26

String
String is a sequence of characters enclosed within double quotes (" ") is
known as String.
Example: "Java Programming".
In java programming to store the character data we have a fundamental
datatype called char. Similarly to store the string data and to perform
various operation on String data, we have three predefined classes they are:
 String
 StringBuffer
 StringBuilder

Collection
Collections in java is a framework that provides an architecture to store and
manipulate the group of objects. All the operations that you perform on a data
such as searching, sorting, insertion, manipulation, deletion etc. can be
performed by Java Collections. Java Collection simply means a single unit of
objects. Java Collection framework provides many interfaces (Set, List,
Queue, Deque etc.) and classes (Array List, Vector, Linked List, Priority
Queue, Hash Set, Linked Hash Set, Tree Set etc).
27

CONCLUSIONS
Practical knowledge means the visualization of the knowledge, which we
read in our books. For this, we perform experiments and get observations.
Practical knowledge is very important in every field. One must be familiar
with the problems related to that field so that he may solve them and become a
successful person.
After achieving the proper goal in life, an engineer has to enter in
professional life. According to this life, he has to serve an industry, may be
public or private sector or self-own. For the efficient work in the field, he
must be well aware of the practical knowledge as well as theoretical
knowledge.

Due to all above reasons and to bridge the gap between theory and practical,
our
Engineering curriculum provides a practical training of 45 days. During this
period
a student work in the industry and get well all type of experience and
knowledge about the working of
companies and hardware and software tools.

I have undergone my 45 days summer training in 2th sem at Internshala


This report is based on the knowledge, which I acquired during my 45
days of summer training.

REFERENCES

 Internshala
 OOPS Concept by Sumita Arora

 Thinking In java(2nd edition)


28

 Google Group-javatechzone

You might also like