Instruction
First, you need to understand the concepts of conditions and decision-making in programming.
Imagine you’re a teacher and you have to review your students’ assignments and assign them
relevant grades. Now, you want to write a simple program in Kotlin that translates the grades to
their descriptions. For example, an A
means Excellent, a B
means Very Good,
a C
- Good, and so on. You can use the if
statement to check the grade and print the
description accordingly. But, what is a condition? Take a look at the diagram below.
A condition is a decision-based statement that evaluates to either true
or false
— these are the
only two possible values. You can decide to execute some code only when a condition is met, or you
can choose to execute some code in case a condition is not met. And, you can chain multiple
conditions. You’ll learn all of this in this lesson.
In the diagram above, there are two conditions with three branches. The first condition results in
Excellent if the grade is A
, otherwise a second condition results in Very good
if the grade is B
. If both the conditions do not match, it results in Not so good.
The if
statement is the most basic form of decision-making in programming. As the name suggests,
it checks a condition and executes a block of code only if the condition is met. Or in other
words, if the expression evaluates to true
.
The syntax of the if
statement consists of the condition expression inside the parentheses and the
body inside the optional curly braces. You can put there any code you want. Program will execute all
that code if the condition is met. Without the curly braces, only the next line of code is a part of
the body. For instance the if
statement may look like this:
if (grade == 'A') {
println("Your grade is excellent")
println("You are the best")
}
In case of more than one condition, you can use the else if
statement. It allows you to check
another condition if the previous one is not met. For example:
if (grade == 'A') {
println("Your grade is excellent")
} else if (grade == 'B') {
println("You are very good")
}
Note the if
and else-if
branches are mutually exclusive. When the program encounters a matching
condition it won’t check any further ones.
Imagine there are percentages instead of the grades. And you have two conditions:
score > 90
-
score > 80
For the score of95
both conditions are met. But, the program will execute only the first one.
There is also an else
statement. It is always at the end of the chain. If none of the previous
conditions are met, the program executes the code inside the else
block. It is optional and you
can also use it without the else if
statement.
The next topic of this lesson is the variable’s scope. The scope of a variable defines the part of the code where it can be accessed. Take a look at the following image:
The yellow color occupies most of the space. But, on some parts of the image you can see the red and blue areas. There’s no yellow color inside them. They cover it completely.
Scopes work in a similar way. A variable is accessible only inside the scope where it’s declared. Another variable with the same name can cover one from the outer scope. This is called shadowing.
OK, that’s enough theory. It’s time to dive into the code!