Title: Flow of Control Recitation
1Flow of Control Recitation
09/(11,12)/2008
CS 180 Department of Computer Science, Purdue
University
2Project 2
- Now posted on the class webpage.
- Due Wed, Sept. 17 at 10 pm.
- Start early. All questions on the class
newsgroup. - Evening consulting hours.
- LWSN B146. MTW 7-10 pm.
3Statements in Braces
- If and else parts in braces are preferred for
even a single statement. - if (count lt 3)
-
- total 0
-
- is better than
- if (count lt 3)
- total 0
4Statements in Braces
- Benefits to do this
- Decreases the chance of introducing a bug when
adding a new statement. - Makes the program a little more
self-documenting (more readable and easier to
maintain).
5 Is NOT Always Equal
- should not be used to determine if two objects
have the same value, including two strings - Even though (s1 s2) might appear to work, do
not use this. - Use (s1.equals(s2)) instead to compare two
strings.
6Multibranch if-else Statements
- if-else if-else is different from a series of if
statements.
if (score gt 60) result P else if
(score gt 0) result F else result
Z
if (score gt 60) result P if (score gt
0) result F else result Z
7Short-circuit Evaluation
- Can prevent problems.
- if ((number ! 0) (sum/number gt 5))
- Can produce problems!
- if ((x.evaluate()) (y.reassign()))
- How to run y.reassign() every time?
- Use and to replace and .
- if ((x.evaluate()) (y.reassign()))
- But notice and are different!
8Input Output of Boolean Values
- Example
- boolean booleanVar false
- System.out.println(booleanVar)
- System.out.println("Enter a boolean value")
- Scanner keyboard new Scanner(System.in)
- booleanVar keyboard.nextBoolean()
- System.out.println("You entered " booleanVar)
9Input Output of Boolean Values
- Dialog
- false
- Enter a boolean value true
- You entered true
10The switch Statement
- Syntax
- switch (Controlling_Expression)
-
- case Case_Label
- Statement(s)
- break
- case Case_Label
-
- default
-
11The switch Statement
- View sample program Listing 3.4 class
MultipleBirths
Sample screen output
12The switch Statement
- The action for each case typically ends with the
word break. - The optional break statement prevents the
consideration of other cases. - The controlling expression can be anything that
evaluates to an integral type.
13The switch Statement
- Example without break
- switch (grade)
-
- case P
- System.out.print(You have)
- case F
- System.out.print(No, you have not)
- default
-
- System.out.println(passed.)
14Enumerations
- Consider a need to restrict contents of a
variable to certain values. - An enumeration lists the values a variable can
have. - Exampleenum MovieRating E, A, BMovieRating
ratingrating MovieRating.A
15Enumerations
- Now possible to use in a switch statement
16Enumerations
- An even better choice of descriptive identifiers
for the constants.enum MovieRating
EXCELLENT, AVERAGE, BADrating
MovieRating.AVERAGEcase EXCELLENT ...
17Specifying a Drawing Color
- When drawing a shape inside an applets paint
method, think of the drawing being done with a
pen that can change colors. - The method setColor changes the color of the
"pen." - canvas.setColor(Color.YELLOW)
- Drawings done later appear on top of drawings
done earlier.
18Specifying a Drawing Color
- View sample program, Listing 3.5class YellowFace
Sample screen output
19Specifying a Drawing Color
- Predefined Colors for the setColor Method
20Dialog Box for a Yes/No Question
- Used to present the user with a yes/no question.
- The window contains
- The question text
- Two buttons labeled yes and no.
21Dialog Box for a Yes/No Question
- Example
- int answer
- JOptionPane.showConfirmDialog(null,
- "End program?",
- "Click Yes or No", JOptionPane.YES_NO_
OPTION) - if (answer JOptionPane.YES_OPTION)
- System.exit(0)
- else if (answer JOptionPane.NO_OPTION)
- System.out.println("One more time")
22Dialog Box for a Yes/No Question