Conditionals
Table of contents
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, printApple!and resume execution atfruit.Eat(). - When
False, printVegetable!and resume execution atfruit.Eat().
- When
- When
- When
Alternatives considered
References
- Proposal #285:
ifandelse - Proposal #623: Require braces