Internship Report
Internship Report
internship training for JAVA programming during the month of May-June,2022. I would like to
also thank my institute, Motihari College of Engineering for giving permission and necessary
administrative support to take up the training work at Techgyan Technologies, Abhyuday IIT
BOMBAY.
Deepest thanks to our Trainer Rajdeep Sir and the techgyan technologies coordinator Sonam
Sherwal for their guidance, monitoring, constant encouragement and correcting various
assignments of ours with attention and care. They have taken pain to go through the project and
training sessions and make necessary corrections as when needed and we are very grateful for
that.
Table of Contents
Introduction to Java
Basics of Java
Features of Java
Categories of Java
Steps for compiling & executive Java Program
Objects & Class
Data types
Variables
Operator & its types
Programming Concepts
Structure of Java Programs
Main() Method
Decision Making Statement
Looping Statement
Wrapper Classes
Java keywords
Final keywords
This keywords
Static keywords
Super keywords
Synchronized keywords
Java Classes, Blocks & Constructors
Java Object Oriented
Inheritance
Method overloading
Method overriding
Interface
Abstraction
Encapsulation
Polymorphism
Java Advanced
Package
Exception Handling
Multithreading
Thread String
Collection
Conclusion
Introduction to JAVA
Java is a platform independent, more powerful, secure, high performance, multithreaded programming
language.
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.
Basics Of JAVA
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.
JVM: - JVM is a 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 languages.
JDK: - The Java Development Kit (JDK) is primary components. It physically exists. It is
collection of programming tools and JRE, JVM.
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.
Categories of JAVA
J2SE (Java 2 Standard Edition):- J2SE is used for developing client side applications.
J2EE (Java 2 Enterprise Edition): - J2EE is used for developing server side applications.
J2ME (Java 2 Micro or Mobile Edition):- J2ME is used for developing mobile or wireless
application by making use of a predefined protocol called WAP (wireless Access / Application
protocol).
Define an API?
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.
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;
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
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.
Class path Variable: - Class path 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.
Data Types
Data type 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
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.
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.
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.
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
variable (also known as class variable)
method (also known as class method)
block
nested class
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 creates 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.
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
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 behaviors of method they
cannot 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
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
inheritances 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 behavior 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.
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 cannot 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 behavior 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 behavior represents
operations in terms of method.
Benefits of encapsulation
Provides abstraction between an object and its clients.
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.
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 features 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.
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
New State
Ready State
Running State
Waiting State
Halted or dead State
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 (ArrayList, Vector, LinkedList, PriorityQueue, HashSet, LinkedHashSet, TreeSet
etc).
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 4 weeks. 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 4 weeks internship training in 3rd semester at Techgyan Technologies, Abhyuday
IIT BOMBAY. This report is based on the knowledge, which I acquired during my 4 weeks of
internship training.