Продолжаю изучать язык программирования Kotlin по учебнику.
Пока ознакомился со средой разработки IntelliJ, слегка прошелся по функциям, переменным, константам и базовыми типами данных.
Сейчас наступила очередь знакомиться с условными конструкциями. Итак.
Условные конструкции
Начав погружаться в айтишную тематику, в глаза бросилось огромное количество умных и непонятных слов и словосочетаний. Это немного осложняет восприятие информации. Поэтому будем разбираться с "нуля".
Итак. Начнем со слово конструкция. Если говорить на простом языке, под словом конструкция подразумевается обычное выражение, т.е. текстовая команда, содержащее какое - либо условие.
Как пример: Купить шашлык. Это простая конструкция (команда), которая будет выполняться по простому сценарию: оделся - пошел в магазин - увидел товар с надписью на ценнике "шашлык" - купил - принес домой. Вроде все просто. теперь усложняем: Условная конструкция - это команда, содержащая условие. например: Купить свежий шашлык . Данная конструкция уже содержит условие: шашлык должен быть свежий. Соответственно такая команда, программа должна исполняться, выбрав один из нескольких сценариев:
1. Пошел в магазин - увидел товар с надписью на ценнике "шашлык" - убедился, что он свежий - купил - принес домой.
2. Пошел в магазин - увидел товар с надписью на ценнике "шашлык" - убедился, что он не свежий - пошел в другой магазин - увидел товар с надписью на ценнике "шашлык" - убедился, что он свежий - купил - принес домой.
или 3. Свежего шашлыка сегодня в продаже нет, поэтому покупать и кушать не будем.
Это сильно упрощенно. Думаю как-то так все и работает.
Вернемся к учебнику 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 очков здоровья и есть благословение, то герой имеет небольшие ранки, но заживает довольно быстро.
Иначе - герой в ужасном состоянии".
Вложенные операторы позволяют добавлять дополнительные ветви внутрь существующих ветвей, что помогает уточнять условия.
В общем я эту тему понял так.
Идем учить следующую тему.