flow of control recitation – 09/(11,12)/2008
DESCRIPTION
Flow of Control Recitation – 09/(11,12)/2008. CS 180 Department of Computer Science, Purdue University. Project 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. - PowerPoint PPT PresentationTRANSCRIPT
Flow of Control Recitation – 09/(11,12)/2008
CS 180Department of Computer Science, Purdue University
• 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.
Project 2
• If and else parts in braces are preferred for even a single statement.if (count < 3){
total = 0;}is better thanif (count < 3)
total = 0;
Statements in Braces
Statements in BracesBenefits 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).
== 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.
Multibranch if-else Statements• if-else if-else is different from a series of
if statements.
if (score >= 60){
result = ‘P’;
}else if (score > 0){
result = ‘F’;
}else{
result = ‘Z’;
}
if (score >= 60){
result = ‘P’;
}if (score > 0){
result = ‘F’;
}else{
result = ‘Z’;
}
Short-circuit Evaluation• Can prevent problems.if ((number != 0) && (sum/number > 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!
Input & Output of Boolean ValuesExample:
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);
Input & Output of Boolean ValuesDialog:falseEnter a boolean value: trueYou entered true
The switch StatementSyntax:
switch (Controlling_Expression){
case Case_Label:Statement(s);break;
case Case_Label:…default:…
}
The switch Statement
View sample program Listing 3.4 class MultipleBirths
Sample screen output
The 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.
The 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.”);
Enumerations• Consider a need to restrict contents of a variable
to certain values.• An enumeration lists the values a variable can
have.• Example
enum MovieRating {E, A, B}MovieRating rating;rating = MovieRating.A;
Enumerations• Now possible to use in a switch statement
Enumerations• An even better choice of descriptive identifiers for
the constants.
enum MovieRating {EXCELLENT, AVERAGE, BAD}rating = MovieRating.AVERAGE;
case EXCELLENT: ...
Specifying a Drawing Color• When drawing a shape inside an applet’s 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.
Specifying a Drawing ColorView sample program, Listing 3.5
class YellowFace
Sample screen output
Specifying a Drawing ColorPredefined Colors for the setColor Method:
Dialog 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.
Dialog 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");
Dialog Box for a Yes/No Question
A Yes-or No-Dialog Box: