You are on page 1of 11

Switch Statements

Comparing Exact Values


The Switch Statement
• The switch statement
provides another way to
decide which statement to switch ( expression ){
execute next case value1 :
statement-list1
• The switch statement case value2 :
evaluates an expression, statement-list2
then attempts to match the case value3 :
result to one of several statement-list3
possible cases case ...
• The match must be an }
exact match.

2
The Switch Statement
• Each case
contains a value switch ( expression ){
and a list of case value1 :
statements statement-list1
case value2 :
• The flow of control statement-list2
case value3 :
transfers to statement-list3
statement case ...
associated with
the first case value }
that matches
3
Switch - syntax
• The general syntax of a switch statement is:
switch
switch ( expression ){
and
case value1 :
case
statement-list1
are
case value2 :
reserved
statement-list2
words
case value3 :
statement-list3
case ...
If expression
} matches value3,
control jumps
to here
The Switch Statement
• The break statement can
be used as the last switch ( expression ){
statement in each case's case value1 :
statement list statement-list1
break;
• A break statement causes case value2 :
control to transfer to the statement-list2
end of the switch break;
statement case value3 :
statement-list3
• If a break statement is not break;
used, the flow of control will case ...
continue into the next case
}
Switch Example
• Examples of the switch statement:
switch (option){
case 'A':
aCount++;
break;
case 'B':
bCount++;
break;
case 'C':
cCount++;
break;
}
Switch – no breaks!!!
• Another Example:
switch (option){
case 'A': switch (option){
aCount++; case 'A':
break; aCount++;
case 'B': case 'B':
bCount++; bCount++;
break; case 'C':
case 'C': cCount++;
cCount++; }
break;
}
Switch - default
• A switch statement can have an optional default
case

• The default case has no associated value and


simply uses the reserved word default

• If the default case is present, control will transfer to


it if no other case value matches

• If there is no default case, and no other value


matches, control falls through to the statement after
the switch
The switch Statement

• Switch switch (option){


with case 'A':
default aCount++;
break;
case: case 'B':
bCount++;
break;
case 'C':
cCount++;
break;
default:
otherCount++;
break;
}
To Switch or not to Switch
• The expression of a switch statement must result in an
integral type, meaning an integer (byte, short, int,
long) or a char

• It cannot be a boolean value or a floating point value


(float or double)

• The implicit boolean condition in a switch statement is


equality

• You cannot perform relational checks with a switch


statement
Questions??

To switch or not to
switch, that’s the
question….

java/Switch/SwitchExample.java
SwitchNboolean.java
SwithcNothers.java

You might also like