0% found this document useful (0 votes)
27 views19 pages

Switch and Looping

The document discusses loops in Java, including the while and do-while loops. The while loop tests a boolean expression before executing the loop body. The do-while loop executes the loop body first and then tests a boolean expression, ensuring the body runs at least once. Infinite loops occur when there is no way for the boolean expression to become false, causing indefinite iteration.

Uploaded by

Judith Nelson
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
27 views19 pages

Switch and Looping

The document discusses loops in Java, including the while and do-while loops. The while loop tests a boolean expression before executing the loop body. The do-while loop executes the loop body first and then tests a boolean expression, ensuring the body runs at least once. Infinite loops occur when there is no way for the boolean expression to become false, causing indefinite iteration.

Uploaded by

Judith Nelson
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 19

THE SWITCH STATEMENT

AND
INTRODUCTION TO
LOOPING
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:


• !
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
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.
The switch Statement
• General form of a switch statement:

switch (SwitchExpression) {
case CaseExpression1:
//One or more statements
break;
case CaseExpression2:
//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, 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 .
The switch Statement
• General form of a switch statement:

switch (SwitchExpression) {
case CaseExpression1:
//One or more statements
break;
case CaseExpression2:
//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 keyword break appears.
• After all of the case statements, there is the default case, which begins with the keyword default.
The switch Statement
• General form of a switch statement:

switch (SwitchExpression) {
case CaseExpression1:
//One or more statements
break;
case CaseExpression2:
//One or more statements
break;
default:
//One or more statements
}
• 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.
The switch Statement
if (x == 1)
y = 4;
if else (x == 2)
y = 9;
else
y = 22;
Is the same as…
switch (x) {
case 1:
y = 4;
break;
case 2:
y = 9;
break;
default:
y = 22;
}
switch Statement Example
• New Topics:
• The switch Statement
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?
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.
The while Loop
• 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.
The while Loop Flowchart

Boolean True
Statement or Block
Expression

False
while Loop Example
• New Topics:
• while Loop

number True
Print “Hello!” number++
<= 5

False

• 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.
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.
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.
The do-while Loop Flowchart

Statement or Block
True

Boolean
Expression

False
do-while Loop Example
• New Topic:
• do-while Loop

You might also like