Control flow
Overview
if
and else
provide conditional execution of statements. Syntax is:
if (
boolean expression) {
statements}
[
else if (
boolean expression) {
statements}
] ...[
else {
statements}
]
Only one group of statements will execute:
- When the first
if
's boolean expression evaluates to true, its associated statements will execute. - When earlier boolean expressions evaluate to false and an
else if
's boolean expression evaluates to true, its associated statements will execute.... else if ...
is equivalent to... else { if ... }
, but without visible nesting of braces.
- When all boolean expressions evaluate to false, the
else
's associated statements will execute.
When a boolean expression evaluates to true, no later boolean expressions will evaluate.
Note that else if
may be repeated.
For example:
if (fruit.IsYellow()) {
Print("Banana!");
} else if (fruit.IsOrange()) {
Print("Orange!");
} else if (fruit.IsGreen()) {
Print("Apple!");
} else {
Print("Vegetable!");
}
fruit.Eat();
This code will:
- Evaluate
fruit.IsYellow()
:- When
True
, printBanana!
and resume execution atfruit.Eat()
. - When
False
, evaluatefruit.IsOrange()
:- When
True
, printOrange!
and resume execution atfruit.Eat()
. - When
False
, evaluatefruit.IsGreen()
:- When
True
, printOrange!
and resume execution atfruit.Eat()
. - When
False
, printVegetable!
and resume execution atfruit.Eat()
.
- When
- When
- When
Alternatives considered
References
- Proposal
#285:
if
andelse
- Proposal #623: Require braces