01slide Accessible

Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 75

Introduction to Java Programming and

Data Structures
Thirteenth Edition

Chapter 1
Introduction to Computers,
Programs, and Java

Copyright © 2024 Pearson Education, Inc. All Rights Reserved


Objectives (1 of 2)
1.1 To understand computer basics, programs, and operating
systems (§§1.2–1.4).
1.2 To describe the relationship between Java and the World
Wide Web (§1.5).
1.3 To understand the meaning of Java language specification, A
PI, JDK, and IDE (§1.6).
1.4 To write a simple Java program (§1.7).
1.5 To display output on the console (§1.7).
1.6 To explain the basic syntax of a Java program (§1.7).
1.7 To create, compile, and run Java programs (§1.8).
Copyright © 2024 Pearson Education, Inc. All Rights Reserved
Objectives (2 of 2)
1.8 To use sound Java programming style and document
programs properly (§1.9).
1.9 To explain the differences between syntax errors, runtime
errors, and logic errors (§1.10).
1.10 To develop Java programs using NetBeans (§1.11).
1.11 To develop Java programs using Eclipse (§1.12).

Copyright © 2024 Pearson Education, Inc. All Rights Reserved


What Is a Computer?
A computer consists of a CPU, memory, hard disk, floppy
disk, monitor, printer, and communication devices.

Copyright © 2024 Pearson Education, Inc. All Rights Reserved


CPU
• The central processing unit (C PU) is the brain of a computer. It
retrieves instructions from memory and executes them. The unit of
measurement of clock speed is the hertz (H z), with 1 hertz equaling
1 pulse per second. In the 1990s, computers measured clock speed
in megahertz (MHz), but CPU speed has been improving
continuously; the clock speed of a computer is now usually stated in
gigahertz (GHz). Intel’s newest processors run at about 3 G Hz.

Copyright © 2024 Pearson Education, Inc. All Rights Reserved


Memory
Memory is to store data and program instructions for C PU to
execute. A memory unit is an ordered sequence of bytes, each
holds eight bits. A program and its data must be brought to
memory before they can be executed. A memory byte is never
empty, but its initial content may be meaningless to your
program. The current content of a memory byte is lost whenever
new information is placed in it.

Copyright © 2024 Pearson Education, Inc. All Rights Reserved


How Data Is Stored?
Data of various kinds, such as numbers,
characters, and strings, are encoded as a
series of bits (zeros and ones). Computers
use zeros and ones because digital
devices have two stable states, which are
referred to as zero and one by convention.
The programmers need not to be
concerned about the encoding and
decoding of data, which is performed
automatically by the system based on the
encoding scheme. The encoding scheme
varies. For example, character ‘J’ is
represented by 01001010 in one byte. A
small number such as three can be stored
in a single byte. If computer needs to store
a large number that cannot fit into a single
byte, it uses a number of adjacent bytes.
No two data can share or split a same
byte. A byte is the minimum storage unit.
Copyright © 2024 Pearson Education, Inc. All Rights Reserved
Storage Devices
Memory is volatile, because information is lost when the
power is off. Programs and data are permanently stored
on storage devices and are moved to memory when the
computer actually uses them. There are three main
types of storage devices: Disk drives (hard disks), CD
drives (CD-R and CD-RW), and USB flash drives.

Copyright © 2024 Pearson Education, Inc. All Rights Reserved


Output Devices: Monitor
The monitor displays information (text and graphics). The
resolution and dot pitch determine the quality of the display.

Copyright © 2024 Pearson Education, Inc. All Rights Reserved


Monitor Resolution and Dot Pitch
resolution The screen resolution specifies the number
of pixels in horizontal and vertical dimensions
of the display device. Pixels (short for “picture
elements”) are tiny dots that form an image on
the screen. A common resolution for a 17-inch
screen, for example, is 1,024 pixels wide and
768 pixels high. The resolution can be set
manually. The higher the resolution, the
sharper and clearer the image is.

dot pitch The dot pitch is the amount of space between


pixels, measured in millimeters. The smaller
the dot pitch, the sharper the display.
Copyright © 2024 Pearson Education, Inc. All Rights Reserved
Communication Devices
A regular modem uses a phone line and can transfer data in a speed up to
56,000 bps (bits per second). A DSL (digital subscriber line) also uses a phone
line and can transfer data in a speed 20 times faster than a regular modem. A
cable modem uses the TV cable line maintained by the cable company. A
cable modem is as fast as a DSL. Network interface card (NIC) is a device to
connect a computer to a local area network (LAN). The LAN is commonly used
in business, universities, and government organizations. A high-speed N IC,
called 1000BaseT, can transfer data at 1000 mbps (million bits per second).

Copyright © 2024 Pearson Education, Inc. All Rights Reserved


Programs
Computer programs, known as software, are instructions
to the computer.
You tell a computer what to do through programs. Without
programs, a computer is an empty machine. Computers do
not understand human languages, so you need to use
computer languages to communicate with them.
Programs are written using programming languages.

Copyright © 2024 Pearson Education, Inc. All Rights Reserved


Programming Languages (1 of 3)
Machine Language Assembly Language High-Level Language

Machine language is a set of primitive instructions built into every


computer. The instructions are in the form of binary code, so you
have to enter binary codes for various instructions. Program with
native machine language is a tedious process. Moreover the
programs are highly difficult to read and modify. For example, to
add two numbers, you might write an instruction in binary like
this:
1101101010011010

Copyright © 2024 Pearson Education, Inc. All Rights Reserved


Programming Languages (2 of 3)
Machine Language Assembly Language High-Level Language

Assembly languages were developed to make programming


easy. Since the computer cannot understand assembly language,
however, a program called assembler is used to convert
assembly language programs into machine code. For example,
to add two numbers, you might write an instruction in assembly
code like this:
ADDF3 R1, R2, R3

Copyright © 2024 Pearson Education, Inc. All Rights Reserved


Programming Languages (3 of 3)
Machine Language Assembly Language High-Level Language

The high-level languages are English-like and easy to learn and


program. For example, the following is a high-level language
statement that computes the area of a circle with radius 5:

area 5 * 5 * 3.1415;

Copyright © 2024 Pearson Education, Inc. All Rights Reserved


Popular High-Level Languages
Language Description
Ada Named for A da Lovelace, who worked on mechanical general-purpose computers. The A da language
was developed for the Department of Defense and is used mainly in defense projects.
BASIC Beginner’s All-purpose Symbolic Instruction Code. It was designed to be learned and used easily by
beginners.
C Developed at Bell Laboratories. C combines the power of an assembly language with the ease of use
and portability of a high-level language.
C++ C++ is an object-oriented language, based on C.
C# Pronounced “C Sharp.” It is a hybrid of Java and C++ and was developed by Microsoft.

COB OL COmmon Business Oriented Language. Used for business applications.


FORTRAN FORmula TRANslation. Popular for scientific and mathematical applications.
Java Developed by Sun Microsystems, now part of Oracle. It is widely used for developing platform-
independent Internet applications.
Pascal Named for Blaise Pascal, who pioneered calculating machines in the seventeenth century. It is a
simple, structured, general-purpose language primarily for teaching programming.
Python A simple general-purpose scripting language good for writing short programs.
Visual Basic Visual Basic was developed by Microsoft and it enables the programmers to rapidly develop graphical
user interfaces.

Copyright © 2024 Pearson Education, Inc. All Rights Reserved


Interpreting/Compiling Source Code
A program written in a high-level language is called a
source program or source code. Because a computer
cannot understand a source program, a source program
must be translated into machine code for execution. The
translation can be done using another programming tool
called an interpreter or a compiler.

Copyright © 2024 Pearson Education, Inc. All Rights Reserved


Interpreting Source Code
An interpreter reads one statement from the source code,
translates it to the machine code or virtual machine code,
and then executes it right away, as shown in the following
figure. Note that a statement from the source code may be
translated into several machine instructions.

Copyright © 2024 Pearson Education, Inc. All Rights Reserved


Compiling Source Code
A compiler translates the entire source code into a
machine-code file, and the machine-code file is then
executed, as shown in the following figure.

Copyright © 2024 Pearson Education, Inc. All Rights Reserved


Operating Systems
The operating system (OS) is a
program that manages and
controls a computer’s activities.
The popular operating systems
for general-purpose computers
are Microsoft Windows, Mac OS,
and Linux. Application programs,
such as a Web browser or a
word processor, cannot run
unless an operating system is
installed and running on the
computer.

Copyright © 2024 Pearson Education, Inc. All Rights Reserved


Why Java?
The answer is that Java enables users to develop and
deploy applications on the Internet for servers, desktop
computers, and small hand-held devices. The future of
computing is being profoundly influenced by the Internet,
and Java promises to remain a big part of that future. Java
is the Internet programming language.
• Java is a general purpose programming language.
• Java is the Internet programming language.

Copyright © 2024 Pearson Education, Inc. All Rights Reserved


Java, Web, and Beyond
• Java can be used to develop standalone applications.
• Java can be used to develop applications running
from a browser.
• Java can also be used to develop applications for
hand-held devices.
• Java can be used to develop applications for Web
servers.

Copyright © 2024 Pearson Education, Inc. All Rights Reserved


Java’s History
• James Gosling and Sun Microsystems
• Oak
• Java, May 20, 1995, Sun World
• HotJava
– The first Java-enabled Web browser
• Early History Website:

http://www.java.com/en/javahistory/index.jsp

Copyright © 2024 Pearson Education, Inc. All Rights Reserved


Characteristics of Java (1 of 12)
• 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
https://liveexample.pearsoncmg.com/etc/JavaCharacteristics.pdf
Copyright © 2024 Pearson Education, Inc. All Rights Reserved
Characteristics of Java (2 of 12)
• Java Is Simple* *Java is partially modeled on
• Java Is Object-Oriented C++, but greatly simplified and
• improved. Some people refer to
Java Is Distributed
Java as “C++--” because it is
• Java Is Interpreted like C++ but with more
• Java Is Robust functionality and fewer negative
• Java Is Secure aspects.
• Java Is Architecture-Neutral
• Java Is Portable
• Java's Performance
• Java Is Multithreaded
• Java Is Dynamic
Copyright © 2024 Pearson Education, Inc. All Rights Reserved
Characteristics of Java (3 of 12)
• Java Is Simple *Java is inherently object-oriented.
Although many object-oriented
• Java Is Object-Oriented* languages began strictly as procedural
• Java Is Distributed languages, Java was designed from
the start to be object-oriented. Object-
• Java Is Interpreted oriented programming (OOP) is a
• Java Is Robust popular programming approach that is
replacing traditional procedural
• Java Is Secure programming techniques.
• Java Is Architecture-Neutral
One of the central issues in software
• Java Is Portable development is how to reuse code.
Object-oriented programming provides
• Java's Performance
great flexibility, modularity, clarity, and
• Java Is Multithreaded reusability through encapsulation,
inheritance, and polymorphism.
• Java Is Dynamic
Copyright © 2024 Pearson Education, Inc. All Rights Reserved
Characteristics of Java (4 of 12)
• Java Is Simple *Distributed computing
• Java Is Object-Oriented involves several computers
• working together on a
Java Is Distributed*
network. Java is designed to
• Java Is Interpreted make distributed computing
• Java Is Robust easy. Since networking
• Java Is Secure capability is inherently
• Java Is Architecture-Neutral integrated into Java, writing
network programs is like
• Java Is Portable sending and receiving data to
• Java's Performance and from a file.
• Java Is Multithreaded
• Java Is Dynamic
Copyright © 2024 Pearson Education, Inc. All Rights Reserved
Characteristics of Java (5 of 12)
• Java Is Simple *You need an interpreter to
• Java Is Object-Oriented run Java programs. The
• programs are compiled into
Java Is Distributed
the Java Virtual Machine
• Java Is Interpreted* code called bytecode. The
• Java Is Robust bytecode is machine-
• Java Is Secure independent and can run on
• Java Is Architecture-Neutral any machine that has a Java
interpreter, which is part of
• Java Is Portable the Java Virtual Machine (J V
• Java's Performance M).
• Java Is Multithreaded
• Java Is Dynamic
Copyright © 2024 Pearson Education, Inc. All Rights Reserved
Characteristics of Java (6 of 12)
• Java Is Simple *Java compilers can detect
• Java Is Object-Oriented many problems that would
• first show up at execution
Java Is Distributed
time in other languages.
• Java Is Interpreted
• Java Is Robust* Java has eliminated certain
types of error-prone
• Java Is Secure
programming constructs
• Java Is Architecture-Neutral found in other languages.
• Java Is Portable
Java has a runtime
• Java's Performance exception-handling feature
• Java Is Multithreaded to provide programming
• Java Is Dynamic support for robustness.

Copyright © 2024 Pearson Education, Inc. All Rights Reserved


Characteristics of Java (7 of 12)
• Java Is Simple *Java implements several
• Java Is Object-Oriented security mechanisms to
• protect your system against
Java Is Distributed
harm caused by stray
• Java Is Interpreted programs.
• Java Is Robust
• Java Is Secure*
• Java Is Architecture-Neutral
• Java Is Portable
• Java's Performance
• Java Is Multithreaded
• Java Is Dynamic
Copyright © 2024 Pearson Education, Inc. All Rights Reserved
Characteristics of Java (8 of 12)
• Java Is Simple *Write once, run anywhere
• Java Is Object-Oriented With a Java Virtual Machine
• Java Is Distributed (JVM), you can write one
• Java Is Interpreted program that will run on any
• Java Is Robust platform.
• Java Is Secure
• Java Is Architecture-Neutral*
• Java Is Portable
• Java's Performance
• Java Is Multithreaded
• Java Is Dynamic
Copyright © 2024 Pearson Education, Inc. All Rights Reserved
Characteristics of Java (9 of 12)
• Java Is Simple *Because Java is architecture
• Java Is Object-Oriented neutral, Java programs are
• portable. They can be run on
Java Is Distributed
any platform without being
• Java Is Interpreted recompiled.
• Java Is Robust
• Java Is Secure
• Java Is Architecture-Neutral
• Java Is Portable*
• Java's Performance
• Java Is Multithreaded
• Java Is Dynamic
Copyright © 2024 Pearson Education, Inc. All Rights Reserved
Characteristics of Java (10 of 12)
• Java Is Simple *Java’s performance has been
• Java Is Object-Oriented improved impressively over the
• years with every new version.
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
Copyright © 2024 Pearson Education, Inc. All Rights Reserved
Characteristics of Java (11 of 12)
• Java Is Simple *Multithread programming is
• Java Is Object-Oriented smoothly integrated in Java,
• whereas in other languages
Java Is Distributed
you have to call procedures
• Java Is Interpreted specific to the operating
• Java Is Robust system to enable
• Java Is Secure multithreading.
• Java Is Architecture-Neutral
• Java Is Portable
• Java's Performance
• Java Is Multithreaded*
• Java Is Dynamic
Copyright © 2024 Pearson Education, Inc. All Rights Reserved
Characteristics of Java (12 of 12)
• Java Is Simple *Java was designed to adapt
• Java Is Object-Oriented to an evolving environment.
• New code can be loaded on
Java Is Distributed
the fly without recompilation.
• Java Is Interpreted There is no need for
• Java Is Robust developers to create, and for
• Java Is Secure users to install, major new
• Java Is Architecture-Neutral software versions. New
features can be incorporated
• Java Is Portable transparently as needed.
• Java's Performance
• Java Is Multithreaded
• Java Is Dynamic*
Copyright © 2024 Pearson Education, Inc. All Rights Reserved
JDK Versions
• JDK 1.02 (1995)
• JDK 1.1 (1996)
• JDK 1.2 (1998)
• JDK 1.3 (2000)
• JDK 1.4 (2002)
• JDK 1.5 (2004) a. k. a. JDK 5 or Java 5
• JDK 1.6 (2006) a. k. a. JDK 6 or Java 6
• JDK 1.7 (2011) a. k. a. JDK 7 or Java 7
• JDK 1.8 (2014) a. k. a. JDK 8 or Java 8
• Java 9, 10, 11, 12, 13, 14.

Copyright © 2024 Pearson Education, Inc. All Rights Reserved


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, Java ServerPages, and Java
ServerFaces.
• Java Micro Edition (J2ME).
– J2ME can be used to develop applications for mobile
devices such as cell phones.
This book uses J2SE to introduce Java programming.
Copyright © 2024 Pearson Education, Inc. All Rights Reserved
Popular Java IDEs
• NetBeans
• Eclipse

Copyright © 2024 Pearson Education, Inc. All Rights Reserved


A Simple Java Program
Listing 1.1

// This program prints Welcome to Java!


public class Welcome {
public static void main(String[] args) {
System.out.println("Welcome to Java!");
}
}

Welcome Note: Clicking the green button displays the source code with
interactive animation. You can also run the code in a browser.
Internet connection is needed for this button.

Copyright © 2024 Pearson Education, Inc. All Rights Reserved


Trace a Program Execution (1 of 3)

Copyright © 2024 Pearson Education, Inc. All Rights Reserved


Trace a Program Execution (2 of 3)

Copyright © 2024 Pearson Education, Inc. All Rights Reserved


Trace a Program Execution (3 of 3)

Copyright © 2024 Pearson Education, Inc. All Rights Reserved


Two More Simple Examples

WelcomeWithThreeMessages

ComputeExpression

Copyright © 2024 Pearson Education, Inc. All Rights Reserved


Creating and Editing Using NotePad

Copyright © 2024 Pearson Education, Inc. All Rights Reserved


Creating and Editing Using WordPad

Copyright © 2024 Pearson Education, Inc. All Rights Reserved


Creating, Compiling, and Running
Programs

Copyright © 2024 Pearson Education, Inc. All Rights Reserved


Compiling Java Source Code
You can port a source program to any machine with appropriate
compilers. The source program must be recompiled, however, because
the object program can only run on a specific machine. Nowadays
computers are networked to work together. 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 bytecode can then run on any
computer with a Java Virtual Machine, as shown below. Java Virtual
Machine is a software that interprets Java bytecode.

Copyright © 2024 Pearson Education, Inc. All Rights Reserved


Supplements on the Companion Website
• See Supplement I.B for installing and configuring J DK

• See Supplement I.C for compiling and running Java from the
command window for details

www.pearsonhighered.com/liang

Copyright © 2024 Pearson Education, Inc. All Rights Reserved


Compiling and Running Java From the
Command Window
• Set path to JDK bin directory
– set path=c:\Program
Files\java\jdk1.8.0\bin
• Set classpath to include the
current directory
– set classpath=.
• Compile
– javac Welcome.java
• Run
– java Welcome

Copyright © 2024 Pearson Education, Inc. All Rights Reserved


Compiling and Running Java From
TextPad
• See Supplement II.A on the Website for details

Copyright © 2024 Pearson Education, Inc. All Rights Reserved


Anatomy of a Java Program
• Class name
• Main method
• Statements
• Statement terminator
• Reserved words
• Comments
• Blocks

Copyright © 2024 Pearson Education, Inc. All Rights Reserved


Class Name
Every Java program must have at least one class. Each
class has a name. By convention, class names start with
an uppercase letter. In this example, the class name is
Welcome.

Copyright © 2024 Pearson Education, Inc. All Rights Reserved


Main Method
Line 2 defines the main method. In order to run a class, the
class must contain a method named main. The program is
executed from the main method.

Copyright © 2024 Pearson Education, Inc. All Rights Reserved


Statement
A statement represents an action or a sequence of actions.
The statement System.out.println(“Welcome to Java!”) in
the program in Listing 1.1 is a statement to display the
greeting “Welcome to Java!”.

Copyright © 2024 Pearson Education, Inc. All Rights Reserved


Statement Terminator
Every statement in Java ends with a semicolon (;).

Copyright © 2024 Pearson Education, Inc. All Rights Reserved


Keywords
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.

Copyright © 2024 Pearson Education, Inc. All Rights Reserved


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

Copyright © 2024 Pearson Education, Inc. All Rights Reserved


Special Symbols
Character Name Description
{} Opening and closing braces Denotes a block to enclose
statements.
() Opening and closing Used with methods.
parentheses
[] Opening and closing brackets Denotes an array.
// Double slashes Precedes a comment line.
“” Opening and closing quotation Enclosing a string (i.e.,
marks sequence of characters).
; Semicolon Marks the end of a statement.

Copyright © 2024 Pearson Education, Inc. All Rights Reserved


Braces { … }

Copyright © 2024 Pearson Education, Inc. All Rights Reserved


Parentheses ( … )

Copyright © 2024 Pearson Education, Inc. All Rights Reserved


Statement Terminator ;

Copyright © 2024 Pearson Education, Inc. All Rights Reserved


// Comments

Copyright © 2024 Pearson Education, Inc. All Rights Reserved


“ String ”

Copyright © 2024 Pearson Education, Inc. All Rights Reserved


Programming Style and Documentation
• Appropriate Comments
• Naming Conventions
• Proper Indentation and Spacing Lines
• Block Styles

Copyright © 2024 Pearson Education, Inc. All Rights Reserved


Appropriate Comments
Include a summary at the beginning of the program to
explain what the program does, its key features, its
supporting data structures, and any unique techniques it
uses.
Include your name, class section, instructor, date, and a
brief description at the beginning of the program.

Copyright © 2024 Pearson Education, Inc. All Rights Reserved


Naming Conventions
• Choose meaningful and descriptive names.
• Class names:
– Capitalize the first letter of each word in the name.
For example, the class name ComputeExpression.

Copyright © 2024 Pearson Education, Inc. All Rights Reserved


Proper Indentation and Spacing
• Indentation
– Indent two spaces.
• Spacing
– Use blank line to separate segments of the code.

Copyright © 2024 Pearson Education, Inc. All Rights Reserved


Block Styles
Use end-of-line style for braces.

Copyright © 2024 Pearson Education, Inc. All Rights Reserved


Programming Errors
• Syntax Errors
– Detected by the compiler
• Runtime Errors
– Causes the program to abort
• Logic Errors
– Produces incorrect result

Copyright © 2024 Pearson Education, Inc. All Rights Reserved


Syntax Errors
public class ShowSyntaxErrors {
public static main(String[] args) {
System.out.println("Welcome to Java);
}
}

ShowSyntaxErrors

Copyright © 2024 Pearson Education, Inc. All Rights Reserved


Runtime Errors
public class ShowRuntimeErrors {
public static void main(String[] args) {
System.out.println(1 / 0);
}
}

ShowRuntimeErrors

Copyright © 2024 Pearson Education, Inc. All Rights Reserved


Logic Errors
public class ShowLogicErrors {
public static void main(String[] args) {
System.out.println("Celsius 35 is
Fahrenheit degree ");
System.out.println((9 / 5) * 35 + 32);
}
}

ShowLogicErrors

Copyright © 2024 Pearson Education, Inc. All Rights Reserved


Compiling and Running Java From
NetBeans
• See Supplement II.B on the Website for details

Copyright © 2024 Pearson Education, Inc. All Rights Reserved


Compiling and Running Java From
Eclipse
• See Supplement II.D on the Website for details

Copyright © 2024 Pearson Education, Inc. All Rights Reserved


Copyright

This work is protected by United States copyright laws and is


provided solely for the use of instructors in teaching their
courses and assessing student learning. Dissemination or sale of
any part of this work (including on the World Wide Web) will
destroy the integrity of the work and is not permitted. The work
and materials from it should never be made available to students
except by instructors using the accompanying text in their
classes. All recipients of this work are expected to abide by these
restrictions and to honor the intended pedagogical purposes and
the needs of other instructors who rely on these materials.

Copyright © 2024 Pearson Education, Inc. All Rights Reserved

You might also like