flow of control flow of control
play

Flow of Control Flow of Control Recitation 09/(11,12)/2008 CS 180 - PowerPoint PPT Presentation

Flow of Control Flow of Control Recitation 09/(11,12)/2008 CS 180 CS 180 Department of Computer Science, Purdue University Project 2 j Now posted on the class webpage. Due Wed, Sept. 17 at 10 pm. Start early All


  1. Flow of Control Flow of Control Recitation – 09/(11,12)/2008 CS 180 CS 180 Department of Computer Science, Purdue University

  2. Project 2 j • Now posted on the class webpage. • Due Wed, Sept. 17 at 10 pm. • Start early All questions on the class Start early. All questions on the class newsgroup. • • Evening consulting hours Evening consulting hours. LWSN B146. MTW 7-10 pm. � 22

  3. Statements in Braces If and else parts in braces are preferred for even • a single statement a single statement. if (count < 3) { total = 0; } is better than is better than if (count < 3) total = 0;

  4. Statements in Braces Benefits to do this: Decreases the chance of introducing a bug when Decreases the chance of introducing a bug when • adding a new statement. Makes the program a little more “self- p g • documenting” (more readable and easier to maintain).

  5. == Is NOT Always Equal y q == should not be used to determine if two • objects have the same value including two objects have the same value, including two strings Even though (s1 == s2) might appear to work, • d do not use this. t thi Use (s1.equals(s2)) instead to compare two • strings. strings.

  6. Multibranch if-else Statements if-else if-else is different from a series of • if statements if statements. if (score >= 60) if (score >= 60) { { { { result = ‘P’; result = ‘P’; } } else if (score > 0) if (score > 0) { { result = ‘F’; result = ‘F’; } } else else else else { { result = ‘Z’; result = ‘Z’; } }

  7. Short-circuit Evaluation Can prevent problems. • if ((number != 0) && (sum/number > 5)) if ((number != 0) && (sum/number > 5)) Can produce problems! • if ((x.evaluate()) && (y.reassign())) if ((x evaluate()) && (y reassign())) • How to run y.reassign() every time? • Use & and | to replace && and || . if ((x.evaluate()) & (y.reassign())) (( ()) (y g ())) • But notice & and && are different!

  8. Input & Output of Boolean Values p p Example: boolean booleanVar = false; boolean booleanVar = false; System.out.println(booleanVar); System.out.println("Enter a boolean value:"); Scanner keyboard = new Scanner(System in); Scanner keyboard = new Scanner(System.in); booleanVar = keyboard.nextBoolean(); System.out.println("You entered " + booleanVar);

  9. Input & Output of Boolean Values p p Dialog: f l false Enter a boolean value: true Y You entered true t d t

  10. The switch Statement Syntax: switch (Controlling Expression) switch (Controlling_Expression) { case Case_Label: Statement(s); break; case Case_Label: _ … default: … }

  11. The switch Statement View sample program Listing 3.4 class MultipleBirths class MultipleBirths Sample Sample p p screen screen output output

  12. The switch Statement The action for each case typically ends with the • word break word break . The optional break statement prevents the • consideration of other cases. The controlling expression can be anything that • evaluates to an integral type.

  13. The switch Statement Example without break : switch (grade) switch (grade) { case ‘P’: System.out.print(“You have”); case ‘F’: System.out.print(“…No, you have not”); default: } System out println(“passed ”); System.out.println( passed. );

  14. Enumerations Consider a need to restrict contents of a variable • to certain values to certain values. An enumeration lists the values a variable can • have. Example • enum MovieRating {E, A, B} MovieRating rating; rating = MovieRating.A;

  15. Enumerations Now possible to use in a switch statement •

  16. Enumerations An even better choice of descriptive identifiers for • the constants the constants. enum MovieRating {EXCELLENT, AVERAGE, BAD} { , , } rating = MovieRating.AVERAGE; case EXCELLENT: ...

  17. Specifying a Drawing Color p y g g When drawing a shape inside an applet’s paint • method think of the drawing being done with a 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 Drawings done later appear on top of drawings • • done earlier.

  18. Specifying a Drawing Color p y g g View sample program, Listing 3.5 class YellowFace class YellowFace Sample Sample screen screen output output

  19. Specifying a Drawing Color p y g g Predefined Colors for the setColor Method:

  20. Dialog Box for a Yes/No Question g Used to present the user with a yes/no question. • The window contains The window contains • The question text � Two buttons labeled yes and no . Two buttons labeled yes and no . �

  21. Dialog Box for a Yes/No Question g Example: int answer = int answer = JOptionPane.showConfirmDialog(null, "End program?", "Click Yes or No:" "Click Yes or No:", JOptionPane.YES_NO_OPTION); if (answer == JOptionPane.YES_OPTION) System.exit(0); System.exit(0); else if (answer == JOptionPane.NO_OPTION) System.out.println("One more time");

  22. Dialog Box for a Yes/No Question g A Yes-or No-Dialog Box:

Recommend


More recommend