SlideShare a Scribd company logo
Introduction to JAVA
P.Kanagaraju
Technical Trainer
Innate Talent
1
Introduction to OOPs
■ Object-Oriented Programming System is the programming technique to write programs based on
the real world objects.
■ OOPs Concepts
Introduction to OOPs
■ Object
– The Object is the real-time entity having some state and behavior.
Introduction to OOPs
■ Class
– A class is a group of objects which have common properties.
– It is a template or blueprint from which objects are created.
– A real-world example is Circle.
Introduction to OOPs
■ Abstraction
– Abstraction means hiding lower-level details and exposing only the essential
and relevant details to the users.
– Example: Consider an ATM Machine;
■ All are performing operations on the ATM machine like cash withdrawal, money
transfer, retrieve mini-statement…etc. but we can't know the internal details
about ATM.
Introduction to OOPs
■ Encapsulation
– Encapsulation is a process of wrapping data and methods in a single unit is
called encapsulation.
– In OOP, data and methods operating on that data are combined together to
form a single unit, which is referred to as a Class.
– Encapsulation is the mechanism that binds together code and the data it
manipulates and keeps both safes from outside interference and misuse.
– Real-world examples
■ The capsule, it is wrapped with different medicines. In a capsule, all medicine is
encapsulated inside capsule
Introduction to OOPs
■ Inheritance
– Inheritance is a process of obtaining the data members and methods from
one class to another class, plus can have its own is known as inheritance.
– Inheritance - IS-A relationship between a superclass and its subclasses.
– Super Class: The class whose features are inherited is known as a superclass (or a base
class or a parent class).
– Sub Class: The class that inherits the other class is known as a subclass(or a derived class,
extended class, or child class). The subclass can add its own fields and methods in addition
to the superclass fields and methods.
Introduction to OOPs
■ Polymorphism
– The process of representing one form in multiple forms is known as
Polymorphism.
– Polymorphism allows us to perform a single action in different ways.
– Polymorphism allows you to define one interface and have multiple implementations
– Polymorphism means many forms.
– Example
Introduction to OOPs
■ Polymorphism
1. Object - Instance of Class
2. Class - Blue print of Object
3. Encapsulation - Protecting our Data
4. Polymorphism - Different behaviors at different instances
5. Abstraction - Hiding our irrelevant Data
6. Inheritence - One property of object is acquiring to another property of
object
Procedural languages vs OOPs
Procedural Oriented Programming Object-Oriented Programming
In procedural programming, the program is divided
into small parts called functions.
In object-oriented programming, the program is divided
into small parts called objects.
Procedural programming follows a top-down
approach.
Object-oriented programming follows a bottom-up
approach.
There is no access specifier in procedural
programming.
Object-oriented programming has access specifiers like
private, public, protected, etc.
Adding new data and functions is not easy. Adding new data and function is easy.
Procedural programming does not have any proper
way of hiding data so it is less secure.
Object-oriented programming provides data hiding so it
is more secure.
In procedural programming, there is no concept of
data hiding and inheritance.
In object-oriented programming, the concept of data
hiding and inheritance is used.
Procedural programming is used for designing
medium-sized programs.
Object-oriented programming is used for designing large
and complex programs.
Examples: C, FORTRAN, Pascal, Basic, etc. Examples: C++, Java, Python, C#, etc.
Applications of OOPs
■ Computer graphics applications
■ Object-oriented database
■ User-interface design such as windows
■ Real-time systems
■ Simulation and modeling
■ Client-Server System
■ Artificial Intelligence System
■ CAD/CAM Software
■ Office automation system, etc..
History of Java
■ James Gosling, Mike Sheridan, and Patrick Naughton initiated the Java
language project in June 1991. The small team of sun engineers called
Green Team.
■ Originally designed for small, embedded systems in electronic appliances
like set-top boxes.
■ Firstly, it was called "Greentalk" by James Gosling and file extension was
.gt.
■ After that, it was called Oak and was developed as a part of the Green
project.
History of Java
Why Oak name for java language?
■ Why Oak? Oak is a symbol of strength and choosen as a national tree of
many countries like U.S.A., France, Germany, Romania etc.
■ In 1995, Oak was renamed as "Java" because it was already a trade
■ Why they chosen java name for java language? The team gathered to
choose a new name. The suggested words were "dynamic", "revolutionary",
"Silk", "jolt", "DNA" etc. They wanted something that reflected the essence
of the technology: revolutionary, dynamic, lively, cool, unique, and easy to
spell and fun to say.
■ 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.
■ Java is an island of Indonesia where first coffee was produced (called java
coffee).
History of Java
■ Notice that Java is just a name not an acronym.
■ Originally developed by James Gosling at Sun Microsystems (which is now a subsidiary of
Oracle Corporation) and released in 1995.
■ JDK 1.0 released in(January 23, 1996).
Java Version History
Version
Release
date
JDK Beta 1995
JDK 1.0 January 1996
JDK 1.1 February 1997
J2SE 1.2 December 1998
J2SE 1.3 May 2000
J2SE 1.4 February 2002
J2SE 5.0 September 2004
Java SE 6 December 2006
Java SE 7 July 2011
Java SE 8 (LTS) March 2014
Java SE 9 September 2017
Java SE 10 March 2018
Java SE 11 (LTS) September 2018
Java SE 12 March 2019
Java SE 13 September 2019
Java SE 14 March 2020
Java SE 15 September 2020
Java SE 16 March 2021
Java SE 17 (LTS) September 2021
Java SE 18 March 2022
Java SE 19 September 2022
Java SE 20 March 2023
Java SE 21 (LTS) September 2023
Features of Java
■ Simple
– Syntax is based on C++ (so easier for programmers to learn it after C++).
– Removed many confusing and/or rarely-used features e.g., explicit pointers, operator
overloading etc.
– No need to remove unreferenced objects because there is Automatic Garbage Collection in
java.
■ Object-oriented
– Object-oriented programming(OOPs) is a methodology that simplify software development
and maintenance by providing some rules.
– Basic concepts of OOPs are:
■ Object
■ Class
■ Inheritance
■ Polymorphism
■ Abstraction
■ Encapsulation
Features of Java
■ Platform Independent
– A platform is the hardware or software environment in which a program
runs.
– There are two types of platforms software-based and hardware-based.
– Java provides software-based platform. The Java platform differs from most
other platforms in the sense that it's a software-based platform that runs on
top of other hardware-based platforms. It has two components:
■ Runtime Environment
■ API(Application Programming Interface)
– java is platform independent Java code can be run on multiple platforms e.g.
Windows,Linux,Sun Solaris,Mac/OS etc.
– Java code is compiled by the compiler and converted into bytecode.
– This bytecode is a platform independent code because it can be run on
multiple platforms i.e. Write Once and Run Anywhere(WORA).
Features of Java
Features of Java
■ Secured
– No explicit pointer
– Programs run inside virtual machine sandbox.
Features of Java
■ Secured
– Classloader- adds security by separating the package for the classes of the
local file system from those that are imported from network sources
– Bytecode Verifier- checks the code fragments for illegal code that can
violate access right to objects
– Security Manager- determines what resources a class can access such as
reading and writing to the local disk
Features of Java
■ Robust
– Robust simply means strong
– Java uses strong memory management
– There is automatic garbage collection in java
– There is exception handling and type checking mechanism in java. All these points makes
java robust.
■ Architecture-neutral
– There is no implementation dependent features e.g. size of primitive types is set.
■ Portable
– We may carry the java bytecode to any platform.
■ Distributed
– We can create distributed applications in java
– RMI and EJB are used for creating distributed applications
– We may access files by calling the methods from any machine on the internet.
Features of Java
■ High-performance
– This language uses Bytecode which is more faster than ordinary pointer
code so Performance of this language is high.
– Garbage collector, collect the unused memory space and improve the
performance of application.
– Java is an interpreted language, so it will never be as fast as a compiled
language like C or C++. But, Java enables high performance with the use of
just-in-time compiler
■ Multi-threaded
– A thread is like a separate program, executing concurrently
– We can write Java programs that deal with many tasks at once by defining
multiple threads
– The main advantage of multi-threading is that it shares the same memory.
Threads are important for multi-media, Web applications etc.
Where it is used?
■ More than 3 billion devices run java. There are many devices where java is
currently used. Some of them are as follows:
■ Desktop Applications such as acrobat reader, media player, antivirus etc.
■ Web Applications such as irctc.co.in, javatpoint.com etc.
■ Enterprise Applications such as banking applications.
■ Mobile
■ Embedded System
■ Smart Card
■ Robotics
■ Games etc.
Types of Java Applications
■ 1) Standalone Application
– It is also known as desktop application or window-based
application
– An application that we need to install on every machine such as
media player, antivirus etc.
– AWT and Swing are used in java for creating standalone
applications.
■ 2) Web Application
– An application that runs on the server side and creates dynamic
page, is called web application
– Currently, servlet, jsp, struts, jsf etc. technologies are used for
creating web applications in java.
Types of Java Applications
■ 3) Enterprise Application
– An application that is distributed in nature, such as banking applications
etc.
– It has the advantage of high level security, load balancing and clustering. In
java, EJB is used for creating enterprise applications.
■ 4) Mobile Application
– An application that is created for mobile devices
– Currently Android and Java ME are used for creating mobile applications.
Advantages of Java
■ Java is open source
■ Java is fast and high-performance
■ Java is easy to learn
■ Java is statically typed
– Unlike languages like Python or JavaScript, Java is statically typed.
– In Java, you specify whether a variable is a float, double, int, Integer, char or String.
■ Java feature addition is fast
■ Java is object-oriented
■ Java supports functional programming
– Functional programming (FP) is an approach to software development that uses pure
functions to create maintainable software
Keywords in Java
Path Setting
■ Windows 10
– In Search, search for and then select: System (Control Panel)
– Click the Advanced system settings link.
– Click Environment Variables. In the section System Variables find
the PATH environment variable and select it. Click Edit. If the
PATH environment variable does not exist, click New.
– In the Edit System Variable (or New System Variable) window,
specify the value of the PATH environment variable. Click OK.
Close all remaining windows by clicking OK.
– Reopen Command prompt window, and run your java code.
https://java2blog.com/how-to-set-java-path-windows-10/
Simple Program Execution
■ Step 1: Write a program on the notepad and save it with .java (for example,
DemoFile.java) extension.
class DemoFile
{
public static void main(String args[])
{
System.out.println("Hello Java");
}
}
■ Step 2: Open Command Prompt.
■ Step 3:Set the directory in which the .java file is saved.
■ Step 4:Use the following command to compile the Java program.
javac DemoFile.java
■ Step 5:Use the following command to run the Java program:
java DemoFile
Simple Program Execution
Java Lexical Issues or Java Lexeme or Java Tokens
■ Java Tokens are the smallest unit of a Java program
■ Various Java tokens are whitespace, identifiers, literals, comments,
operators, separators, and keywords.
■ Whitespace
– White space can contain the characters for tabs, blanks, newlines, and
form feeds.
– These characters are ignored except when they serve to separate
other tokens. However, blanks and tabs are significant in strings.
■ Identifiers
– Identifiers are used to name things, such as classes, variables, and
methods.
– uppercase and lowercase letters, numbers, or the underscore and
dollar-sign characters
– They must not begin with a number
– Java is case-sensitive
Architecture of Java Lexical Issues
■ Literals
– A constant value in Java is created by using a literal
representation of it. For example, here are some literals:
Architecture of Java Lexical Issues
■ Separators
Primitive data types in Java
Typecasting in Java
■ In Java, type casting is a method or process that converts a data type
into another data type
■ Types
– Widening Type Casting
– Narrowing Type Casting
Typecasting in Java
■ Widening Type Casting
– Converting a lower data type into a higher one is called widening
type casting. It is also known as implicit conversion or casting
down. It is done automatically.
■ byte -> short -> char -> int -> long -> float -> double
public class Main
{
public static void main(String[] args) {
int a=78;
double d=a;
System.out.println(d);
}
}
Output:
78.0
Typecasting in Java
■ Narrowing Type Casting
– Converting a higher data type into a lower one is called narrowing
type casting. It is also known as explicit conversion or casting up.
It is done manually by the programmer.
■ double -> float -> long -> int -> char -> short -> byte
public class Main
{
public static void main(String[] args) {
double d=23.67;
int a=(int)d;
System.out.println(a);
}
}
Output:
23
Architecture of Java
Architecture of Java
■ Narrowing Type Casting
– Converting a higher data type into a lower one is called narrowing
type casting. It is also known as explicit conversion or casting up.
It is done manually by the programmer.
■ double -> float -> long -> int -> char -> short -> byte
public class Main
{
public static void main(String[] args) {
double d=23.67;
int a=(int)d;
System.out.println(a);
}
}
Output:
23
JVM, JDK, JRE
■ 1. JVM stands for Java Virtual machine,
JDK stands for Java development kit,
and JRE stands for Java runtime
environment.
■ 2. JDK is for the development
environment whereas JRE is for the run
time environment.
■ 3. JVM runs inside the JRE
environment. JRE contains class
libraries, Java Virtual Machine and
other files other than development
tools like compiler and debugger.
■ 4. JRE is a subset of JDK. JDK contains
JRE along with development tools such
as compiler, debugger, etc.

More Related Content

PPTX
Java technology is widely used currently. Let's start learning of java from b...
aliblackcat76
 
PPTX
Chapter 1 (1).pptx
krishnashah277578
 
PPTX
Java
Harry Potter
 
PPTX
Java
Young Alista
 
PPTX
Java
James Wong
 
PPTX
Java
Fraboni Ec
 
PPTX
Java
Luis Goldster
 
PPTX
Java
Tony Nguyen
 
Java technology is widely used currently. Let's start learning of java from b...
aliblackcat76
 
Chapter 1 (1).pptx
krishnashah277578
 

Similar to 1 Introduction to JAVA.pptx (20)

PDF
what is java.pdf
XanGwaps
 
PPTX
Letest
Prakash Poudel
 
PPTX
Java Programming concept
Prakash Poudel
 
PPTX
Java
seenak
 
PDF
Java Concepts and Features-Programming in Java
jasminebeulahg
 
PPTX
Basics of JAVA programming
Elizabeth Thomas
 
PPTX
introduction to object orinted programming through java
Parameshwar Maddela
 
PPTX
Module1_htryjtjhkrhdegtfhsfhrdgfhpart1.pptx
aashrithsai7dkm
 
PPT
Java ppt-class_basic data types methods definitions
ganeshkarthy
 
PPTX
1 .java basic
Indu Sharma Bhardwaj
 
PPT
Java ppt-class_Introduction_class_Objects.ppt
VGaneshKarthikeyan
 
PPTX
java basics concepts and the keywords needed
PriyadharshiniG41
 
PPTX
U1 JAVA.pptx
madan r
 
PPTX
Lecture - 1 introduction to java
manish kumar
 
PPSX
Introduction of java
Madishetty Prathibha
 
PPTX
CS8392 OOP
DhanalakshmiVelusamy1
 
PPTX
Programming in java ppt
MrsRLakshmiIT
 
PPTX
Programming in java ppt
MrsRBoomadeviIT
 
PPTX
PROGRAMMING IN JAVA unit 1.pptx
SeethaDinesh
 
PPTX
Object Oriented Programming Part 1 of Unit 1
VigneshkumarPonnusam1
 
what is java.pdf
XanGwaps
 
Java Programming concept
Prakash Poudel
 
Java
seenak
 
Java Concepts and Features-Programming in Java
jasminebeulahg
 
Basics of JAVA programming
Elizabeth Thomas
 
introduction to object orinted programming through java
Parameshwar Maddela
 
Module1_htryjtjhkrhdegtfhsfhrdgfhpart1.pptx
aashrithsai7dkm
 
Java ppt-class_basic data types methods definitions
ganeshkarthy
 
1 .java basic
Indu Sharma Bhardwaj
 
Java ppt-class_Introduction_class_Objects.ppt
VGaneshKarthikeyan
 
java basics concepts and the keywords needed
PriyadharshiniG41
 
U1 JAVA.pptx
madan r
 
Lecture - 1 introduction to java
manish kumar
 
Introduction of java
Madishetty Prathibha
 
Programming in java ppt
MrsRLakshmiIT
 
Programming in java ppt
MrsRBoomadeviIT
 
PROGRAMMING IN JAVA unit 1.pptx
SeethaDinesh
 
Object Oriented Programming Part 1 of Unit 1
VigneshkumarPonnusam1
 
Ad

Recently uploaded (20)

PPTX
网上可查学历澳大利亚国家戏剧艺术学院毕业证学历证书在线购买|NIDAOffer
1cz3lou8
 
PDF
Copy of HKISO FINAL ROUND Session 1 & 2 - S3 and SS.pdf
nothisispatrickduhh
 
DOCX
(14-5) Bo-15-De-luyen-thi-vao-10-Ha-Noi-25-26.docx
27QuynNhnChu
 
PDF
Meatball of Canyon Valley sequence 1 storyboard by Mark G.
MarkGalez
 
PPTX
锡根大学文凭办理|办理Uni Siegen毕业证电子版成绩单在线办理办成绩单
xxxihn4u
 
PPTX
The actual field of Real_Estate_CRM_Strategy.pptx
SanjivaMudada
 
PDF
LeadIAS – Best IAS Coaching in Kerala.pdf
LeadIAS
 
PPTX
tech vs soft skill .pptxhgdvnhygnuufcbnbg
spnr2427
 
PDF
【2nd】Explanatory material of DTU(230207).pdf
kewalsinghpuriya
 
PDF
Invincible season 2 storyboard revisions seq2 by Mark G
MarkGalez
 
PPTX
Induction_Orientation_PPT.pptx for new joiners
baliyannisha12345
 
PPTX
PRESENTATION OF SEPSIS, SEPTIC SHOCK.pptx
ericklouiseopio
 
PPTX
introduction to python in detail including .pptx
urvashipundir04
 
PPTX
ASP MVC asderfewerwrwerwrefeewwfdewfewfdsfsd
faresslaam82
 
PPTX
FSS seminar-cours-work the future of material surfaces.pptx
sanjaychief112
 
PPTX
Title The Power of Oral Communication (2).pptx
amankumar7762044
 
PPTX
Presentation.pptxjjjnjnnnnnnnnnnnnnnnnnnnn
simajameel01
 
PPTX
Soil_Health_Card_Template_Style.pptxkkki
Akash486765
 
PPT
Cryptographyhsjckhyhbghvdsnbfgnhgvhnnbfrrnb
mannamsarath224
 
PDF
Professor Dr. Nazrul Islam - Curriculum Vitae.pdf
Dr. Nazrul Islam
 
网上可查学历澳大利亚国家戏剧艺术学院毕业证学历证书在线购买|NIDAOffer
1cz3lou8
 
Copy of HKISO FINAL ROUND Session 1 & 2 - S3 and SS.pdf
nothisispatrickduhh
 
(14-5) Bo-15-De-luyen-thi-vao-10-Ha-Noi-25-26.docx
27QuynNhnChu
 
Meatball of Canyon Valley sequence 1 storyboard by Mark G.
MarkGalez
 
锡根大学文凭办理|办理Uni Siegen毕业证电子版成绩单在线办理办成绩单
xxxihn4u
 
The actual field of Real_Estate_CRM_Strategy.pptx
SanjivaMudada
 
LeadIAS – Best IAS Coaching in Kerala.pdf
LeadIAS
 
tech vs soft skill .pptxhgdvnhygnuufcbnbg
spnr2427
 
【2nd】Explanatory material of DTU(230207).pdf
kewalsinghpuriya
 
Invincible season 2 storyboard revisions seq2 by Mark G
MarkGalez
 
Induction_Orientation_PPT.pptx for new joiners
baliyannisha12345
 
PRESENTATION OF SEPSIS, SEPTIC SHOCK.pptx
ericklouiseopio
 
introduction to python in detail including .pptx
urvashipundir04
 
ASP MVC asderfewerwrwerwrefeewwfdewfewfdsfsd
faresslaam82
 
FSS seminar-cours-work the future of material surfaces.pptx
sanjaychief112
 
Title The Power of Oral Communication (2).pptx
amankumar7762044
 
Presentation.pptxjjjnjnnnnnnnnnnnnnnnnnnnn
simajameel01
 
Soil_Health_Card_Template_Style.pptxkkki
Akash486765
 
Cryptographyhsjckhyhbghvdsnbfgnhgvhnnbfrrnb
mannamsarath224
 
Professor Dr. Nazrul Islam - Curriculum Vitae.pdf
Dr. Nazrul Islam
 
Ad

1 Introduction to JAVA.pptx

  • 2. Introduction to OOPs ■ Object-Oriented Programming System is the programming technique to write programs based on the real world objects. ■ OOPs Concepts
  • 3. Introduction to OOPs ■ Object – The Object is the real-time entity having some state and behavior.
  • 4. Introduction to OOPs ■ Class – A class is a group of objects which have common properties. – It is a template or blueprint from which objects are created. – A real-world example is Circle.
  • 5. Introduction to OOPs ■ Abstraction – Abstraction means hiding lower-level details and exposing only the essential and relevant details to the users. – Example: Consider an ATM Machine; ■ All are performing operations on the ATM machine like cash withdrawal, money transfer, retrieve mini-statement…etc. but we can't know the internal details about ATM.
  • 6. Introduction to OOPs ■ Encapsulation – Encapsulation is a process of wrapping data and methods in a single unit is called encapsulation. – In OOP, data and methods operating on that data are combined together to form a single unit, which is referred to as a Class. – Encapsulation is the mechanism that binds together code and the data it manipulates and keeps both safes from outside interference and misuse. – Real-world examples ■ The capsule, it is wrapped with different medicines. In a capsule, all medicine is encapsulated inside capsule
  • 7. Introduction to OOPs ■ Inheritance – Inheritance is a process of obtaining the data members and methods from one class to another class, plus can have its own is known as inheritance. – Inheritance - IS-A relationship between a superclass and its subclasses. – Super Class: The class whose features are inherited is known as a superclass (or a base class or a parent class). – Sub Class: The class that inherits the other class is known as a subclass(or a derived class, extended class, or child class). The subclass can add its own fields and methods in addition to the superclass fields and methods.
  • 8. Introduction to OOPs ■ Polymorphism – The process of representing one form in multiple forms is known as Polymorphism. – Polymorphism allows us to perform a single action in different ways. – Polymorphism allows you to define one interface and have multiple implementations – Polymorphism means many forms. – Example
  • 9. Introduction to OOPs ■ Polymorphism 1. Object - Instance of Class 2. Class - Blue print of Object 3. Encapsulation - Protecting our Data 4. Polymorphism - Different behaviors at different instances 5. Abstraction - Hiding our irrelevant Data 6. Inheritence - One property of object is acquiring to another property of object
  • 10. Procedural languages vs OOPs Procedural Oriented Programming Object-Oriented Programming In procedural programming, the program is divided into small parts called functions. In object-oriented programming, the program is divided into small parts called objects. Procedural programming follows a top-down approach. Object-oriented programming follows a bottom-up approach. There is no access specifier in procedural programming. Object-oriented programming has access specifiers like private, public, protected, etc. Adding new data and functions is not easy. Adding new data and function is easy. Procedural programming does not have any proper way of hiding data so it is less secure. Object-oriented programming provides data hiding so it is more secure. In procedural programming, there is no concept of data hiding and inheritance. In object-oriented programming, the concept of data hiding and inheritance is used. Procedural programming is used for designing medium-sized programs. Object-oriented programming is used for designing large and complex programs. Examples: C, FORTRAN, Pascal, Basic, etc. Examples: C++, Java, Python, C#, etc.
  • 11. Applications of OOPs ■ Computer graphics applications ■ Object-oriented database ■ User-interface design such as windows ■ Real-time systems ■ Simulation and modeling ■ Client-Server System ■ Artificial Intelligence System ■ CAD/CAM Software ■ Office automation system, etc..
  • 12. History of Java ■ James Gosling, Mike Sheridan, and Patrick Naughton initiated the Java language project in June 1991. The small team of sun engineers called Green Team. ■ Originally designed for small, embedded systems in electronic appliances like set-top boxes. ■ Firstly, it was called "Greentalk" by James Gosling and file extension was .gt. ■ After that, it was called Oak and was developed as a part of the Green project.
  • 13. History of Java Why Oak name for java language? ■ Why Oak? Oak is a symbol of strength and choosen as a national tree of many countries like U.S.A., France, Germany, Romania etc. ■ In 1995, Oak was renamed as "Java" because it was already a trade ■ Why they chosen java name for java language? The team gathered to choose a new name. The suggested words were "dynamic", "revolutionary", "Silk", "jolt", "DNA" etc. They wanted something that reflected the essence of the technology: revolutionary, dynamic, lively, cool, unique, and easy to spell and fun to say. ■ 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. ■ Java is an island of Indonesia where first coffee was produced (called java coffee).
  • 14. History of Java ■ Notice that Java is just a name not an acronym. ■ Originally developed by James Gosling at Sun Microsystems (which is now a subsidiary of Oracle Corporation) and released in 1995. ■ JDK 1.0 released in(January 23, 1996).
  • 15. Java Version History Version Release date JDK Beta 1995 JDK 1.0 January 1996 JDK 1.1 February 1997 J2SE 1.2 December 1998 J2SE 1.3 May 2000 J2SE 1.4 February 2002 J2SE 5.0 September 2004 Java SE 6 December 2006 Java SE 7 July 2011 Java SE 8 (LTS) March 2014 Java SE 9 September 2017 Java SE 10 March 2018 Java SE 11 (LTS) September 2018 Java SE 12 March 2019 Java SE 13 September 2019 Java SE 14 March 2020 Java SE 15 September 2020 Java SE 16 March 2021 Java SE 17 (LTS) September 2021 Java SE 18 March 2022 Java SE 19 September 2022 Java SE 20 March 2023 Java SE 21 (LTS) September 2023
  • 16. Features of Java ■ Simple – Syntax is based on C++ (so easier for programmers to learn it after C++). – Removed many confusing and/or rarely-used features e.g., explicit pointers, operator overloading etc. – No need to remove unreferenced objects because there is Automatic Garbage Collection in java. ■ Object-oriented – Object-oriented programming(OOPs) is a methodology that simplify software development and maintenance by providing some rules. – Basic concepts of OOPs are: ■ Object ■ Class ■ Inheritance ■ Polymorphism ■ Abstraction ■ Encapsulation
  • 17. Features of Java ■ Platform Independent – A platform is the hardware or software environment in which a program runs. – There are two types of platforms software-based and hardware-based. – Java provides software-based platform. The Java platform differs from most other platforms in the sense that it's a software-based platform that runs on top of other hardware-based platforms. It has two components: ■ Runtime Environment ■ API(Application Programming Interface) – java is platform independent Java code can be run on multiple platforms e.g. Windows,Linux,Sun Solaris,Mac/OS etc. – Java code is compiled by the compiler and converted into bytecode. – This bytecode is a platform independent code because it can be run on multiple platforms i.e. Write Once and Run Anywhere(WORA).
  • 19. Features of Java ■ Secured – No explicit pointer – Programs run inside virtual machine sandbox.
  • 20. Features of Java ■ Secured – Classloader- adds security by separating the package for the classes of the local file system from those that are imported from network sources – Bytecode Verifier- checks the code fragments for illegal code that can violate access right to objects – Security Manager- determines what resources a class can access such as reading and writing to the local disk
  • 21. Features of Java ■ Robust – Robust simply means strong – Java uses strong memory management – There is automatic garbage collection in java – There is exception handling and type checking mechanism in java. All these points makes java robust. ■ Architecture-neutral – There is no implementation dependent features e.g. size of primitive types is set. ■ Portable – We may carry the java bytecode to any platform. ■ Distributed – We can create distributed applications in java – RMI and EJB are used for creating distributed applications – We may access files by calling the methods from any machine on the internet.
  • 22. Features of Java ■ High-performance – This language uses Bytecode which is more faster than ordinary pointer code so Performance of this language is high. – Garbage collector, collect the unused memory space and improve the performance of application. – Java is an interpreted language, so it will never be as fast as a compiled language like C or C++. But, Java enables high performance with the use of just-in-time compiler ■ Multi-threaded – A thread is like a separate program, executing concurrently – We can write Java programs that deal with many tasks at once by defining multiple threads – The main advantage of multi-threading is that it shares the same memory. Threads are important for multi-media, Web applications etc.
  • 23. Where it is used? ■ More than 3 billion devices run java. There are many devices where java is currently used. Some of them are as follows: ■ Desktop Applications such as acrobat reader, media player, antivirus etc. ■ Web Applications such as irctc.co.in, javatpoint.com etc. ■ Enterprise Applications such as banking applications. ■ Mobile ■ Embedded System ■ Smart Card ■ Robotics ■ Games etc.
  • 24. Types of Java Applications ■ 1) Standalone Application – It is also known as desktop application or window-based application – An application that we need to install on every machine such as media player, antivirus etc. – AWT and Swing are used in java for creating standalone applications. ■ 2) Web Application – An application that runs on the server side and creates dynamic page, is called web application – Currently, servlet, jsp, struts, jsf etc. technologies are used for creating web applications in java.
  • 25. Types of Java Applications ■ 3) Enterprise Application – An application that is distributed in nature, such as banking applications etc. – It has the advantage of high level security, load balancing and clustering. In java, EJB is used for creating enterprise applications. ■ 4) Mobile Application – An application that is created for mobile devices – Currently Android and Java ME are used for creating mobile applications.
  • 26. Advantages of Java ■ Java is open source ■ Java is fast and high-performance ■ Java is easy to learn ■ Java is statically typed – Unlike languages like Python or JavaScript, Java is statically typed. – In Java, you specify whether a variable is a float, double, int, Integer, char or String. ■ Java feature addition is fast ■ Java is object-oriented ■ Java supports functional programming – Functional programming (FP) is an approach to software development that uses pure functions to create maintainable software
  • 28. Path Setting ■ Windows 10 – In Search, search for and then select: System (Control Panel) – Click the Advanced system settings link. – Click Environment Variables. In the section System Variables find the PATH environment variable and select it. Click Edit. If the PATH environment variable does not exist, click New. – In the Edit System Variable (or New System Variable) window, specify the value of the PATH environment variable. Click OK. Close all remaining windows by clicking OK. – Reopen Command prompt window, and run your java code. https://java2blog.com/how-to-set-java-path-windows-10/
  • 29. Simple Program Execution ■ Step 1: Write a program on the notepad and save it with .java (for example, DemoFile.java) extension. class DemoFile { public static void main(String args[]) { System.out.println("Hello Java"); } } ■ Step 2: Open Command Prompt. ■ Step 3:Set the directory in which the .java file is saved. ■ Step 4:Use the following command to compile the Java program. javac DemoFile.java ■ Step 5:Use the following command to run the Java program: java DemoFile
  • 31. Java Lexical Issues or Java Lexeme or Java Tokens ■ Java Tokens are the smallest unit of a Java program ■ Various Java tokens are whitespace, identifiers, literals, comments, operators, separators, and keywords. ■ Whitespace – White space can contain the characters for tabs, blanks, newlines, and form feeds. – These characters are ignored except when they serve to separate other tokens. However, blanks and tabs are significant in strings. ■ Identifiers – Identifiers are used to name things, such as classes, variables, and methods. – uppercase and lowercase letters, numbers, or the underscore and dollar-sign characters – They must not begin with a number – Java is case-sensitive
  • 32. Architecture of Java Lexical Issues ■ Literals – A constant value in Java is created by using a literal representation of it. For example, here are some literals:
  • 33. Architecture of Java Lexical Issues ■ Separators
  • 35. Typecasting in Java ■ In Java, type casting is a method or process that converts a data type into another data type ■ Types – Widening Type Casting – Narrowing Type Casting
  • 36. Typecasting in Java ■ Widening Type Casting – Converting a lower data type into a higher one is called widening type casting. It is also known as implicit conversion or casting down. It is done automatically. ■ byte -> short -> char -> int -> long -> float -> double public class Main { public static void main(String[] args) { int a=78; double d=a; System.out.println(d); } } Output: 78.0
  • 37. Typecasting in Java ■ Narrowing Type Casting – Converting a higher data type into a lower one is called narrowing type casting. It is also known as explicit conversion or casting up. It is done manually by the programmer. ■ double -> float -> long -> int -> char -> short -> byte public class Main { public static void main(String[] args) { double d=23.67; int a=(int)d; System.out.println(a); } } Output: 23
  • 39. Architecture of Java ■ Narrowing Type Casting – Converting a higher data type into a lower one is called narrowing type casting. It is also known as explicit conversion or casting up. It is done manually by the programmer. ■ double -> float -> long -> int -> char -> short -> byte public class Main { public static void main(String[] args) { double d=23.67; int a=(int)d; System.out.println(a); } } Output: 23
  • 40. JVM, JDK, JRE ■ 1. JVM stands for Java Virtual machine, JDK stands for Java development kit, and JRE stands for Java runtime environment. ■ 2. JDK is for the development environment whereas JRE is for the run time environment. ■ 3. JVM runs inside the JRE environment. JRE contains class libraries, Java Virtual Machine and other files other than development tools like compiler and debugger. ■ 4. JRE is a subset of JDK. JDK contains JRE along with development tools such as compiler, debugger, etc.