Presentation is loading. Please wait.

Presentation is loading. Please wait.

The switch Statement, DecimalFormat, and Introduction to Looping

Similar presentations


Presentation on theme: "The switch Statement, DecimalFormat, and Introduction to Looping"— Presentation transcript:

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

2 Review Binary logical operators combine…
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 switch Statement switch (SwitchExpression) { case CaseExpression1:
General form of a switch statement: switch (SwitchExpression) { case CaseExpression1: //One or more statements break; case CaseExpression2: default: } switch – keyword that begins a switch statement SwitchExpression – a variable or expression that has to be either char, byte, short, or int. 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 switch Statement switch (SwitchExpression) { case CaseExpression1:
General form of a switch statement: switch (SwitchExpression) { case CaseExpression1: //One or more statements break; case CaseExpression2: default: } 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 keyword break appears. After all of the case statements, there is the default case, which begins with the keyword default.

7 The switch Statement switch (SwitchExpression) { case CaseExpression1:
General form of a switch statement: switch (SwitchExpression) { case CaseExpression1: //One or more statements break; case CaseExpression2: default: } What this does is compare the value of SwitchExpression to 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 CaseExpressions are equal to SwitchExpression, then the statements below the default case are executed.

8 The switch Statement if (x == 1) y = 4; if else (x == 2) y = 9; else
Is the same as… switch (x) { case 1: break; case 2: 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, or int. Without the break; at the end of the statements associated with a case statement, the program “falls through” to the next case statement’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. DecimalFormat identifier = new DecimalFormat(formattingPattern); Also like when you create Scanner object, you must include an import statement before the class header: import java.text.DecimalFormat;

12 The DecimalFormat Class
formattingPattern is 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 while Loop while (BooleanExpression) Statement or Block
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 while Loop Flowchart
Boolean Expression Statement or Block True False

18 while Loop Example New Topics: while Loop
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 <= 5 Print “Hello!” True False number++

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
Boolean Expression Statement or Block True False

22 do-while Loop Example New Topic: do-while Loop

23


Download ppt "The switch Statement, DecimalFormat, and Introduction to Looping"

Similar presentations


Ads by Google