Chapter Topics
Java History
Computer Systems: Hardware and Software
Programming Languages
The Complete Programming Process
Object-Oriented Programming
2013 Pearson Education, Inc. Upper Saddle River, NJ. All Rights Reserved.
1-2
Java History
Created by Sun Microsystems in 1991
Green Team handheld controller *7 for multiple
entertainment systems
There was a need for a programming language that
would run on various devices.
Java (first named Oak) was developed for this purpose.
Java is cross platform, meaning that it can run on
various computer operating systems.
2013 Pearson Education, Inc. Upper Saddle River, NJ. All Rights Reserved.
1-3
Applets
Small applications that require the use of a Java enabled
web browser to run.
Enhanced security model since the user merely goes to a
web page and the applet runs itself.
2013 Pearson Education, Inc. Upper Saddle River, NJ. All Rights Reserved.
1-4
2013 Pearson Education, Inc. Upper Saddle River, NJ. All Rights Reserved.
1-5
2013 Pearson Education, Inc. Upper Saddle River, NJ. All Rights Reserved.
1-6
Instruction (input)
Arithmetic
Logic
Unit
Result (output)
Control
Unit
2013 Pearson Education, Inc. Upper Saddle River, NJ. All Rights Reserved.
1-7
Fetch
Execute
Decode
2013 Pearson Education, Inc. Upper Saddle River, NJ. All Rights Reserved.
1-8
2013 Pearson Education, Inc. Upper Saddle River, NJ. All Rights Reserved.
1-9
2013 Pearson Education, Inc. Upper Saddle River, NJ. All Rights Reserved.
1-10
0x000
0x001 1 0 1 0 1 0 1 0
0x002
0x003
0x004
0x005
0x006
0x007
2013 Pearson Education, Inc. Upper Saddle River, NJ. All Rights Reserved.
1-11
1-12
2013 Pearson Education, Inc. Upper Saddle River, NJ. All Rights Reserved.
1-13
2013 Pearson Education, Inc. Upper Saddle River, NJ. All Rights Reserved.
1-14
1-15
2013 Pearson Education, Inc. Upper Saddle River, NJ. All Rights Reserved.
1-16
2013 Pearson Education, Inc. Upper Saddle River, NJ. All Rights Reserved.
1-17
2013 Pearson Education, Inc. Upper Saddle River, NJ. All Rights Reserved.
1-18
2013 Pearson Education, Inc. Upper Saddle River, NJ. All Rights Reserved.
1-19
2013 Pearson Education, Inc. Upper Saddle River, NJ. All Rights Reserved.
1-20
2013 Pearson Education, Inc. Upper Saddle River, NJ. All Rights Reserved.
1-21
Spreadsheets
Word processors
Accounting software
Tax software
Games
2013 Pearson Education, Inc. Upper Saddle River, NJ. All Rights Reserved.
1-22
Programming Languages
A programming language is a special language used to
write computer programs.
A program is a set of instructions with rigorous syntax
a computer follows in order to perform a task.
An algorithm is a set of well defined steps to complete
a task.
English-like pseudo code
For example, to compute gross pay
Get payroll data
Calculate gross pay
Display gross pay
2013 Pearson Education, Inc. Upper Saddle River, NJ. All Rights Reserved.
1-23
1-24
1-25
Visual Basic
BASIC
C++
Python
COBOL
C#
Ruby
Pascal
PHP
JavaScript
2013 Pearson Education, Inc. Upper Saddle River, NJ. All Rights Reserved.
1-26
Programming Languages
4GL and 5GL
Closer to natural languages
The language environment provides visual
programming tools that allow non-programmers to
create software applications
2013 Pearson Education, Inc. Upper Saddle River, NJ. All Rights Reserved.
1-27
Programming Languages
Common Language Elements
There are some concepts that are common to all
programming languages.
Common concepts:
Keywords
Operators
Punctuation
Programmer-defined identifiers
Strict syntactic rules
2013 Pearson Education, Inc. Upper Saddle River, NJ. All Rights Reserved.
1-28
Programming Languages
Sample Program
public class HelloWorld
{
public static void main(String[] args)
{
String message = "Hello World";
System.out.println(message);
}
}
2013 Pearson Education, Inc. Upper Saddle River, NJ. All Rights Reserved.
1-29
Programming Languages
Sample Program
Keywords in the sample program are:
public
class
static
void
1-30
Programming Languages
Lines vs Statements
1-31
Programming Languages
Variables
Data in a Java program is stored in memory.
Each variable name represents a location in memory.
Variables are created by the programmer who assigns
it a user-defined identifier.
example:
2013 Pearson Education, Inc. Upper Saddle River, NJ. All Rights Reserved.
1-32
Programming Languages
Variables
1-33
Programming Languages
Variables
0x000
0x001
0x002
0x003
0x004
0x005
0x006
0x007
2013 Pearson Education, Inc. Upper Saddle River, NJ. All Rights Reserved.
1-34
1-35
1-36
1-37
2013 Pearson Education, Inc. Upper Saddle River, NJ. All Rights Reserved.
1-38
Produces
Java compiler
er
t
n
i
s
I
Java
Virtual
Machine
Source code
(.java)
Byte code
(.class)
y
b
d
e
pret
Results in
2013 Pearson Education, Inc. Upper Saddle River, NJ. All Rights Reserved.
Program
Execution
1-39
Portability
Portable means that a program may be written on one
type of computer and then run on a wide variety of
computers, with little or no modification.
Java byte code runs on the JVM and not on any
particular CPU; therefore, compiled Java programs are
highly portable.
JVMs exist on many platforms:
Windows
Mac
Linux
Unix
BSD
Etc.
2013 Pearson Education, Inc. Upper Saddle River, NJ. All Rights Reserved.
1-40
Portability
With most programming languages, portability
is achieved by compiling a program for each
CPU it will run on.
Java provides an JVM for each platform so that
programmers do not have to recompile for
different platforms.
2013 Pearson Education, Inc. Upper Saddle River, NJ. All Rights Reserved.
1-41
Portability
Byte code
(.class)
Java Virtual
Machine for Windows
Java Virtual
Machine for Linux
Java Virtual
Machine for Unix
Java Virtual
Machine for Mac
2013 Pearson Education, Inc. Upper Saddle River, NJ. All Rights Reserved.
1-42
1-43
Software Engineering
Software engineers perform several tasks in the
development of complex software projects.
requirement analysis
user interface design
system design
coding
testing and debugging
documentation
modification and maintenance
2013 Pearson Education, Inc. Upper Saddle River, NJ. All Rights Reserved.
1-44
Software Engineering
Most commercial software applications are large and
complex.
Usually a team of programmers, not a single
individual, develops them.
Program requirements are thoroughly analyzed and
divided into subtasks that are handled by
individual teams
individuals within a team.
2013 Pearson Education, Inc. Upper Saddle River, NJ. All Rights Reserved.
1-45
Object-Oriented Programming
Object-oriented programming is a programming
paradigm that represents concepts as objects.
Objects are a melding of data and associated
procedures that manipulate that data.
Data in an object are known as attributes.
Procedures in an object are known as methods.
2013 Pearson Education, Inc. Upper Saddle River, NJ. All Rights Reserved.
1-46
Object-Oriented Programming
Object
Attributes (data)
Methods
(behaviors / procedures)
2013 Pearson Education, Inc. Upper Saddle River, NJ. All Rights Reserved.
1-47
Object-Oriented Programming
Object-oriented programming combines data and
behavior via encapsulation.
Data hiding is the ability of an object to hide data from
other objects in the program.
Only an objects methods should be able to directly
manipulate its attributes.
Other objects are allowed manipulate an objects
attributes via the objects methods. This indirect access
is known as a programming interface.
2013 Pearson Education, Inc. Upper Saddle River, NJ. All Rights Reserved.
1-48
Object-Oriented Programming
Object
Programming
Interface
Attributes (data)
typically private to this object
Other
objects
Methods
(behaviors / procedures)
2013 Pearson Education, Inc. Upper Saddle River, NJ. All Rights Reserved.
1-49