Switch Statements
Comparing Exact Values
The Switch Statement
The switch statement
provides another way to
decide which statement to
execute next
The switch statement
evaluates an expression,
then attempts to match the
result to one of several
possible cases
The match must be an
exact match.
switch ( expression ){
case value1 :
statement-list1
case value2 :
statement-list2
case value3 :
statement-list3
case ...
}
The Switch Statement
Each case
contains a value
and a list of
statements
The flow of control
transfers to
statement
associated with
the first case value
that matches
switch ( expression ){
case value1 :
statement-list1
case value2 :
statement-list2
case value3 :
statement-list3
case ...
}
Switch - syntax
The general syntax of a switch statement is:
switch
and
case
are
reserved
words
switch ( expression ){
case value1 :
statement-list1
case value2 :
statement-list2
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
statement in each case's
statement list
A break statement causes
control to transfer to the
end of the switch
statement
If a break statement is not
used, the flow of control will
continue into the next case
switch ( expression ){
case value1 :
statement-list1
break;
case value2 :
statement-list2
break;
case value3 :
statement-list3
break;
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':
aCount++;
break;
case 'B':
bCount++;
break;
case 'C':
cCount++;
break;
}
switch (option){
case 'A':
aCount++;
case 'B':
bCount++;
case 'C':
cCount++;
}
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
with
default
case:
switch (option){
case 'A':
aCount++;
break;
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??
Toswitchornotto
switch,thatsthe
question.
java/Switch/SwitchExample.java
SwitchNboolean.java
SwithcNothers.java