Найти в Дзене
Voyti v it

Условные конструкции языка Kotlin глазами чайника.

Оглавление

Продолжаю изучать язык программирования Kotlin по учебнику.

Пока ознакомился со средой разработки IntelliJ, слегка прошелся по функциям, переменным, константам и базовыми типами данных.

Сейчас наступила очередь знакомиться с условными конструкциями. Итак.

Условные конструкции

Начав погружаться в айтишную тематику, в глаза бросилось огромное количество умных и непонятных слов и словосочетаний. Это немного осложняет восприятие информации. Поэтому будем разбираться с "нуля".

Итак. Начнем со слово конструкция. Если говорить на простом языке, под словом конструкция подразумевается обычное выражение, т.е. текстовая команда, содержащее какое - либо условие.

Как пример: Купить шашлык. Это простая конструкция (команда), которая будет выполняться по простому сценарию: оделся - пошел в магазин - увидел товар с надписью на ценнике "шашлык" - купил - принес домой. Вроде все просто. теперь усложняем: Условная конструкция - это команда, содержащая условие. например: Купить свежий шашлык . Данная конструкция уже содержит условие: шашлык должен быть свежий. Соответственно такая команда, программа должна исполняться, выбрав один из нескольких сценариев:

1. Пошел в магазин - увидел товар с надписью на ценнике "шашлык" - убедился, что он свежий - купил - принес домой.

2. Пошел в магазин - увидел товар с надписью на ценнике "шашлык" - убедился, что он не свежий - пошел в другой магазин - увидел товар с надписью на ценнике "шашлык" - убедился, что он свежий - купил - принес домой.

или 3. Свежего шашлыка сегодня в продаже нет, поэтому покупать и кушать не будем.

Это сильно упрощенно. Думаю как-то так все и работает.

Вернемся к учебнику Kotlin и посмотрим на наглядном примере, как работают условные конструкции при описании состояния здоровья игрока.

Пример условной конструкции Kotlin
Пример условной конструкции Kotlin

На этой картинке все просто. Создаем начальную точку программы - функцию main, в теле которой (в фигурных скобках) будут все инструкции, которые необходимо выполнять программе.

Далее создаем необходимые переменные : имя героя (name); healthPoints (очки здоровья); благословение (isBlessed) и условные команды (конструкции).

Как это работает:

if (healthPoints == 100) {
println(name + " в отличном состоянии!")
}
// эта запись означает: если у героя 100 очков здоровья, то программа выводит на экран информацию, что герой в отличном состоянии.

Но условная конструкция не может содержать только одно выражение if

( если). Необходимо еще одно выражение else (иначе)

В законченном виде, простая условная конструкция будет содержать связку if/else и иметь следующий вид:

if (healthPoints == 100) {
println(name + " в отличном состоянии!")
} else {
println(name + " в ужасном состоянии!")
}
на русском языке это будет выглядеть так: Если очков здоровья 100, то герой в отличном состоянии. Иначе - герой в ужасном состоянии.

Ну в первом, самом простом приближении, условные конструкции работают таким образом.

Немного усложненный вариант - если нужно расширить возможности оценки здоровья героя.

Для этого применяется связка else/if.

Работает это так:

if (healthPoints == 100) {
println(name + " в отличном состоянии!")
} else if (healthPoints >=90) {
println(name + " есть несколько царапин.")
} else {

println(name + " в ужасном состоянии!")

}

Опять переводим смысл на русский:

Если у героя 100 очков здоровья, то герой в отличном состоянии.

Иначе если (else if) у героя 90 очков, его состояние - есть несколько царапин.

Иначе - герой в ужасном состоянии.

В общем связка else if позволяет добавлять сколько угодно условий, уточняющих состояние здоровья нашего героя.

Условная конструкция с вложенным оператором

Есть вариант немного сложнее - когда к условной конструкции добавляется вложенный оператор (В нашем случае - isBlessed (благословение). На примере из учебника это выглядит так:

if (healthPoints == 90) {

if (isBlessed) {
println(name + " имеет небольшие ранки, но заживает довольно быстро!")
}
else {
println(name + " в ужасном состоянии!")
}

}
Для того, чтобы все работало корректно сначала добавим переменную isBlessed (благословение), присвоим ей значение "истина" (trye) и после чего добавим эту переменную в нужное место (в нашем случае - добавляем к условию
if (healthPoints == 90) дополнительное условие (естественно в исполнительную часть программы - фигурные скобки) вот такое выражение (конструкцию)

if (isBlessed) {

println(name + " имеет небольшие ранки, но заживает довольно быстро!")

}

после чего, обязательно добавляем выражение "иначе" (else):

else {

println(name + " в ужасном состоянии!")

}

по смыслу, на русском, это будет выглядеть так:

"Если у героя 90 очков здоровья и есть благословение, то герой имеет небольшие ранки, но заживает довольно быстро.

Иначе - герой в ужасном состоянии".

Вложенные операторы позволяют добавлять дополнительные ветви внутрь существующих ветвей, что помогает уточнять условия.

В общем я эту тему понял так.

Идем учить следующую тему.