SlideShare a Scribd company logo
PROGRAMMING IN JAVA
Introduction to JAVA
Lecture 1: Genesis and overview of Java
By
Ravi Kant Sahu
Asst. Professor, LPU
Contents
• What is JAVA?
• What is OOP?
• Why Java?
• Characteristics of JAVA
• Overview of Java.
• The difference between Java and C++?
• A Simple JAVA Program
What is JAVA?
• Developed by Sun Microsystems (James Gosling)
• A general-purpose Object-Oriented language
• Based on C/C++
• Designed for easy Web/Internet applications
• Widespread acceptance
What is Object Oriented Programming?
Object-oriented programming is a method of
implementation in which programs are organized as
cooperative collections of objects, each of which
represents an instance of some class, and whose classes
are all members of one or more hierarchy of classes
united via inheritance relationships.
Principles of OOP
• All object-oriented programming languages provide
mechanisms that help you implement the object-
oriented model.
• They are:
• Encapsulation
• Inheritance
• Polymorphism
Data Encapsulation
Encapsulation is the mechanism that binds together code
and the data it manipulates, and keeps both safe from
outside interference and misuse.
class Account {
int x=10;
float withdraw();
void deposit(float amount);
float balance;
}
Advantages of Encapsulation
• Protection
• Consistency
• Allows change
Inheritance
• Inheritance is the process by which one object acquires the
properties of another object.
• A class that is derived from another class is called a subclass
(also a derived class, extended class, or child class).
• The class from which the subclass is derived is called a super
class (also a base class or a parent class).
• A class which is a subtype of a more general class is said to
be inherited from it.
Inheritance cont’d
• The sub-class inherits the base class’ data members and
member functions.
• A sub-class has all data members of its base-class plus its
own.
• A sub-class has all member functions of its base class (with
changes) plus its own.
Polymorphism
• Polymorphism refers to a programming language's ability to
process objects differently depending on their data type or
class.
• Generally, the ability to appear in many forms.
• More specifically, it is the ability to redefine methods for
derived classes.
• For example, given a base class shape, polymorphism
enables the programmer to define different area methods for
any number of derived classes, such as circles, rectangles and
triangles. No matter what shape an object is, applying the
area method to it will return the correct results.
11
Why Java?
Java is the Internet programming language.
Java enables users to develop and deploy applications
on the Internet for servers, desktop computers, and
small hand-held devices.
12
Java, Web, and Beyond
• Java Applets
• Java Web Applications
• Java can also be used to develop applications for
hand-held devices such as Palm and cell phones
13
Characteristics of Java
•Java Is Simple
•Java Is Object-Oriented
•Java Is Distributed
•Java Is Interpreted
•Java Is Robust
•Java Is Secure
•Java Is Architecture-Neutral
•Java Is Portable
•Java's Performance
•Java Is Multithreaded
•Java Is Dynamic
14
Characteristics of Java
•Java Is Simple
•Java Is Object-Oriented
•Java Is Distributed
•Java Is Interpreted
•Java Is Robust
•Java Is Secure
•Java Is Architecture-Neutral
•Java Is Portable
•Java's Performance
•Java Is Multithreaded
•Java Is Dynamic
Java is partially modeled on C++, but
greatly simplified and improved. Some
people refer to Java as "C++--" because it
is like C++ but with more functionality and
fewer negative aspects.
15
Characteristics of Java
•Java Is Simple
•Java Is Object-Oriented
•Java Is Distributed
•Java Is Interpreted
•Java Is Robust
•Java Is Secure
•Java Is Architecture-Neutral
•Java Is Portable
•Java's Performance
•Java Is Multithreaded
•Java Is Dynamic
Java is inherently object-oriented.
Although many object-oriented
languages began strictly as procedural
languages, Java was designed from
the start to be object-oriented. Object-
oriented programming (OOP) is a
popular programming approach that is
replacing traditional procedural
programming techniques.
One of the central issues in software
development is how to reuse code.
Object-oriented programming provides
great flexibility, modularity, clarity, and
reusability through encapsulation,
inheritance, and polymorphism.
16
Characteristics of Java
•Java Is Simple
•Java Is Object-Oriented
•Java Is Distributed
•Java Is Interpreted
•Java Is Robust
•Java Is Secure
•Java Is Architecture-Neutral
•Java Is Portable
•Java's Performance
•Java Is Multithreaded
•Java Is Dynamic
Distributed computing involves several
computers working together on a
network. Java is designed to make
distributed computing easy. Since
networking capability is inherently
integrated into Java, writing network
programs is like sending and receiving
data to and from a file.
17
Characteristics of Java
•Java Is Simple
•Java Is Object-Oriented
•Java Is Distributed
•Java Is Interpreted
•Java Is Robust
•Java Is Secure
•Java Is Architecture-Neutral
•Java Is Portable
•Java's Performance
•Java Is Multithreaded
•Java Is Dynamic
You need an interpreter to run Java
programs. The programs are compiled
into the Java Virtual Machine code
called bytecode. The bytecode is
machine-independent and can run on
any machine that has a Java
interpreter, which is part of the Java
Virtual Machine (JVM).
18
Characteristics of Java
•Java Is Simple
•Java Is Object-Oriented
•Java Is Distributed
•Java Is Interpreted
•Java Is Robust
•Java Is Secure
•Java Is Architecture-Neutral
•Java Is Portable
•Java's Performance
•Java Is Multithreaded
•Java Is Dynamic
Java compilers can detect many
problems that would first show up at
execution time in other languages.
Java has eliminated certain types of
error-prone programming constructs
found in other languages.
Java has a runtime exception-handling
feature to provide programming
support for robustness.
19
Characteristics of Java
•Java Is Simple
•Java Is Object-Oriented
•Java Is Distributed
•Java Is Interpreted
•Java Is Robust
•Java Is Secure
•Java Is Architecture-Neutral
•Java Is Portable
•Java's Performance
•Java Is Multithreaded
•Java Is Dynamic
Java implements several security
mechanisms to protect your system
against harm caused by stray
programs.
20
Characteristics of Java
•Java Is Simple
•Java Is Object-Oriented
•Java Is Distributed
•Java Is Interpreted
•Java Is Robust
•Java Is Secure
•Java Is Architecture-Neutral
•Java Is Portable
•Java's Performance
•Java Is Multithreaded
•Java Is Dynamic
Write once, run anywhere
With a Java Virtual Machine (JVM),
you can write one program that will
run on any platform.
21
Characteristics of Java
•Java Is Simple
•Java Is Object-Oriented
•Java Is Distributed
•Java Is Interpreted
•Java Is Robust
•Java Is Secure
•Java Is Architecture-Neutral
•Java Is Portable
•Java's Performance
•Java Is Multithreaded
•Java Is Dynamic
Because Java is architecture neutral,
Java programs are portable. They can
be run on any platform without being
recompiled.
22
Characteristics of Java
•Java Is Simple
•Java Is Object-Oriented
•Java Is Distributed
•Java Is Interpreted
•Java Is Robust
•Java Is Secure
•Java Is Architecture-Neutral
•Java Is Portable
•Java's Performance
•Java Is Multithreaded
•Java Is Dynamic
Java’s performance Because Java is
architecture neutral, Java programs are
portable. They can be run on any
platform without being recompiled.
23
Characteristics of Java
•Java Is Simple
•Java Is Object-Oriented
•Java Is Distributed
•Java Is Interpreted
•Java Is Robust
•Java Is Secure
•Java Is Architecture-Neutral
•Java Is Portable
•Java's Performance
•Java Is Multithreaded
•Java Is Dynamic
Multithread programming is smoothly
integrated in Java, whereas in other
languages you have to call procedures
specific to the operating system to enable
multithreading.
24
Characteristics of Java
•Java Is Simple
•Java Is Object-Oriented
•Java Is Distributed
•Java Is Interpreted
•Java Is Robust
•Java Is Secure
•Java Is Architecture-Neutral
•Java Is Portable
•Java's Performance
•Java Is Multithreaded
•Java Is Dynamic
Java was designed to adapt to an evolving
environment. New code can be loaded on the
fly without recompilation. There is no need for
developers to create, and for users to install,
major new software versions. New features can
be incorporated transparently as needed.
Java Disadvantages
• Slower than compiled language such as C
• an experiment in 1999 showed that Java was 3 or 4
times slower than C or C++
Origin of Java
• Generation
• James Gosling & Patrick Naughton at 1990
• Goal : to develop distributed system which is
applicable to electronic products(platform
independent)
James Gosling
• James Gosling is generally
credited as the inventor of the Java
programming language
• He was the first designer of Java
and implemented its original
compiler and virtual machine
• He is also known as the Father of
Java.
Brief History of Java
• In 1990, Sun Microsystems began an internal project known as the
Green Project to work on a new technology.
• In 1992, the Green Project was spun off and its interest directed
toward building highly interactive devices for the cable TV industry.
This failed to materialize.
• In 1994, the focus of the original team was re-targeted, this time to
the use of Internet technology. A small web browser called HotJava
was written.
• Oak was renamed to Java after learning that Oak had already been
trademarked.
• In 1995, Java was first publicly released.
• In 1996, Java Development Kit (JDK) 1.0 was released.
• In 2002, JDK 1.4 (codename Merlin) was released, the most
widely used version.
• In 2004, JDK 5.0 (codename Tiger) was released, the latest
version.
30
JDK Versions
•JDK 1.02 (1995) … 250 classes
•JDK 1.1 (1996) … 500 classes
•JDK 1.2 (1998) … 2300 classes
•JDK 1.3 (2000) … 2300 classes
•JDK 1.4 (2002) … 2300 classes
•JDK 1.5 (2004) … 3500 classes
•JDK 1.6 (2006) … 3500 classes
•JDK 1.7 (2011) … 3500 classes
Java Platform Editions
• A Java Platform is the set of APIs, class libraries, and
other programs used in developing Java programs for
specific applications.
There are 3 Java Platform Editions
1. Java 2 Platform, Standard Edition (J2SE)
• Core Java Platform targeting applications running on
workstations
2. Java 2 Platform, Enterprise Edition (J2EE)
• Component-based approach to developing distributed,
multi-tier enterprise applications
3. Java 2 Platform, Micro Edition (J2ME)
• Targeted at small, stand-alone or connectable
consumer and embedded devices
Java Development Kit (JDK)
Java Development Kit (JDK)
• Is a set of Java tools for developing Java programs
• Consists of Java API, Java Compiler, and JVM
Java Application Programming Interface (API)
• Is prewritten code, organized into packages of similar topics
Java Virtual Machine
Java API
MyProgram.java
Hardware - Based Platform
JDK
JRE
Java Virtual
Machine (JVM) is
an execution engine
that runs compiled
Java byte code.
Structure Overview of Java
Hardware Platform
OS Platform
Java Virtual Machine
Java APIs
Sparc, Intel, Mac, HP ...
Solaris, Windows, Mac, Linux ..
OS application Language Primitives
Auxiliary Window Tookit
JDBCRMI
Servlet API JavaBeans
Etc.
JDBC Drivers
Web Server
35
Java life cycle
•Java programs normally undergo four phases
• Edit
•Programmer writes program (and stores program on
disk)
• Compile
•Compiler creates byte-codes from program (.class)
• Load
•Class loader stores byte-codes in memory
• Execute
•Interpreter: translates byte-codes into machine language
36
Java life cycle
• Source code (.java)
• Compiled into Byte codes (.class) , as (.exe) in c++
– The Java Application Programming Interface
(API)
• a large collection of ready-made software components.
It is grouped into libraries of related classes and
interfaces; these libraries are known as packages.
– Java Virtual Machine (JVM)
– Machine code
37
Java life, cont..
38
JVM an Portability
• Through the Java VM, the same application is capable of
running on multiple platforms.
39
A Simple Java Program
//This program prints Welcome to Java!
public class Welcome
{
public static void main(String[] args)
{
System.out.println("Welcome to Java!");
}
}
40
Compiling Java Source Code
Java was designed to run object programs on any platform.
With Java, you write the program once, and compile the source
program into a special type of object code, known as bytecode.
The byte-code can then run on any computer with a Java Virtual
Machine, as shown below.
Java Virtual Machine is a software
that interprets Java byte-code.
Java Bytecode
Java Virtual
Machine
Any
Computer

More Related Content

What's hot

core java
core javacore java
core java
Roushan Sinha
 
Basic Java Programming
Basic Java ProgrammingBasic Java Programming
Basic Java Programming
Math-Circle
 
Genesis and Overview of Java
Genesis and Overview of Java Genesis and Overview of Java
Genesis and Overview of Java Ravi_Kant_Sahu
 
Introduction to JAVA
Introduction to JAVAIntroduction to JAVA
Introduction to JAVA
ParminderKundu
 
Introduction to java
Introduction to java Introduction to java
Introduction to java
Sandeep Rawat
 
Arrays in java
Arrays in javaArrays in java
Arrays in java
Arzath Areeff
 
Core java complete ppt(note)
Core java  complete  ppt(note)Core java  complete  ppt(note)
Core java complete ppt(note)
arvind pandey
 
Presentation on Core java
Presentation on Core javaPresentation on Core java
Presentation on Core java
mahir jain
 
Applets in java
Applets in javaApplets in java
Applets in java
Wani Zahoor
 
Java-java virtual machine
Java-java virtual machineJava-java virtual machine
Java-java virtual machine
Surbhi Panhalkar
 
Java Presentation
Java PresentationJava Presentation
Java Presentationpm2214
 
Java Data Types
Java Data TypesJava Data Types
Java Data Types
Spotle.ai
 
oops concept in java | object oriented programming in java
oops concept in java | object oriented programming in javaoops concept in java | object oriented programming in java
oops concept in java | object oriented programming in java
CPD INDIA
 
Basics of JAVA programming
Basics of JAVA programmingBasics of JAVA programming
Basics of JAVA programming
Elizabeth Thomas
 
Introduction to java
Introduction to javaIntroduction to java
Introduction to java
Ajay Sharma
 
Introduction to java
Introduction to javaIntroduction to java
Introduction to java
Saba Ameer
 
Applets
AppletsApplets
Inheritance in java
Inheritance in javaInheritance in java
Inheritance in java
RahulAnanda1
 
Interface in java
Interface in javaInterface in java
Interface in java
PhD Research Scholar
 

What's hot (20)

core java
core javacore java
core java
 
Basic Java Programming
Basic Java ProgrammingBasic Java Programming
Basic Java Programming
 
Genesis and Overview of Java
Genesis and Overview of Java Genesis and Overview of Java
Genesis and Overview of Java
 
Introduction to JAVA
Introduction to JAVAIntroduction to JAVA
Introduction to JAVA
 
Introduction to java
Introduction to java Introduction to java
Introduction to java
 
Arrays in java
Arrays in javaArrays in java
Arrays in java
 
Core java complete ppt(note)
Core java  complete  ppt(note)Core java  complete  ppt(note)
Core java complete ppt(note)
 
Presentation on Core java
Presentation on Core javaPresentation on Core java
Presentation on Core java
 
Applets in java
Applets in javaApplets in java
Applets in java
 
Java-java virtual machine
Java-java virtual machineJava-java virtual machine
Java-java virtual machine
 
Java Presentation
Java PresentationJava Presentation
Java Presentation
 
Java Data Types
Java Data TypesJava Data Types
Java Data Types
 
oops concept in java | object oriented programming in java
oops concept in java | object oriented programming in javaoops concept in java | object oriented programming in java
oops concept in java | object oriented programming in java
 
Basics of JAVA programming
Basics of JAVA programmingBasics of JAVA programming
Basics of JAVA programming
 
Introduction to java
Introduction to javaIntroduction to java
Introduction to java
 
Introduction to java
Introduction to javaIntroduction to java
Introduction to java
 
Features of java
Features of javaFeatures of java
Features of java
 
Applets
AppletsApplets
Applets
 
Inheritance in java
Inheritance in javaInheritance in java
Inheritance in java
 
Interface in java
Interface in javaInterface in java
Interface in java
 

Viewers also liked

Introduction to Java Programming Language
Introduction to Java Programming LanguageIntroduction to Java Programming Language
Introduction to Java Programming Language
jaimefrozr
 
Java Servlets
Java ServletsJava Servlets
Java ServletsNitin Pai
 
Java Servlets
Java ServletsJava Servlets
Java Servlets
BG Java EE Course
 
Java programming course for beginners
Java programming course for beginnersJava programming course for beginners
Java programming course for beginners
Eduonix Learning Solutions
 
Core java concepts
Core java  conceptsCore java  concepts
Core java concepts
Ram132
 
Introduction to java
Introduction to javaIntroduction to java
Introduction to java
Veerabadra Badra
 

Viewers also liked (8)

Java basic
Java basicJava basic
Java basic
 
Introduction to Java Programming Language
Introduction to Java Programming LanguageIntroduction to Java Programming Language
Introduction to Java Programming Language
 
Java Servlets
Java ServletsJava Servlets
Java Servlets
 
Java Servlets
Java ServletsJava Servlets
Java Servlets
 
Java programming course for beginners
Java programming course for beginnersJava programming course for beginners
Java programming course for beginners
 
Core java concepts
Core java  conceptsCore java  concepts
Core java concepts
 
Core java slides
Core java slidesCore java slides
Core java slides
 
Introduction to java
Introduction to javaIntroduction to java
Introduction to java
 

Similar to Introduction to Java Programming

L1 basics
L1 basicsL1 basics
L1 basics
teach4uin
 
Chapter-1 Introduction.pptx
Chapter-1 Introduction.pptxChapter-1 Introduction.pptx
Chapter-1 Introduction.pptx
SumanBhandari40
 
Introduction to Java
Introduction to JavaIntroduction to Java
Introduction to Java
Soumya Suman
 
Introduction to java
Introduction to javaIntroduction to java
Introduction to java
Krunali Gandhi
 
1 java introduction
1 java introduction1 java introduction
1 java introduction
abdullah al mahamud rosi
 
1 java intro
1 java intro1 java intro
U1 JAVA.pptx
U1 JAVA.pptxU1 JAVA.pptx
U1 JAVA.pptx
madan r
 
21110113913.pptxElectricity is a type of
21110113913.pptxElectricity is a type of21110113913.pptxElectricity is a type of
21110113913.pptxElectricity is a type of
pandeyritik310
 
itft-Java evolution
itft-Java evolutionitft-Java evolution
itft-Java evolution
Atul Sehdev
 
JAVA object oriented programming (oop).ppt
JAVA object oriented programming (oop).pptJAVA object oriented programming (oop).ppt
JAVA object oriented programming (oop).ppt
AliyaJav
 
JAVA INTRODUCTION - 1
JAVA INTRODUCTION - 1JAVA INTRODUCTION - 1
JAVA INTRODUCTION - 1
Infoviaan Technologies
 
PPS Java Overview Unit I.ppt
PPS Java Overview Unit I.pptPPS Java Overview Unit I.ppt
PPS Java Overview Unit I.ppt
RajeshSukte1
 
PPS Java Overview Unit I.ppt
PPS Java Overview Unit I.pptPPS Java Overview Unit I.ppt
PPS Java Overview Unit I.ppt
CDSukte
 
Java Introduction
Java IntroductionJava Introduction
Java Introduction
sunmitraeducation
 
Java fundamentals
Java fundamentalsJava fundamentals
Java fundamentals
Om Ganesh
 
Introduction to java and it's opportunities
Introduction to java and it's opportunities Introduction to java and it's opportunities
Introduction to java and it's opportunities
VigneshManikandan11
 
Basic of Java
Basic of JavaBasic of Java
Basic of Java
Ajeet Kumar Verma
 
Lecture-01 _Java Introduction CS 441 Fast
Lecture-01 _Java Introduction CS 441 FastLecture-01 _Java Introduction CS 441 Fast
Lecture-01 _Java Introduction CS 441 Fast
UzairSaeed18
 
java completed units.docx
java completed units.docxjava completed units.docx
java completed units.docx
SATHYAKALAKSKPRCASBS
 

Similar to Introduction to Java Programming (20)

L1 basics
L1 basicsL1 basics
L1 basics
 
Chapter-1 Introduction.pptx
Chapter-1 Introduction.pptxChapter-1 Introduction.pptx
Chapter-1 Introduction.pptx
 
Introduction to Java
Introduction to JavaIntroduction to Java
Introduction to Java
 
Introduction to java
Introduction to javaIntroduction to java
Introduction to java
 
1 java introduction
1 java introduction1 java introduction
1 java introduction
 
1 java intro
1 java intro1 java intro
1 java intro
 
U1 JAVA.pptx
U1 JAVA.pptxU1 JAVA.pptx
U1 JAVA.pptx
 
Java (1)
Java (1)Java (1)
Java (1)
 
21110113913.pptxElectricity is a type of
21110113913.pptxElectricity is a type of21110113913.pptxElectricity is a type of
21110113913.pptxElectricity is a type of
 
itft-Java evolution
itft-Java evolutionitft-Java evolution
itft-Java evolution
 
JAVA object oriented programming (oop).ppt
JAVA object oriented programming (oop).pptJAVA object oriented programming (oop).ppt
JAVA object oriented programming (oop).ppt
 
JAVA INTRODUCTION - 1
JAVA INTRODUCTION - 1JAVA INTRODUCTION - 1
JAVA INTRODUCTION - 1
 
PPS Java Overview Unit I.ppt
PPS Java Overview Unit I.pptPPS Java Overview Unit I.ppt
PPS Java Overview Unit I.ppt
 
PPS Java Overview Unit I.ppt
PPS Java Overview Unit I.pptPPS Java Overview Unit I.ppt
PPS Java Overview Unit I.ppt
 
Java Introduction
Java IntroductionJava Introduction
Java Introduction
 
Java fundamentals
Java fundamentalsJava fundamentals
Java fundamentals
 
Introduction to java and it's opportunities
Introduction to java and it's opportunities Introduction to java and it's opportunities
Introduction to java and it's opportunities
 
Basic of Java
Basic of JavaBasic of Java
Basic of Java
 
Lecture-01 _Java Introduction CS 441 Fast
Lecture-01 _Java Introduction CS 441 FastLecture-01 _Java Introduction CS 441 Fast
Lecture-01 _Java Introduction CS 441 Fast
 
java completed units.docx
java completed units.docxjava completed units.docx
java completed units.docx
 

More from Ravi Kant Sahu

Distributed Programming (RMI)
Distributed Programming (RMI)Distributed Programming (RMI)
Distributed Programming (RMI)Ravi Kant Sahu
 
String handling(string buffer class)
String handling(string buffer class)String handling(string buffer class)
String handling(string buffer class)Ravi Kant Sahu
 
String handling(string class)
String handling(string class)String handling(string class)
String handling(string class)Ravi Kant Sahu
 

More from Ravi Kant Sahu (12)

Event handling
Event handlingEvent handling
Event handling
 
Multi threading
Multi threadingMulti threading
Multi threading
 
Distributed Programming (RMI)
Distributed Programming (RMI)Distributed Programming (RMI)
Distributed Programming (RMI)
 
Networking
NetworkingNetworking
Networking
 
Servlets
ServletsServlets
Servlets
 
Java beans
Java beansJava beans
Java beans
 
Applets
AppletsApplets
Applets
 
Internationalization
InternationalizationInternationalization
Internationalization
 
Exception handling
Exception handlingException handling
Exception handling
 
Packages
PackagesPackages
Packages
 
String handling(string buffer class)
String handling(string buffer class)String handling(string buffer class)
String handling(string buffer class)
 
String handling(string class)
String handling(string class)String handling(string class)
String handling(string class)
 

Recently uploaded

Palestine last event orientationfvgnh .pptx
Palestine last event orientationfvgnh .pptxPalestine last event orientationfvgnh .pptx
Palestine last event orientationfvgnh .pptx
RaedMohamed3
 
Chapter 3 - Islamic Banking Products and Services.pptx
Chapter 3 - Islamic Banking Products and Services.pptxChapter 3 - Islamic Banking Products and Services.pptx
Chapter 3 - Islamic Banking Products and Services.pptx
Mohd Adib Abd Muin, Senior Lecturer at Universiti Utara Malaysia
 
Additional Benefits for Employee Website.pdf
Additional Benefits for Employee Website.pdfAdditional Benefits for Employee Website.pdf
Additional Benefits for Employee Website.pdf
joachimlavalley1
 
Cambridge International AS A Level Biology Coursebook - EBook (MaryFosbery J...
Cambridge International AS  A Level Biology Coursebook - EBook (MaryFosbery J...Cambridge International AS  A Level Biology Coursebook - EBook (MaryFosbery J...
Cambridge International AS A Level Biology Coursebook - EBook (MaryFosbery J...
AzmatAli747758
 
MARUTI SUZUKI- A Successful Joint Venture in India.pptx
MARUTI SUZUKI- A Successful Joint Venture in India.pptxMARUTI SUZUKI- A Successful Joint Venture in India.pptx
MARUTI SUZUKI- A Successful Joint Venture in India.pptx
bennyroshan06
 
The Art Pastor's Guide to Sabbath | Steve Thomason
The Art Pastor's Guide to Sabbath | Steve ThomasonThe Art Pastor's Guide to Sabbath | Steve Thomason
The Art Pastor's Guide to Sabbath | Steve Thomason
Steve Thomason
 
Students, digital devices and success - Andreas Schleicher - 27 May 2024..pptx
Students, digital devices and success - Andreas Schleicher - 27 May 2024..pptxStudents, digital devices and success - Andreas Schleicher - 27 May 2024..pptx
Students, digital devices and success - Andreas Schleicher - 27 May 2024..pptx
EduSkills OECD
 
The Roman Empire A Historical Colossus.pdf
The Roman Empire A Historical Colossus.pdfThe Roman Empire A Historical Colossus.pdf
The Roman Empire A Historical Colossus.pdf
kaushalkr1407
 
Polish students' mobility in the Czech Republic
Polish students' mobility in the Czech RepublicPolish students' mobility in the Czech Republic
Polish students' mobility in the Czech Republic
Anna Sz.
 
Fish and Chips - have they had their chips
Fish and Chips - have they had their chipsFish and Chips - have they had their chips
Fish and Chips - have they had their chips
GeoBlogs
 
The French Revolution Class 9 Study Material pdf free download
The French Revolution Class 9 Study Material pdf free downloadThe French Revolution Class 9 Study Material pdf free download
The French Revolution Class 9 Study Material pdf free download
Vivekanand Anglo Vedic Academy
 
special B.ed 2nd year old paper_20240531.pdf
special B.ed 2nd year old paper_20240531.pdfspecial B.ed 2nd year old paper_20240531.pdf
special B.ed 2nd year old paper_20240531.pdf
Special education needs
 
Digital Tools and AI for Teaching Learning and Research
Digital Tools and AI for Teaching Learning and ResearchDigital Tools and AI for Teaching Learning and Research
Digital Tools and AI for Teaching Learning and Research
Vikramjit Singh
 
Operation Blue Star - Saka Neela Tara
Operation Blue Star   -  Saka Neela TaraOperation Blue Star   -  Saka Neela Tara
Operation Blue Star - Saka Neela Tara
Balvir Singh
 
1.4 modern child centered education - mahatma gandhi-2.pptx
1.4 modern child centered education - mahatma gandhi-2.pptx1.4 modern child centered education - mahatma gandhi-2.pptx
1.4 modern child centered education - mahatma gandhi-2.pptx
JosvitaDsouza2
 
The Challenger.pdf DNHS Official Publication
The Challenger.pdf DNHS Official PublicationThe Challenger.pdf DNHS Official Publication
The Challenger.pdf DNHS Official Publication
Delapenabediema
 
The approach at University of Liverpool.pptx
The approach at University of Liverpool.pptxThe approach at University of Liverpool.pptx
The approach at University of Liverpool.pptx
Jisc
 
Sectors of the Indian Economy - Class 10 Study Notes pdf
Sectors of the Indian Economy - Class 10 Study Notes pdfSectors of the Indian Economy - Class 10 Study Notes pdf
Sectors of the Indian Economy - Class 10 Study Notes pdf
Vivekanand Anglo Vedic Academy
 
Unit 8 - Information and Communication Technology (Paper I).pdf
Unit 8 - Information and Communication Technology (Paper I).pdfUnit 8 - Information and Communication Technology (Paper I).pdf
Unit 8 - Information and Communication Technology (Paper I).pdf
Thiyagu K
 
TESDA TM1 REVIEWER FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...
TESDA TM1 REVIEWER  FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...TESDA TM1 REVIEWER  FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...
TESDA TM1 REVIEWER FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...
EugeneSaldivar
 

Recently uploaded (20)

Palestine last event orientationfvgnh .pptx
Palestine last event orientationfvgnh .pptxPalestine last event orientationfvgnh .pptx
Palestine last event orientationfvgnh .pptx
 
Chapter 3 - Islamic Banking Products and Services.pptx
Chapter 3 - Islamic Banking Products and Services.pptxChapter 3 - Islamic Banking Products and Services.pptx
Chapter 3 - Islamic Banking Products and Services.pptx
 
Additional Benefits for Employee Website.pdf
Additional Benefits for Employee Website.pdfAdditional Benefits for Employee Website.pdf
Additional Benefits for Employee Website.pdf
 
Cambridge International AS A Level Biology Coursebook - EBook (MaryFosbery J...
Cambridge International AS  A Level Biology Coursebook - EBook (MaryFosbery J...Cambridge International AS  A Level Biology Coursebook - EBook (MaryFosbery J...
Cambridge International AS A Level Biology Coursebook - EBook (MaryFosbery J...
 
MARUTI SUZUKI- A Successful Joint Venture in India.pptx
MARUTI SUZUKI- A Successful Joint Venture in India.pptxMARUTI SUZUKI- A Successful Joint Venture in India.pptx
MARUTI SUZUKI- A Successful Joint Venture in India.pptx
 
The Art Pastor's Guide to Sabbath | Steve Thomason
The Art Pastor's Guide to Sabbath | Steve ThomasonThe Art Pastor's Guide to Sabbath | Steve Thomason
The Art Pastor's Guide to Sabbath | Steve Thomason
 
Students, digital devices and success - Andreas Schleicher - 27 May 2024..pptx
Students, digital devices and success - Andreas Schleicher - 27 May 2024..pptxStudents, digital devices and success - Andreas Schleicher - 27 May 2024..pptx
Students, digital devices and success - Andreas Schleicher - 27 May 2024..pptx
 
The Roman Empire A Historical Colossus.pdf
The Roman Empire A Historical Colossus.pdfThe Roman Empire A Historical Colossus.pdf
The Roman Empire A Historical Colossus.pdf
 
Polish students' mobility in the Czech Republic
Polish students' mobility in the Czech RepublicPolish students' mobility in the Czech Republic
Polish students' mobility in the Czech Republic
 
Fish and Chips - have they had their chips
Fish and Chips - have they had their chipsFish and Chips - have they had their chips
Fish and Chips - have they had their chips
 
The French Revolution Class 9 Study Material pdf free download
The French Revolution Class 9 Study Material pdf free downloadThe French Revolution Class 9 Study Material pdf free download
The French Revolution Class 9 Study Material pdf free download
 
special B.ed 2nd year old paper_20240531.pdf
special B.ed 2nd year old paper_20240531.pdfspecial B.ed 2nd year old paper_20240531.pdf
special B.ed 2nd year old paper_20240531.pdf
 
Digital Tools and AI for Teaching Learning and Research
Digital Tools and AI for Teaching Learning and ResearchDigital Tools and AI for Teaching Learning and Research
Digital Tools and AI for Teaching Learning and Research
 
Operation Blue Star - Saka Neela Tara
Operation Blue Star   -  Saka Neela TaraOperation Blue Star   -  Saka Neela Tara
Operation Blue Star - Saka Neela Tara
 
1.4 modern child centered education - mahatma gandhi-2.pptx
1.4 modern child centered education - mahatma gandhi-2.pptx1.4 modern child centered education - mahatma gandhi-2.pptx
1.4 modern child centered education - mahatma gandhi-2.pptx
 
The Challenger.pdf DNHS Official Publication
The Challenger.pdf DNHS Official PublicationThe Challenger.pdf DNHS Official Publication
The Challenger.pdf DNHS Official Publication
 
The approach at University of Liverpool.pptx
The approach at University of Liverpool.pptxThe approach at University of Liverpool.pptx
The approach at University of Liverpool.pptx
 
Sectors of the Indian Economy - Class 10 Study Notes pdf
Sectors of the Indian Economy - Class 10 Study Notes pdfSectors of the Indian Economy - Class 10 Study Notes pdf
Sectors of the Indian Economy - Class 10 Study Notes pdf
 
Unit 8 - Information and Communication Technology (Paper I).pdf
Unit 8 - Information and Communication Technology (Paper I).pdfUnit 8 - Information and Communication Technology (Paper I).pdf
Unit 8 - Information and Communication Technology (Paper I).pdf
 
TESDA TM1 REVIEWER FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...
TESDA TM1 REVIEWER  FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...TESDA TM1 REVIEWER  FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...
TESDA TM1 REVIEWER FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...
 

Introduction to Java Programming

  • 1. PROGRAMMING IN JAVA Introduction to JAVA Lecture 1: Genesis and overview of Java By Ravi Kant Sahu Asst. Professor, LPU
  • 2. Contents • What is JAVA? • What is OOP? • Why Java? • Characteristics of JAVA • Overview of Java. • The difference between Java and C++? • A Simple JAVA Program
  • 3. What is JAVA? • Developed by Sun Microsystems (James Gosling) • A general-purpose Object-Oriented language • Based on C/C++ • Designed for easy Web/Internet applications • Widespread acceptance
  • 4. What is Object Oriented Programming? Object-oriented programming is a method of implementation in which programs are organized as cooperative collections of objects, each of which represents an instance of some class, and whose classes are all members of one or more hierarchy of classes united via inheritance relationships.
  • 5. Principles of OOP • All object-oriented programming languages provide mechanisms that help you implement the object- oriented model. • They are: • Encapsulation • Inheritance • Polymorphism
  • 6. Data Encapsulation Encapsulation is the mechanism that binds together code and the data it manipulates, and keeps both safe from outside interference and misuse. class Account { int x=10; float withdraw(); void deposit(float amount); float balance; }
  • 7. Advantages of Encapsulation • Protection • Consistency • Allows change
  • 8. Inheritance • Inheritance is the process by which one object acquires the properties of another object. • A class that is derived from another class is called a subclass (also a derived class, extended class, or child class). • The class from which the subclass is derived is called a super class (also a base class or a parent class). • A class which is a subtype of a more general class is said to be inherited from it.
  • 9. Inheritance cont’d • The sub-class inherits the base class’ data members and member functions. • A sub-class has all data members of its base-class plus its own. • A sub-class has all member functions of its base class (with changes) plus its own.
  • 10. Polymorphism • Polymorphism refers to a programming language's ability to process objects differently depending on their data type or class. • Generally, the ability to appear in many forms. • More specifically, it is the ability to redefine methods for derived classes. • For example, given a base class shape, polymorphism enables the programmer to define different area methods for any number of derived classes, such as circles, rectangles and triangles. No matter what shape an object is, applying the area method to it will return the correct results.
  • 11. 11 Why Java? Java is the Internet programming language. Java enables users to develop and deploy applications on the Internet for servers, desktop computers, and small hand-held devices.
  • 12. 12 Java, Web, and Beyond • Java Applets • Java Web Applications • Java can also be used to develop applications for hand-held devices such as Palm and cell phones
  • 13. 13 Characteristics of Java •Java Is Simple •Java Is Object-Oriented •Java Is Distributed •Java Is Interpreted •Java Is Robust •Java Is Secure •Java Is Architecture-Neutral •Java Is Portable •Java's Performance •Java Is Multithreaded •Java Is Dynamic
  • 14. 14 Characteristics of Java •Java Is Simple •Java Is Object-Oriented •Java Is Distributed •Java Is Interpreted •Java Is Robust •Java Is Secure •Java Is Architecture-Neutral •Java Is Portable •Java's Performance •Java Is Multithreaded •Java Is Dynamic Java is partially modeled on C++, but greatly simplified and improved. Some people refer to Java as "C++--" because it is like C++ but with more functionality and fewer negative aspects.
  • 15. 15 Characteristics of Java •Java Is Simple •Java Is Object-Oriented •Java Is Distributed •Java Is Interpreted •Java Is Robust •Java Is Secure •Java Is Architecture-Neutral •Java Is Portable •Java's Performance •Java Is Multithreaded •Java Is Dynamic Java is inherently object-oriented. Although many object-oriented languages began strictly as procedural languages, Java was designed from the start to be object-oriented. Object- oriented programming (OOP) is a popular programming approach that is replacing traditional procedural programming techniques. One of the central issues in software development is how to reuse code. Object-oriented programming provides great flexibility, modularity, clarity, and reusability through encapsulation, inheritance, and polymorphism.
  • 16. 16 Characteristics of Java •Java Is Simple •Java Is Object-Oriented •Java Is Distributed •Java Is Interpreted •Java Is Robust •Java Is Secure •Java Is Architecture-Neutral •Java Is Portable •Java's Performance •Java Is Multithreaded •Java Is Dynamic Distributed computing involves several computers working together on a network. Java is designed to make distributed computing easy. Since networking capability is inherently integrated into Java, writing network programs is like sending and receiving data to and from a file.
  • 17. 17 Characteristics of Java •Java Is Simple •Java Is Object-Oriented •Java Is Distributed •Java Is Interpreted •Java Is Robust •Java Is Secure •Java Is Architecture-Neutral •Java Is Portable •Java's Performance •Java Is Multithreaded •Java Is Dynamic You need an interpreter to run Java programs. The programs are compiled into the Java Virtual Machine code called bytecode. The bytecode is machine-independent and can run on any machine that has a Java interpreter, which is part of the Java Virtual Machine (JVM).
  • 18. 18 Characteristics of Java •Java Is Simple •Java Is Object-Oriented •Java Is Distributed •Java Is Interpreted •Java Is Robust •Java Is Secure •Java Is Architecture-Neutral •Java Is Portable •Java's Performance •Java Is Multithreaded •Java Is Dynamic Java compilers can detect many problems that would first show up at execution time in other languages. Java has eliminated certain types of error-prone programming constructs found in other languages. Java has a runtime exception-handling feature to provide programming support for robustness.
  • 19. 19 Characteristics of Java •Java Is Simple •Java Is Object-Oriented •Java Is Distributed •Java Is Interpreted •Java Is Robust •Java Is Secure •Java Is Architecture-Neutral •Java Is Portable •Java's Performance •Java Is Multithreaded •Java Is Dynamic Java implements several security mechanisms to protect your system against harm caused by stray programs.
  • 20. 20 Characteristics of Java •Java Is Simple •Java Is Object-Oriented •Java Is Distributed •Java Is Interpreted •Java Is Robust •Java Is Secure •Java Is Architecture-Neutral •Java Is Portable •Java's Performance •Java Is Multithreaded •Java Is Dynamic Write once, run anywhere With a Java Virtual Machine (JVM), you can write one program that will run on any platform.
  • 21. 21 Characteristics of Java •Java Is Simple •Java Is Object-Oriented •Java Is Distributed •Java Is Interpreted •Java Is Robust •Java Is Secure •Java Is Architecture-Neutral •Java Is Portable •Java's Performance •Java Is Multithreaded •Java Is Dynamic Because Java is architecture neutral, Java programs are portable. They can be run on any platform without being recompiled.
  • 22. 22 Characteristics of Java •Java Is Simple •Java Is Object-Oriented •Java Is Distributed •Java Is Interpreted •Java Is Robust •Java Is Secure •Java Is Architecture-Neutral •Java Is Portable •Java's Performance •Java Is Multithreaded •Java Is Dynamic Java’s performance Because Java is architecture neutral, Java programs are portable. They can be run on any platform without being recompiled.
  • 23. 23 Characteristics of Java •Java Is Simple •Java Is Object-Oriented •Java Is Distributed •Java Is Interpreted •Java Is Robust •Java Is Secure •Java Is Architecture-Neutral •Java Is Portable •Java's Performance •Java Is Multithreaded •Java Is Dynamic Multithread programming is smoothly integrated in Java, whereas in other languages you have to call procedures specific to the operating system to enable multithreading.
  • 24. 24 Characteristics of Java •Java Is Simple •Java Is Object-Oriented •Java Is Distributed •Java Is Interpreted •Java Is Robust •Java Is Secure •Java Is Architecture-Neutral •Java Is Portable •Java's Performance •Java Is Multithreaded •Java Is Dynamic Java was designed to adapt to an evolving environment. New code can be loaded on the fly without recompilation. There is no need for developers to create, and for users to install, major new software versions. New features can be incorporated transparently as needed.
  • 25. Java Disadvantages • Slower than compiled language such as C • an experiment in 1999 showed that Java was 3 or 4 times slower than C or C++
  • 26. Origin of Java • Generation • James Gosling & Patrick Naughton at 1990 • Goal : to develop distributed system which is applicable to electronic products(platform independent)
  • 27. James Gosling • James Gosling is generally credited as the inventor of the Java programming language • He was the first designer of Java and implemented its original compiler and virtual machine • He is also known as the Father of Java.
  • 28. Brief History of Java • In 1990, Sun Microsystems began an internal project known as the Green Project to work on a new technology. • In 1992, the Green Project was spun off and its interest directed toward building highly interactive devices for the cable TV industry. This failed to materialize. • In 1994, the focus of the original team was re-targeted, this time to the use of Internet technology. A small web browser called HotJava was written. • Oak was renamed to Java after learning that Oak had already been trademarked.
  • 29. • In 1995, Java was first publicly released. • In 1996, Java Development Kit (JDK) 1.0 was released. • In 2002, JDK 1.4 (codename Merlin) was released, the most widely used version. • In 2004, JDK 5.0 (codename Tiger) was released, the latest version.
  • 30. 30 JDK Versions •JDK 1.02 (1995) … 250 classes •JDK 1.1 (1996) … 500 classes •JDK 1.2 (1998) … 2300 classes •JDK 1.3 (2000) … 2300 classes •JDK 1.4 (2002) … 2300 classes •JDK 1.5 (2004) … 3500 classes •JDK 1.6 (2006) … 3500 classes •JDK 1.7 (2011) … 3500 classes
  • 31. Java Platform Editions • A Java Platform is the set of APIs, class libraries, and other programs used in developing Java programs for specific applications.
  • 32. There are 3 Java Platform Editions 1. Java 2 Platform, Standard Edition (J2SE) • Core Java Platform targeting applications running on workstations 2. Java 2 Platform, Enterprise Edition (J2EE) • Component-based approach to developing distributed, multi-tier enterprise applications 3. Java 2 Platform, Micro Edition (J2ME) • Targeted at small, stand-alone or connectable consumer and embedded devices
  • 33. Java Development Kit (JDK) Java Development Kit (JDK) • Is a set of Java tools for developing Java programs • Consists of Java API, Java Compiler, and JVM Java Application Programming Interface (API) • Is prewritten code, organized into packages of similar topics Java Virtual Machine Java API MyProgram.java Hardware - Based Platform JDK JRE Java Virtual Machine (JVM) is an execution engine that runs compiled Java byte code.
  • 34. Structure Overview of Java Hardware Platform OS Platform Java Virtual Machine Java APIs Sparc, Intel, Mac, HP ... Solaris, Windows, Mac, Linux .. OS application Language Primitives Auxiliary Window Tookit JDBCRMI Servlet API JavaBeans Etc. JDBC Drivers Web Server
  • 35. 35 Java life cycle •Java programs normally undergo four phases • Edit •Programmer writes program (and stores program on disk) • Compile •Compiler creates byte-codes from program (.class) • Load •Class loader stores byte-codes in memory • Execute •Interpreter: translates byte-codes into machine language
  • 36. 36 Java life cycle • Source code (.java) • Compiled into Byte codes (.class) , as (.exe) in c++ – The Java Application Programming Interface (API) • a large collection of ready-made software components. It is grouped into libraries of related classes and interfaces; these libraries are known as packages. – Java Virtual Machine (JVM) – Machine code
  • 38. 38 JVM an Portability • Through the Java VM, the same application is capable of running on multiple platforms.
  • 39. 39 A Simple Java Program //This program prints Welcome to Java! public class Welcome { public static void main(String[] args) { System.out.println("Welcome to Java!"); } }
  • 40. 40 Compiling Java Source Code Java was designed to run object programs on any platform. With Java, you write the program once, and compile the source program into a special type of object code, known as bytecode. The byte-code can then run on any computer with a Java Virtual Machine, as shown below. Java Virtual Machine is a software that interprets Java byte-code. Java Bytecode Java Virtual Machine Any Computer