CHAPTER 1
Introduction to
Computers
and Java
Copyright © 2016 Pearson Education, Ltd.
Chapter Topics
Chapter 1 discusses the following main topics:
– Introduction
– Why Program?
– Computer Systems: Hardware and Software
– Programming Languages
– What Is a Program Made Of?
– The Programming Process
– Object-Oriented Programming
©2016 Pearson Education, Ltd. 1-2
Java History
• 1991 - Green Team started by Sun
Microsystems (now owned by Oracle).
• There was a need for a programming language
that would run on various devices.
• Java (first named Oak) was developed for this
purpose.
©2016 Pearson Education, Ltd. 1-3
Introduction
• Java enabled web browser (HotJava)
demonstrated at 1995 Sun World conference.
• Java is “cross platform”, meaning that it can run
on various computer operating systems.
©2016 Pearson Education, Ltd. 1-4
Programming Languages
• A program is a set of instructions a computer follows
in order to perform a task.
• A programming language is a special language used to
write computer programs.
• A computer program is a set of instructions that enable
the computer to solve a problem or perform a task.
• Collectively, these instructions form an algorithm
©2016 Pearson Education, Ltd. 1-5
Programming Languages
• An algorithm is a set of well defined steps to
completing a task.
• The steps in an algorithm are performed sequentially.
• A computer needs the algorithm to be written in
machine language.
• Machine language is written using binary numbers.
• The binary numbering system (base 2) only has two
digits (0 and 1).
©2016 Pearson Education, Ltd. 1-6
Programming Languages
• The binary numbers are encoded as a machine
language.
• Each CPU has its own machine language.
– Motorola 68000 series processors
– Intel x86 series processors
– ARM processors, etc.
• Example of a machine language instruction:
1011010000000101
©2016 Pearson Education, Ltd. 1-7
Programming Languages
• High level programming languages followed
that were not processor dependent.
• Some common programming languages:
Java C Visual Basic
BASIC C++ Python
COBOL C# Ruby
Pascal PHP JavaScript
©2016 Pearson Education, Ltd. 1-8
Programming Languages
Common Language Elements
• There are some concepts that are common to
virtually all programming languages.
• Common concepts:
– Key words
– Operators
– Punctuation
– Programmer-defined identifiers
– Strict syntactic rules.
©2016 Pearson Education, Ltd. 1-9
Programming Languages
Sample Program
public class HelloWorld
{
public static void main(String[] args)
{
String message = "Hello World";
[Link](message);
}
}
©2016 Pearson Education, Ltd. 1-10
Programming Languages
Sample Program
• Key words in the sample program are:
•public •static
•class •void
• Key words are lower case (Java is a case
sensitive language).
• Key words cannot be used as a programmer-
defined identifier.
©2016 Pearson Education, Ltd. 1-11
Programming Languages
• Semi-colons are used to end Java statements;
however, not all lines of a Java program end a
statement.
• Part of learning Java is to learn where to
properly use the punctuation.
©2016 Pearson Education, Ltd. 1-12
Programming Languages
Lines vs Statements
• There are differences between lines and
statements when discussing source code.
[Link](
message);
• This is one Java statement written using two
lines. Do you see the difference?
• A statement is a complete Java instruction that
causes the computer to perform an action.
©2016 Pearson Education, Ltd. 1-13
Programming Languages
Variables
• Data in a Java program is stored in memory.
• Variable names represent a location in memory.
• Variables in Java are sometimes called fields.
• Variables are created by the programmer who assigns
it a programmer-defined identifier.
example: int hours = 40;
• In this example, the variable hours is created as an
integer (more on this later) and assigned the value of
40.
©2016 Pearson Education, Ltd. 1-14
Programming Languages
Variables
• Variables are simply a name given to represent
a place in memory.
0x000
0x001
0x002
0x003
0x004
0x005
0x006
0x007
©2016 Pearson Education, Ltd. 1-15
Programming Languages
Variables
Assume that the this
variable declaration
0x000 has been made.
The Java Virtual 0x001 int length = 72;
Machine (JVM) 0x002
actually decides 0x003 72
where the value 0x004 The variable length
will be placed 0x005 is a symbolic name
in memory. 0x006 for the memory
location 0x003.
0x007
©2016 Pearson Education, Ltd. 1-16
The Compiler and the Java Virtual
Machine
• A programmer writes Java programming
statements for a program.
• These statements are known as source code.
• A text editor is used to edit and save a Java
source code file.
• Source code files have a .java file extension.
• A compiler is a program that translates
source code into an executable form.
©2016 Pearson Education, Ltd. 1-17
The Compiler and the Java Virtual
Machine
• A compiler is run using a source code file as
input.
• Syntax errors that may be in the program will
be discovered during compilation.
• Syntax errors are mistakes that the programmer
has made that violate the rules of the
programming language.
• The compiler creates another file that holds the
translated instructions.
©2016 Pearson Education, Ltd. 1-18
The Compiler and the Java Virtual
Machine
• Most compilers translate source code into
executable files containing machine code.
• The Java compiler translates a Java source file
into a file that contains byte code instructions.
• Byte code instructions are the machine
language of the Java Virtual Machine (JVM)
and cannot be executed directly by the CPU.
©2016 Pearson Education, Ltd. 1-19
The Compiler and the Java Virtual
Machine
• Byte code files end with the .class file
extension.
• The JVM is a program that emulates a micro-
processor.
• The JVM executes instructions as they are read.
• The JVM is often called an interpreter.
• Java is often referred to as an interpreted
language.
©2016 Pearson Education, Ltd. 1-20
Program Development Process
Saves Java statements
Text editor Source code
(.java)
Produces Byte code
Java compiler (.class)
Java Results in Program
Virtual Execution
Machine
©2016 Pearson Education, Ltd. 1-21
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 •Unix
•Mac •BSD
•Linux •Etc.
©2016 Pearson Education, Ltd. 1-22
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.
©2016 Pearson Education, Ltd. 1-23
Portability
Byte code
(.class)
Java Virtual Java Virtual
Machine for Windows Machine for Unix
Java Virtual Java Virtual
Machine for Linux Machine for Mac
©2016 Pearson Education, Ltd. 1-24
Java Versions
• The software you use to write Java programs is
called the Java Development Kit, or JDK.
• There are different editions of the JDK:
– Java SE - Java Standard Edition.
– Java EE - Java Enterprise Edition.
– Java ME - Java Micro Edition.
• Available for download at
[Link]
©2016 Pearson Education, Ltd. 1-25