Conditional (computer programming)
Conditionals allow blocks of code to give different results based on true or false. The data type that allows for true or false is called a boolean.
If-else or If-then-else
[change | change source]The if statement is the most basic kind of conditional. It checks that a condition is true, then does an action based on a block of code.
if (condition) { } // code for if the condition is true
By adding an else statement, it will be done, if the condition is false.
if (condition) { } // code for if the condition is true
else { } // code if the condition is false
Else-if
[change | change source]By adding the else if
statement, it is possible to check several conditions in a row, and do actions when the condition it checks for is true.
if (condition) { } // code for if this condition is true
else if (condition) { } // code for if this condition is true
else if (condition) { } // code for if this condition is true
else { } // code for if none of the above conditions happen (false)
Ternary operator (?:)
[change | change source]A ternary operator is a special operator that is easier to type out and represents conditional statements in several programming languages.
?
equals if
and :
equals else
. Instead of if
A then
B else
C, it would be A ?
B :
C.
int var = (condition) ? X : Y;
Some languages do not use the ternary operator, but do similar, by typing out the if and else statement on the same line.
int var = if (condition) X else Y
Case, switch, and match statements
[change | change source]Switch statement is the most common term, but it might be called case or match, depending on the language. The switch statement can be used to replace if-else if-else statements.
Pascal: | C: | V (Vlang): |
---|---|---|
case someChar of
'a': actionA;
'x': actionX;
'y','z':actionYandZ;
else actionNoMatch;
end;
|
switch (someChar) {
case 'a': actionA; break;
case 'x': actionX; break;
case 'y':
case 'z': actionYandZ; break;
default: actionNoMatch;
}
|
match some_char {
'a' {action_a}
'x' {action_x}
'y','z' {action_y_z}
else {action_no_match}
}
|