Control Structures in Java I - PowerPoint PPT Presentation

1 / 27
About This Presentation
Title:

Control Structures in Java I

Description:

April 8, 1998. CS102-02 Lecture 2-2. A Little Medical ... You look a little flush. April 8, 1998. CS102-02 Lecture 2-2. I'd Hammer in the Morning Else I'd... – PowerPoint PPT presentation

Number of Views:73
Avg rating:3.0/5.0
Slides: 28
Provided by: kurtdfens
Category:

less

Transcript and Presenter's Notes

Title: Control Structures in Java I


1
Control Structures in Java I
Controlling Java
  • CS 102-02
  • Lecture 2-2

2
Control Structures Control Flow
  • Program inertia
  • Java programs start with the first statement
  • Jump to the next, and the next
  • until...
  • Control structures change the program flow

3
Selection Structures
  • Two kinds of selection
  • Ifthen Only do it if the conditions true
  • If...then...else Do one thing or the other

4
If I Had a Hammer...
  • In Java syntax
  • if ( Expression ) Statement
  • Expression MUST be a Boolean expression
  • Statement can be a block of statements
  • Theres no then in them thar hills

5
If I Had an Example..
  • if (pulse 0) System.out.println(Passed)
  • if (pulse 200)
  • System.out.println(Slow down!)

6
Compound Statements
  • If Java expects a statement, you can also use a
    compound statement
  • if ( Expression ) Statement
  • Compound statement is a group of statements,
    enclosed in

7
Compounding a Statement
if (temperature 10)
me.bundleUp() me.complain(Chicago,
badWeather) me.tryToGraduate(now)
me.returnToWarmerClimes(I love L.A.!)
8
The Declaration of Independence
  • When is a Compound Statement a Block? When it
    contains a declaration.
  • A declaration says to Java Im going to use a
    variable, and its going to be of this type.
  • Graphics graphicsObject
  • Not a particular Graphics object yet

9
A Defining Moment
  • Declarations are good, but theres more
  • Definitions associate an initial value with a
    name
  • Graphics graphicsObject new Graphics()

10
Why Do We Care?
  • Block CompoundStatementDeclaration(s)
  • Declarations in a block are special because they
    have block scope
  • Graphics graphicsObject
  • // some code goes here
  • // graphicsObject still exists
  • // now its gone

11
Its Minty Fresh
  • Scope is where a variable is visible
  • More details on scope when we get to methods
  • And now, back to our regularly scheduled
    lecture...

12
A Little Medical Diagnosis
if (pulse 200 pulse n(Heart beats gang aft agley) if (respiration
75) System.out.println(You dont look so
good) else System.out.println(You look a
little flush.) Pulse Respiration Whats
printed? 68 35 You look a little flush.
203 78 Heart beats gang aft agley You dont
look so good 205 40 Heart beats gang aft
agley You look a little flush.
13
Id Hammer in the Morning Else Id...
  • In Java, If...Then...Else
  • if ( Expression )
  • IfStatement
  • else
  • ElseStatement

14
Pile on the If Statements
  • if (grade 90)
  • System.out.println(Wow, an A!)
  • else if (grade 80)
  • System.out.println(Not bad, a B!)
  • else if (grade 70)
  • System.out.println(Hanging in with a C.)
  • else if (grade 60)
  • System.out.println(Oh my, a D.)
  • else
  • System.out.println(It doesnt look good)

15
While You Were Sleeping
  • While you were sleeping, I
  • Told your family we were engaged
  • Hit on your brother
  • Fell in love with him
  • See what happens when you doze off for a few
    days...

16
Variety Might be the Spice of Life...
  • Repetition is the meat and potatoes
  • Keep going until
  • Fixed number of times (count up, count down)
  • A condition becomes true
  • A condition becomes false
  • An exception/error occurs

17
While is a Close Cousin to If
  • In Java, repeat with while is
  • while ( Expression ) Statement
  • A brief example
  • int product 2 // Defn or declaration?
  • while (product
  • product 2 product
  • // Whats product here?

18
Determining a Class Average
  • The problem from the book
  • Develop a class-averaging program that will
    process an arbitrary number of letter grades each
    time the program is run

19
Everythings a Class
  • Build a ClassAverage class in Java
  • Create a ClassAverage object
  • Invoke its methods

20
Java Applications
  • Java Its not just for applets anymore
  • Browsers need not apply
  • Applications are programs which can run on their
    own.
  • User interface console or graphical

21
Data Needs?
  • What information does the program need to work?
  • What information will be created in running the
    program?

22
Programming with Verbs
  • What actions need to be performed?
  • Do we need to break them down into methods?

23
The Data We Need
import java.io. public class Average
public static void main( String args ) throws
IOException double average // number
with decimal point int counter, grade,
total // initialization phase
total 0 counter 0 //
processing phase System.out.print( "Enter
letter grade, Z to end " ) grade
System.in.read()
24
What Were Doing With It
while ( grade ! 'Z' ) if ( grade
'A' ) total total 4
else if ( grade 'B' ) total
total 3 else if ( grade 'C' )
total total 2 else if (
grade 'D' ) total total 1
System.in.skip( 2 ) counter
counter 1 System.out.print( "Enter
letter grade, Z to end " ) grade
System.in.read()
25
The End Result
// Termination phase if ( counter ! 0 )
average (double) total / counter
System.out.println( "Class average is "
average ) else
System.out.println( "No grades were entered" )

26
The Average Program
// Fig. 2.9 Average.java // Class average
application with // sentinel-controlled
repetition. import java.io. public class
Average public static void main( String
args ) throws IOException double
average // number with decimal point int
counter, grade, total //
initialization phase total 0
counter 0 // processing phase
System.out.print( "Enter letter grade, Z to end
" ) grade System.in.read()
while ( grade ! 'Z' ) if ( grade
'A' ) total total 4
else if ( grade 'B' ) total
total 3 else if ( grade 'C' )
total total 2 else if (
grade 'D' ) total total 1
System.in.skip( 2 ) counter
counter 1 System.out.print( "Enter
letter grade, Z to end " ) grade
System.in.read() //
termination phase if ( counter ! 0 )
average (double) total / counter
System.out.println( "Class average is " average
) else System.out.println(
"No grades were entered" )
27
Thats It Until Next Time
  • Choosing one branch or another use if
  • Watch out for dangling elses
  • Looping with condition can use while
  • Other ways to loop branch
  • Use the most specific
Write a Comment
User Comments (0)
About PowerShow.com