1 / 23

The switch Statement, DecimalFormat , and Introduction to Looping

The switch Statement, DecimalFormat , and Introduction to Looping. CS0007: Introduction to Computer Programming. Review. You can test a series of condition with the… if-else if statement Nesting is… enclosing one structure inside of another. Binary logical operators combine…

gin
Download Presentation

The switch Statement, DecimalFormat , and Introduction to Looping

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. The switch Statement, DecimalFormat, and Introduction to Looping CS0007: Introduction to Computer Programming

  2. Review • You can test a series of condition with the… • if-else if statement • Nesting is… • enclosing one structure inside of another. • Binary logical operators combine… • two boolean expressions into one. • Binary logical operators: • && • || • Unary logical operator: • !

  3. Review • What does the == operator compare when the operands are strings? • Their references • What should you use instead of logical operators when comparing strings? • equals • compareTo • A variable has block-level scope if… • It is declared inside of a block • A variable that is declared inside of a block has scope beginning at… • It’s declaration • A variable that is declared inside of a block has scope ending at… • The end of the block in which it was declared

  4. The switch Statement • It is often the case that you want the value of a single variable decide which branch a program should take: if (x == 1) statement or block 1 if else (x == 2) statement or block 2 if else (x == 3) statement or block 3 else statement or block 4 • This is tedious and not very aesthetically pleasing. • Java provides a structure that lets the value of a variable or expression decide which branch to take • This structure is called a switch statement.

  5. The switchStatement • General form of a switch statement: switch(SwitchExpression){ caseCaseExpression1: //One or more statements break; caseCaseExpression2: //One or more statements break; default: //One or more statements } • switch– keyword that begins a switch statement • SwitchExpression – a variable or expression that has to be either char, byte, short, orint. • case – keyword that begins a case statement (there can be any number of case statements) • CaseExpression1 – a literal or final variable that is of the same type as SwitchExpression.

  6. The switchStatement • General form of a switch statement: switch(SwitchExpression){ caseCaseExpression1: //One or more statements break; caseCaseExpression2: //One or more statements break; default: //One or more statements } • Inside a case statement, one or more valid programming statements may appear. • After the statement(s) inside of a case statement’s block, often the keywordbreakappears. • After all of the case statements, there is the default case, which begins with the keyword default.

  7. The switchStatement • General form of a switch statement: switch(SwitchExpression){ caseCaseExpression1: //One or more statements break; caseCaseExpression2: //One or more statements break; default: //One or more statements } • What this does is compare the value of SwitchExpressionto each CaseExpressions. • If they are equal, the statements after the matching case statement are executed. • Once the break keyword is reached, the statements after the switch statement’s block are executed. • break is a keyword that breaks the control of the program out of the current block. • If none of the CaseExpressionsare equal to SwitchExpression, then the statements below the default case are executed.

  8. The switchStatement if (x == 1) y = 4; if else (x == 2) y = 9; else y = 22; Is the same as… switch(x){ case1: y = 4; break; case2: y = 9; break; default: y = 22;}

  9. switch Statement Example • New Topics: • The switch Statement

  10. The switch Statement Notes • The CaseExpression of each case statement must be unique. • The default section is optional. • Again, the SwitchExpression and all of the CaseExpressions must be either char, byte, short, orint. • Without the break; at the end of the statements associated with a casestatement, the program “falls through” to the next casestatement’s statements, and executes them. • If this is what you actually want, then leave out the break;, but often it isn’t. • Why doesn’t default statement have a break; at the end?

  11. The DecimalFormat Class • Java has a default way of displaying floating-point numbers, but it is often the case you want to display them in a particular format • The Java API provides a class to do this called DecimalFormat. • You create a DecimalFormat object much like how you created a Scanner object. DecimalFormatidentifier= newDecimalFormat(formattingPattern); • Also like when you create Scanner object, you must include an import statement before the class header: importjava.text.DecimalFormat;

  12. The DecimalFormat Class • formattingPatternis an argument passed to the DecimalFormat constructor that tells it what format to display the floating-point numbers. • Each character in the corresponds with a position in the number • # - specifies that a digit should be displayed if present • 0 - specifies that a digit should be displayed if present, but if not 0 should be displayed • %- placed at the end to multiply the number by 100 and place the % character at the end. • To apply the format to a number, you must use the format method of the DecimalFormat object. decimalformatIdentifier.format(floatingPointNumber)

  13. DecimalFormat Example • New Topics: • DecimalFormat class

  14. The printf method • Another way to format output is with the printf method from the out object in the System class. • System.out.printf(FormatString, ArgumentList); • This is a formatting method taken from old C formatting • It is very powerful, and somewhat easy to use. • The book goes over some examples of how it can be used. • Also there are many, many examples of how to use this online.

  15. Loops • So far we have used decision structures to determine which statements are executed and which are not depending on a condition. • We used this for: • Validation • General control flow • More specifically, we’ve used decision structures to execute statements that follow the condition one or zero times. • What if we want the user to keep trying to put in valid input until she succeeds? • How would we do this with decision structures? • Can we? • Answer: No • Solution: Loops • A loop is a control structure that causes a statement or group of statements to repeat. • We will discuss three (possibly four) looping control structures. • They differ in how they control the repitition.

  16. The whileLoop • The first looping control structure we will discuss is the while loop. • General Form: while(BooleanExpression) Statement or Block • First, the BooleanExpression is tested • If it is true, the Statement or Block is executed • After the Statement or Block is done executing, the BooleanExpression is tested again • If it is still true, the Statement or Block is executed again • This continues until the test of the BooleanExpression results in false. • Note: the programming style rules that apply to decision statements also apply.

  17. The whileLoop Flowchart Boolean Expression True Statement or Block False

  18. while Loop Example • New Topics: • whileLoop • Here, number is called a loop control variable. • A loop control variable determines how many times a loop repeats. • Each repetition of a loop is called an iteration. • The a while loop is known as a pretest loop, because it tests the boolean expression before it executes the statements in its body. • Note: This implies that if the boolean expression is not initially true, the body is never executed. number++ number <= 5 True Print “Hello!” False

  19. Infinite Loops • In all but rare cases, loops must contain a way to terminate within themselves. • In the previous example number was incremented so that eventually number <= 5 would be false. • If a loop does not have a way of terminating it’s iteration, it is said to be an infinite loop, because it will iterate indefinitely. • This is a bad logic error! • ...often, but always in this class • If we removed number++ from the previous example, it would be an infinite loop. • Can also be created by putting a semicolon after the loop header or not using brackets properly.

  20. The do-while Loop • while loops are considered pretest, but Java also provides a posttest loop called the do-while loop: do Statement or Block while(BooleanExpression); • Here, the Statement or Block is executed first • Next, the BooleanExpression is tested • If true, the Statement or Block is executed • Then the BooleanExpression is tested • This continues until the BooleanExpression is false. • Again, this is a posttest loop, meaning the BooleanExpression is tested at the end. • Note that this means the Statement or Block will ALWAYS be executed at least once. • Also not the semicolon at the end of the last line.

  21. The do-while Loop Flowchart Statement or Block True Boolean Expression False

  22. do-whileLoop Example • New Topic: • do-while Loop

More Related