0% found this document useful (0 votes)
21 views

Lecture 1

The document provides an overview of object-oriented programming with Java. It discusses Java's history from its creation at Sun Microsystems in 1991 to its current ownership by Oracle. It then covers key features of Java like being simple, object-oriented, portable, secure, and garbage collected. The document also examines Java editions, how to create, compile and run Java programs, and the anatomy of a Java program including comments, packages, and statements.

Uploaded by

Malika Jubeen
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
21 views

Lecture 1

The document provides an overview of object-oriented programming with Java. It discusses Java's history from its creation at Sun Microsystems in 1991 to its current ownership by Oracle. It then covers key features of Java like being simple, object-oriented, portable, secure, and garbage collected. The document also examines Java editions, how to create, compile and run Java programs, and the anatomy of a Java program including comments, packages, and statements.

Uploaded by

Malika Jubeen
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 18

CMP-2123 Object Oriented Programming

OOP with Java


Lecture # 1

Muhammad Bilal
History

• In 1991, Java was developed by a team led by James Gosling and


Sun Microsystems for use in embedded chips.
• Sun microsystems was purchased by oracle (Oak) in 2010.
• Java, May 20, 1995, Sun World, redesigned for web applications.
• HotJava ( first Java-enabled Web browser )
Version History of Java
Features of Java

• Java is simple
• Java is object-oriented
• Java is distributed
• Java is interpreted
• Java is robust
• Java is secure
• Java is portable
• Java’s performance
• Java is multithreaded
• Java has garbage
Collector
Java Features (1)

Simple
• fixes some clumsy features of C++
• no pointers
• automatic garbage collection
• rich pre-defined class library

Object oriented

• focus on the data (objects) and methods manipulating the data


• all functions are associated with objects
• almost all data types are objects (files, strings, etc.)
• potentially better code organization and reuse
Java Features (2)

Interpreted
• java compiler generate byte-codes, not native machine
code
• the compiled byte-codes are platform-independent
• java bytecodes are translated on the fly to machine
readable instructions in runtime (Java Virtual Machine)
Portable
• same application runs on all platforms
• the sizes of the primitive data types are always the same
Java Features (3)

Reliable
• extensive compile-time and runtime error checking
• no pointers. Memory corruptions or unauthorized
memory accesses are impossible
• automatic garbage collection tracks objects usage over
time
Secure
• usage in networked environments requires more security
• memory allocation model is a major defense
• access restrictions are forced (private, public)
Java Features (4)

Multithreaded
• multiple concurrent threads of executions can
run simultaneously
• utilizes a sophisticated set of synchronization primitives (based
on monitors and condition variables paradigm) to achieve this
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+
+

• title of the article: “Comparing Java vs. C/C++ Efficiency Issues to Interpersonal
Issues” (Lutz Prechelt)

• adequate for all but the most time-intensive programs


JDK Editions

• Java Standard Edition (J2SE)


J2SE can be used to develop client-side standalone applications
or applets.

• Java Enterprise Edition (J2EE)


J2EE can be used to develop server-side applications such as Java
servlets and Java ServerPages.

• Java Micro Edition (J2ME).


J2ME can be used to develop applications for mobile devices such as
cell phones.
Java
Applet

• Java programs can be run from a Web browser. Such programs are
called applets. Applets employ a modern graphical interface with
buttons, text fields, text areas, radio buttons, and so on, to interact
with users on the Web and process their requests.

• You can use a Java development tool (e.g., NetBeans, Eclipse, and
Text Pad)—software that provides an integrated development
environment (IDE) for developing Java programs quickly.
Compile and Run
Creating..Compiling .. Executing

Create/Modify Source
Code

Source Code Bytecode

Compile Source Code


i.e. javac Welcome.java
If compilation errors

Bytecode
Java Java Java
Interpreter Interpreter Interpreter
Run Byteode ...
i.e. java Welcome on Windows on Linux on Sun
Solaris

Result

If runtime errors or
incorrect result
Java is case sensitive
Anatomy of a Java Program

Comments:
In Java, comments are preceded by two slashes (//) in a line, or enclosed between
/* and */ in one or multiple lines. When the compiler sees //, it ignores all text after
// in the same line. When it sees /*, it scans for the next */ and ignores any text
between /* and */.

Package :
The second line in the program (package javaapplication1;) specifies a package
name, javaapplication1, for the class javaapplication1. It compiles the source code
in javaapplication1.java, generates javaapplication1.class, and stores
javaapplication1.class in the javaapplication1 folder.
Anatomy of a Java Program

Reserved words:

Reserved words or keywords are words that have a specific meaning to the
compiler and cannot be used for other purposes in the program. For example, when
the compiler sees the word class, it understands that the word after class is the
name for the class. Other reserved words are public, static, and void etc.

Modifiers:

Java uses certain reserved words called modifiers that specify the properties of the
data, methods, and classes and how they can be used. Examples of modifiers are
public and static. Other modifiers are private, final, abstract, and protected. A
public datum, method, or class can be accessed by other programs through reserve
words

CE&ME, NUST
Anatomy of a Java Program

Statements:

A statement represents an action or a sequence of actions. The statement


System.out.println(“Hello Java world!") in the program in Example is a statement
to display the greeting " Hello Java world! “. Every statement in Java ends with a
semicolon (;).

Blocks:

A pair of braces in a program forms a block that groups components of a program.

public class JavaApplication1 {


public static void main(String[] args) { Class block
System.out.println("Hello Java World !");
Method block
}
}

CE&ME, NUST

You might also like