Chapter 8: Introduction to High

advertisement
Chapter 8: Introduction to
High-Level Language
Programming
Invitation to Computer Science,
Java Version, Third Edition
Objectives
In this chapter, you will learn about

Where do we stand?

High-level languages

Introduction to Java

Virtual data storage

Statement types
Invitation to Computer Science, Java Version, Third Edition
2
Objectives (continued)

Meeting expectations

Managing complexity

Object-oriented programming

Graphical programming

The big picture: Software engineering
Invitation to Computer Science, Java Version, Third Edition
3
Where Do We Stand?

Early days of computing

Programmers were satisfied with assembly
language


Programs mostly written by very technically
oriented people
Later decades

Programmers demanded a more comfortable
programming environment

Programs were now also written by “nontechie”
people
Invitation to Computer Science, Java Version, Third Edition
4
High-Level Languages


High-level programming languages

Called third-generation languages

Created to overcome deficiencies of assembly
language
Expectations of a high-level language program

The programmer need not manage the details of
the movement of data items within memory nor
exactly where those items are stored
Invitation to Computer Science, Java Version, Third Edition
5
High-level Languages (continued)

Expectations of a high-level language program
(continued)

Programmer can take a macroscopic view of
tasks; “primitive operations” can be larger

Program will be portable

Programming statements will be closer to
standard English and use standard mathematical
notation
Invitation to Computer Science, Java Version, Third Edition
6
Introduction to Java: A Simple Java
Program

Comments


Class header


Announces that a class is about to be defined
Class


Give information to human readers of code
A collection of methods
Method

A section of code that performs a service
Invitation to Computer Science, Java Version, Third Edition
7
Figure 8.2 A Simple Java Program
Invitation to Computer Science, Java Version, Third Edition
8
Running a Java Program

File containing the Java code




Same name as the class
File extension .java
Example: TravelPlanner.java
Running a Java program

Program compiled


Example: File TravelPlanner.class created
Translation to object code completed; program
linked, loaded, and executed
Invitation to Computer Science, Java Version, Third Edition
9
Virtual Data Storage

Identifiers


Names in a programming language
Keyword

Has a special meaning in Java

Java is a case-sensitive, free-format language

Variable

A named location in memory

Must be declared before it can be used
Invitation to Computer Science, Java Version, Third Edition
10
Figure 8.4
Some of the Java Primitive Data Types
Invitation to Computer Science, Java Version, Third Edition
11
Virtual Data Storage (continued)

An array

Groups together a collection of memory locations,
all storing data of the same type
Figure 8.5
A 12-Element Array Hits
Invitation to Computer Science, Java Version, Third Edition
12
Statement Types

Input/output statements

Input statement


Collects a specific value from the user for a variable
within the program
Output statement

Writes a message or the value of a program
variable to the user’s screen or to a file
Invitation to Computer Science, Java Version, Third Edition
13
Statement Types (continued)

Assignment statement


Assigns a value to a program variable
Control statement

Directs the flow of control

Can cause it to deviate from the usual sequential
flow
Invitation to Computer Science, Java Version, Third Edition
14
Input Statements

A prompt


A message that tells the user what kind of input
the program wants
Console class

Not a standard Java class; written for this book

Can be used to handle both the prompt and the
retrieval of the value in one statement
Invitation to Computer Science, Java Version, Third Edition
15
Input Statements (continued)


Methods

readInt

readDouble

readChar
Syntax
variable1 = Console.readInt(prompt);
variable2 = Console.readDouble(prompt);
variable3 = Console.readChar(prompt);
Invitation to Computer Science, Java Version, Third Edition
16
Output Statements

Output to the screen
System.out.println(string);

The string can be

Empty
System.out.println();

Literal string
System.out.println("Here's your answer." );

Composed of two or more items
System.out.println("Give me" + 5);
Invitation to Computer Science, Java Version, Third Edition
17
The Assignment Statement

General form
variable = expression;

Expression is evaluated first; the result is written
into the memory location specified on the left
Invitation to Computer Science, Java Version, Third Edition
18
The Assignment Statement
(continued)

Examples
B = 2;

Suppose that B is an integer variable
A = B + C;

Suppose that A, B, and C are integer variables
Letter = 'm';

Suppose that Letter is a variable of type char
Invitation to Computer Science, Java Version, Third Edition
19
Control Statements

Types of control mechanisms

Sequential


Conditional


Instructions are executed in order
The choice of which instructions to execute next
depends on some condition
Looping

A group of instructions may be executed many
times
Invitation to Computer Science, Java Version, Third Edition
20
Control Statements (continued)

Sequential is default mode of execution

Conditional flow of control

Evaluation of a Boolean condition (also called a
Boolean expression)

The programming statement to execute next is
based on the value of the Boolean condition (true
or false)
Invitation to Computer Science, Java Version, Third Edition
21
Control Statements (continued)

Conditional flow of control (continued)

if-else statement
if (Boolean condition)
S1;
else
S2;

if variation of the if-else statement
if (Boolean condition)
S1;
Invitation to Computer Science, Java Version, Third Edition
22
Figure 8.10
Conditional Flow of Control
(If-Else)
Invitation to Computer Science, Java Version, Third Edition
23
Figure 8.11
If-Else with Empty Else
Invitation to Computer Science, Java Version, Third Edition
24
Control Statements (continued)

Looping (iteration)

The loop body may be executed repeatedly based
on the value of the Boolean condition

while statement
while (Boolean condition)
S1;
Invitation to Computer Science, Java Version, Third Edition
25
Figure 8.13
While Loop
Invitation to Computer Science, Java Version, Third Edition
26
Meeting Expectations

Java meets the four expectations for a high-level
programming language

Expectations

The programmer need not manage the details of
the movement of data items within memory nor
pay any attention to where specifically they are
stored
Invitation to Computer Science, Java Version, Third Edition
27
Meeting Expectations (continued)

Expectations (continued)

The programmer can take a macroscopic view of
tasks, thinking at a higher level of problem solving

Programs written in high-level languages will be
portable rather than machine-specific

Programming statements in a high-level language

Will be closer to standard English

Will use standard mathematical notation
Invitation to Computer Science, Java Version, Third Edition
28
Managing Complexity: Divide and
Conquer

Divide and conquer

Divide the problem into small pieces

In a computer program

Divide the code into modules or subprograms, each
of which does some part of the overall task

Empower these modules to work together to solve
the original problem
Invitation to Computer Science, Java Version, Third Edition
29
Figure 8.20 Structure Charts
Invitation to Computer Science, Java Version, Third Edition
30
Using Methods

Method

A module of code in Java

Named using ordinary Java identifiers

By custom, name starts with a lowercase letter
Invitation to Computer Science, Java Version, Third Edition
31
Using Methods (continued)

Two types of methods

void method


nonvoid method


Does not pass any value back to the main method
Returns a single new value back to the main
method
Overall form of a method invocation
class-identifier.method-identifier(argument list)
Invitation to Computer Science, Java Version, Third Edition
32
Writing Methods

General form of the method header
scope-indicator return-indicator identifier(parameter list)

Arguments in Java are passed by value

A variable declared within a method can be used
only within that method

Return statement

Syntax
return expression;
Invitation to Computer Science, Java Version, Third Edition
33
Figure 8.27
Some Java Terminology
Invitation to Computer Science, Java Version, Third Edition
34
Object-Oriented Programming: What
Is It?

Object-oriented programming (OOP)



A program is a simulation of some part of the
world that is the domain of interest
Each object is an example drawn from a class of
similar objects
Key elements of OOP

Encapsulation

A class consists of its subtask modules and its
properties, and both components are
“encapsulated” with the class
Invitation to Computer Science, Java Version, Third Edition
35
What Is It? (continued)

Key elements of OOP (continued)

Inheritance


Once a class A of objects is defined, a class B of
objects can be defined as a “subclass” of A
Polymorphism

One name, the name of the service to be
performed, has several meanings, depending on
the class of the object providing the service
Invitation to Computer Science, Java Version, Third Edition
36
Java and OOP

Java is an object-oriented programming
language

Static method

Can be invoked by giving the class name, a dot,
the method name, and a list of arguments

Objects: Instances of a class

Instance variables: Properties

Instance methods: Services
Invitation to Computer Science, Java Version, Third Edition
37
Java and OOP (continued)

Syntax to request an object to invoke a method
object-identifier.method-identifier(argument list)

Calling object

The object that invokes a method
Invitation to Computer Science, Java Version, Third Edition
38
What Have We Gained?

Two major advantages of OOP

Software reuse

A more natural “world view”
Invitation to Computer Science, Java Version, Third Edition
39
Graphical Programming: Graphics
Hardware

Bitmapped display


Frame buffer


The screen is made up of thousands of individual
picture elements, or pixels, laid out in a twodimensional grid
Memory that stores the actual screen image
Terminal hardware displays the frame buffer
value of every individual pixel on the screen
Invitation to Computer Science, Java Version, Third Edition
40
Figure 8.34
Pixel Numbering System in a Bitmapped Display
Invitation to Computer Science, Java Version, Third Edition
41
Graphics Software

Graphics library


Abstract Windowing Toolkit (AWT)


Contains a collection of software routines that
control the setting and clearing of pixels
Contains routines that allow users to create
powerful interfaces
Swing components

Even more powerful GUI components than AWT
Invitation to Computer Science, Java Version, Third Edition
42
Graphics Software (continued)

Graphics class

Contains drawing commands that allow you to

Draw geometric shapes (lines, rectangles, ovals,
polygons, and so on)

Set, change, and define colors

Fill in or shade objects

Create text in a range of fonts and sizes

Produce graphs and charts
Invitation to Computer Science, Java Version, Third Edition
43
The Big Picture: Software Engineering

Software life cycle

The overall sequence of steps needed to
complete a large-scale software project

Implementation represents a relatively small part
of the cycle
Invitation to Computer Science, Java Version, Third Edition
44
Figure 8.36
Steps in the Software Development Life Cycle
Invitation to Computer Science, Java Version, Third Edition
45
Scaling Up

Programs written by students


Real-world programs


No longer than a few hundred lines
2, 3, or 4 orders of magnitude larger
Large-scale software development

Extensive planning and design needed

A team of programmers needed

Software engineering
Invitation to Computer Science, Java Version, Third Edition
46
The Software Life Cycle

Each step in the software development life cycle

Has a specific purpose and activities

Should result in a written document

The feasibility study

Problem specification

Program design
Invitation to Computer Science, Java Version, Third Edition
47
The Software Life Cycle (continued)

Algorithm selection or development, and
analysis

Coding

Debugging

Testing, verification, and benchmarking

Documentation

Maintenance
Invitation to Computer Science, Java Version, Third Edition
48
Modern Environments

Integrated Development Environment (IDE)
speeds program development by providing

A text editor

A file manager

A compiler

A linker and loader

Tools for debugging
Invitation to Computer Science, Java Version, Third Edition
49
Summary


In a high-level language, the programmer

Need not manage storage nor movement of data
values in memory

Can use more powerful program instructions that
are more like natural language

Can write a much more portable program
Java is an object-oriented, high-level
programming language
Invitation to Computer Science, Java Version, Third Edition
50
Summary (continued)

In Java, an if-else statement can be used to
create a conditional flow of control

In Java, a while loop can be used for iteration

Software life cycle: Overall sequence of steps
needed to complete a large-scale software
project
Invitation to Computer Science, Java Version, Third Edition
51
Download