Professional Documents
Culture Documents
ON
CORE JAVA
A SIX WEEK SUMMER TRAINING REPORT
AT
Submitted By :
AMAN YADAV
Enrollment-No : E21442538900005
Submitted To :
GOVERNMENT POLYTECHNIC ,MAU
BOARD OF TECHNICAL EDUCATION UTTAR PRADESH
DECLARATION
I , Mr. Aman Yadav, hereby declare that this project is being submitted in fulfilment of the
Summer Training Programme in INTERNSHALA TRAININGS ,from 07/07/2022 to
18/08/2022 and is result of self done work carried out by me under the guidance of
Mr.Sriyank Siddhartha and Mr. Harsh Deep Singh.
I further declare that to my knowledge ,the structure and the content of this projected
are original and have not been submitted before any purpose .
(Signature of Student)
Enrollment-No : E21442538900005
It is my proud privilege and duty to acknowledge the kind of help and guidance
received from several people in preparation of this report. It would not have possible to
prepare in this form without there valuable help ,cooperation and guidance .
First and foremost ,I wish to record our sincere gratitude to INTERNSHALA trainings
for giving me the opportunity to do Summer training within organization.
I also would like to thanks all the teacher that worked with me in INTERNSHALA
trainings with their patience and oppeness they created an enjoyable working
environment.
I would like to thank Mr. Sandeep kumar Yadav sir for their support and advices to get
and complete training in above said organization.
Last but not the least , I wish to thank my parents for financing my studies in this
college as well as for constantly encouraging me to learn engineering and I am
extremely grateful to my department staff members and friends who helped in
successful completion of this training.
SUMMER TRAINING CERTIFICATE
PREFACE
Unless the knowledge to applied in the practical field, it cannot attain perfection and
maturity. A project work is the scientific and systematic study of real issue and problems
with the application of managements principles ,concept and skills. The essential
ingrediants of a project are that it should contain scientific collection of data its analysis and
interpretation that lead to valid conclusions and feasible suggestions. Project work is an
essential part of partial fulfilment of the syllabus of C.S.E in DIPLOMA. I have prepared this
report during my summer trainings at “INTERNSHALA TRAININGS”. The whole report is to
be divided into different chapters, each dealing with the different aspects of the study the
report has been return in a very comprehensive way with suitable heading of each chapter.
I have tried my best to do justice and be honest in analyzing this topic.
TABLE OF CONTENTS
INTRODUCTION OF INDUSTRY
HISTORY
The platform, which was founded in 2010, started out as a WordPress blog that
aggregated internships across India and articles on education, technology and skill
gap. Internshala launched its online trainings in 2014. As of 2018, the platform had 3.5
million students and 80,000 companies.
VISION OF INDUSTRY
Internshala is a dot com business with the heart of dot org.We are a technology
company on a mission to equip students with the relevant skills and practical
exposures to help them got the best possible start to their careers. Imagine a world full
of freedom and possibilities. A world where you can discover your passion and turn it
into the career. A world where you graduate fully assured, confident,and prepared to
stake a claim on your place in the world.
MILESTONES
2010
How it all started
Sarvesh, our founder & CEO, started Internshala as a blog with a mission to bring a
culture of meaningful internships in India. And for the first two years, he hired only
virtual interns.
2013
The website launch
After building a small team, we then launched our website with just one goal - to equip
every student in India with their dream internship. And we did it all for free.
2015
Internshala app launch
The next big step could not have been anything other than launching our very own
Android app, bringing Internshala in the ‘hands’ of the students.
2016
The beginning of Internshala Trainings
After many successful years as an internship platform, our motivation to upskill the
students only increased, and that’s when we kickstarted a new journey with
Internshala Trainings.
2020
When we launched Fresher Jobs
With Fresher jobs, we embarked on a journey filled with newer challenges, which
allowed us to provide bigger & better opportunities to graduates with
0-2 years of experience.
2021
The launch of Job Oriented Specializations
With an insight that more than 90% of the graduates in India start their careers with a
job that pays less than 3LPA, we came up with Jobs Oriented Specialization programs to
help the students start their careers in their dream profiles.
PARTNERSHIPS
In August 2016, Telangana's not-for-profit organisation, Telangana Academy for Skill
and Knowledge (TASK) partnered with Internshala to help students with internship
resources and career services.
In September 2016, Team Indus, Google XPRIZE shortlisted entity has partnered with
Internshala for college outreach for its initiative, Lab2Moon.
AND
ABOUT JAVA
Java is a programming language and computing platform first released by Sun
Microsystems in 1995. It has evolved from humble beginnings to power a large share of
today’s digital world, by providing the reliable platform upon which many services and
applications are built. New, innovative products and digital services designed for the
future continue to rely on Java, as well.
While most modern Java applications combine the Java runtime and application
together, there are still many applications and even some websites that will not
function unless you have a desktop Java installed. Java.com, this website, is intended for
consumers who may still require Java for their desktop applications – specifically
applications targeting Java 8. Developers as well as users that would like to learn Java
programming should visit the dev.java website instead and business users should
visit oracle.com/java for more information.
HISTORY OF JAVA
The history of Java is very interesting. Java was originally designed for interactive
television, but it was too advanced technology for the digital cable television industry at
the time. The history of Java starts with the Green Team. Javateam members (also
known as Green Team), initiated this project to develop a language for digital devices
such as set-top boxes, televisions, etc. However, it was best suited for internet
programming. Later, Java technology was incorporated by Netscape.
The principles for creating Java programming were "Simple, Robust, Portable, Platform-
independent, Secured, High Performance, Multithreaded, Architecture Neutral, Object-
Oriented, Interpreted, and Dynamic".
Java was developed by James Gosling, who is known as the father of Java, in 1995.
James Gosling and his team members started the project in the early '90s.
2) Initially it was designed for small, embedded systems in electronic appliances like
set-top boxes.
3) Firstly, it was called "Greentalk" by James Gosling, and the file extension was .gt.
4) After that, it was called Oak and was developed as a part of the Green project.
6) In 1995, Oak was renamed as "Java" because it was already a trademark by Oak
Technologies.
According to James Gosling, "Java was one of the top choices along with Silk". Since Java
was so unique, most of the team members preferred Java than other names.
8) Java is an island in Indonesia where the first coffee was produced (called Java
coffee). It is a kind of espresso bean. Java name was chosen by James Gosling while
having a cup of coffee nearby his office.
11) In 1995, Time magazine called Java one of the Ten Best Products of 1995.
12) JDK 1.0 was released on January 23, 1996. After the first release of Java, there have
been many additional features added to the language. Now Java is being used in
Windows applications, Web applications, enterprise applications, mobile applications,
cards, etc. Each new version adds new features in Java.
JAVA VERSION HISTORY
Many java versions have been released till now. The current stable release of Java is
Java SE 10.
Since Java SE 8 release, the Oracle corporation follows a pattern in which every even
version is release in March month and an odd version released in September month.
Furthermore, Java is a statically typed programming language that makes it faster than
other languages. Java’s history in the enterprise and verbose coding style is typically
larger and more numerous. Java database connectivity is the most popular and widely
used to connect various devices.
If you look at the practical agility, Java provides more undeviating refactoring support
than other languages because of its static type system. And is more commonly used for
mobile and web applications. Java considers security as part of its design. The Java
language, compiler, interpreter, and runtime environment were each developed with
security in mind.
BE IN DEMAND :
Whether it's Android apps, web applications, banking, or trading software, Java is used
everywhere! So, adding it to your toolbox is a must.
LUCRATIVE SALARY :
The average salary for a Java developer is 6.3LPA+ according to Indeed.
Easy to learn:
Learning anything new isn’t typically easy. Java is a robust language and it would be
difficult to get productive with it in a short span of time, especially if you have a steep
learning curve. Many would be surprised to see once you are familiarwith the program
and its initial hurdles it is pretty easy to write a program in Java.
Java is the most human-readable language. It uses syntax similar to the English
language with minimal symbols making it easier to read and learn quickly. This
becomes one of the top reasons for learning Java or considering it as the best
programming language. Especially if you are coming from C, C++ background you will
find Java quite similar to those in terms of its syntax. Professionals who are experts in
Oracle, SCRUM, and Sun can easily combine their knowledge with Java to develop web
or mobile applications. Also, Java being one of the oldest programming languages,
certainly has no shortage of resources including websites, tutorials, books, and classes
available to help learn the language.
Higher cross-functionality:
Java offers high cross-functionality and portability as programs written in one platform
can run across desktops, mobiles, embedded systems. Java is used in a lot of different
places. Its write once runs anywhere philosophy allows it to be used in many ways on a
wide variety of different devices. It can easily be moved from one computer to another.
Most Java applications are built in windows and can run on Linux.
Companies such as Airbnb, Uber, and eBay use Java, for at least part of their web sites
and applications. If you want to develop applications for Android-based smartphones
and tablets, Java works there too. Java is a big player in the internet of things and
connected device market.
Behind the scene, Java is controlling things like ATMs, industrial robots, medical
devices, and with the rapid growth of connected home devices from light bulbs to
garage door openers you find the Java-powered logo. They are even in the entire lines
of home devices that are connected to the internet and leverage Java programming.
Object-oriented language:
Java is an object-oriented language. It’s one of the few 100 percents object-oriented
language, which makes developing OOP applications very easy. That’s another reason
that made it a popular language. Because you cannot write a simple program in Java
without it being object-oriented. Once you have the knowledge of basic OOP concepts,
you can use them with Java. Unlike other programming languages like C++, JavaScript,
and Python, OOP is optional whereas in Java it’s really baked into the language as an
essential part of Java. Encapsulation, Abstraction, Inheritance, and Polymorphism, are
some of the best practices and design patterns in its library.
Awesome tools:
Eclipse and Netbeans are the most popular IDEs in the development environment used
by software developers. It played a huge role to make Java one of the best programming
languages. It also has other IDEs like Notepad++, DOS editor and other text editors that
all have excellent support for Java built-in.
There is a vast assortment of libraries and frameworks available in Java that can make
you more efficient as a program as some the task you are going to perform while
developing an application are already solved with the existing library. Other helpful
tools include Maven, ANT, Jenkins, Decompilers, Visual VM and JConsole that not only
provide help in code completion but has powerful debugging capabilities, which is very
essential in real-time web development. It’s easy to integrate Java into a desktop,
server-side web application or mobile application that makes Java development much
faster, easier, and fluent. In desktop, Java is widely used to developing desktop
applications and Java2 enterprise addition is very popular in server-side web
programming. In mobile applications, Java is the most popular programming language
for the Android operating system.
Automated testing is also included with Junit along with the test-driven development.
Although there is another language called Kotlin developed by JetBrains. It’s basically
Java’s answer to Swift for iOS instead of Object-C. Kotlin does the same thing
for android app development. It’s faster, easier, and lighter, than Java. But, Android
relies heavily on Java and uses Java as a base language for developing mobile apps.
Many of the standard Java libraries like graphics, data structure, math, networking, as
well as some special libraries are already included in Android SDK. These existing
libraries help developers build awesome Android application.
Open source:
Java has been very lucky in having a thriving community, otherwise, it wouldn’t survive.
It is estimated there are as many as 10 million Java developers around the world. Java
runs on a wide variety of devices from sports cars to medical devices and that means a
wide variety of industries employed Java developers. That leads to a broad and diverse
community with many different ways to get involved. They held conferences and
meetups for Java users across the globe. Community is a huge factor when learning any
language. It has a lot of forums and several Java user groups where Java community is
available to answer your questions. Since it’s a mature language there are many
resources available and many questions have been asked already with great answers
provided. Whether you are using Java to build your website or using to power the
internet of things project there is a community for you.
And on top of that, it’s free. Cost is the biggest factor for anyone who wants to learn a
programming language or for an organization to use that technology. With Java, you do
not have to pay anything to create your Java application.
Legacy enterprise:
Java is something relegated to big enterprises. It is mostly used in legacy enterprise
application development. Java was a new hot language back in the late ’90s and all the
big corporations adopted Java. Because these big companies got involved with Java, it
was sort of designed via consensus with huge corporations. It was super complex and a
bit slower back then but has been simplified later to some extent. Being highly popular
at the enterprise, Java has a large active user community and support available. Java is a
very good choice for you if you are going to be working with very large corporation’s
projects that may last for six months or year with a big team.
Multithreading:
Thread is the smallest unit of processing in any programming. Java has the capability
for a program to perform several tasks simultaneously within a program with its
multithreading feature. Multithreading allows you to maximize the utilization of CPU
time.Java has very effective memory management. Switching between these threads
take very little time as they share the same area of memory. Also, they operate
independent of each other, so it does not affect the other if one thread faces exception.
This is especially useful for heavy applications like games and animation.
Conclusion:
With the introduction of many new modern and innovative languages for the past
decade, Java finds its place mostly in the niche market. You will mostly find Java used
nowadays for enterprise and some android development. Nonetheless, with all the
great features and its usability in a lot of internet of things, it is still very popular among
the developers. It is widely used in android development and is a great and easy
language to learn. It’s such an important language and is going to be around for years.
You cannot lose by learning java. But understand the work trajectory in terms of being
a java programmer vs other languages. Because there are other languages
like PHP, Python, Ruby, Kotlin that dominates the small app market for small and
medium-size businesses.
The whole training divided into four modules that deals with the different topics
related to JAVA and after each module there is a test of the module and after attempting
the test I will able to unlock the next module and in each module I had to make
assignments and also I had to solve some questions given for code practices after
important topics.
• Windows Setup
• Introduction to Java
Java is a programming language and computing platform first released by Sun
Microsystems in 1995. Java is a platform independent, more powerful, secure,
high performance, multithreaded programming language. Here we discuss some
points related to java.
• Your First Java App
Operator is a special symbol that tells the compiler to perform specific mathematical
or logical Operation. Java supports following lists of operators.
Examples :
Compare two values
Add, Multiply or Divide two values
• Operators : Part 2
• Conditionals
2. Levaraging basics concepts.
This is the second module of this course that discuss about these points:
• Overview
• Iterators(Loops)
Looping in programming languages is a feature which facilitates the execution of a set
of instructions/functions repeatedly while some condition evaluates to true. Java
provides three ways for executing the loops. While all the ways provide similar basic
functionality, they differ in their syntax and condition checking time.
• While loop
• for loop
• Do while loop
• Arrays
• 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
• Methods
Method is a block of code or collection of statements or a set of code grouped
together to perform a certain task or operation. It is used to achieve
the reusability of code. We write a method once and use it many times. We do not
require to write code again and again. It also provides the easy
modification and readability of code, just by adding or removing a chunk of code.
The method is executed only when we call or invoke it.
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.
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 arg
uments then it is very difficult for you and other programmer to understand
purpose or behaviors 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
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.
• 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.
Type of Exception
· Checked Exception
· Un-Checked Exception
• Overview
• Classes and Objects
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.
I. Data Member
II. Method
III. Constructor
IV. Block
V. 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
Based on creating objects in Java constructor are classified in two types. They are
• 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
• 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:
• Abstract Keyword
The abstract keyword is a non-access modifier, used for classes and methods
Class: An abstract class is a restricted class that cannot be used to create objects (to
access it, it must be inherited from another class).
Method: An abstract method can only be used in an abstract class, and it does not
have a body. The body is provided by the subclass (inherited from).
• 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 ?
If we do not know about any things about implementation just we have requirement
specification then we should be go for Interface
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
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)
• Collections
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).
• File Handling
In Java, with the help of File Class, we can work with files. This File Class is inside
the java.io package. The File class can be used by creating an object of the class and
then specifying the name of the file.
Why File Handling is Required?
• File Handling is an integral part of any programming language as file handling
enables us to store the output of any particular program in a file and allows us to
perform certain operations on it.
• In simple words, file handling means reading and writing data to a file.
4. Java app development.
This is the last module of this course that deals with the project of CONNECT4
GAME. This module only implement the game and practise of the all three module
theory and very useful in terms of making a project .It also gives some ideas to
how to make an application .
It is very exciting and also gives a better experience for programming in JAVA.
• Connect Four Game UI
• Overview
• First Desktop App
• Layouts
• GridPane
• Menu
• Alert Dialog
• Controller
• Temperature Converter Tool
• Connect Four Warm Up
• Connect Four Game UI
• Connect Four Menu
• Create Playground
• Create Playground-2
• Insert Disc
• Decide The Winner
• Game Over
• Finishing Touches
• Conclusions
• Final Project
PROJECT DETAILS
1. Students ID card generator.
Take user input and print name, age, blood group etc. using Java.
2. . Income tax calculator.
Calculate the income tax for different people based on their income.
3. “Today’s Special” menu of a bakery.
Using object-oriented programming techniques, create a program in Java to
automate the generation of 'Today's Special' menu of a bakery.
4. A temperature convertor tool.
Create a small desktop application using JavaFX that can be used to convert the
temperature from Fahrenheit to degree Celcius.
. These are the four projects which I had to make after each module. These are all small
but tricky projects and also my course tutor help me to make all this projects.
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 enginner 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 42 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.