С недавних пор я поступил на курсы от Samsung IT Accademy на направление - мобильные Android приложения на Kotlin. Как следует из названия, необходимо выучить такой язык программирования, как Kotlin.Думаю было бы неплохо перенести сюда некоторые из занятий в виде какого-то конспекта…
По-сути первое занятие было сегодня (01.10.2024), но из-за лабораторной по физике мне не удалось их посетить.
Работа с вводом-выводом какой-то информации из консоли является самой первой и самой базовой задачей в любом языке программирования. В Kotlin это делается с помощью следующих функций:
Именование функции | Действие |
---|---|
print() | Вывод информации в терминал в той же строке |
println() | Вывод информации в терминал на новую линию |
readln() | Считывание информации |
Переменные в Kotlin определяются очень интересным образом. Дело в том, что здесь они определяются не как в C, и не как в python. Принцип определения этих переменных чем-то схож с JavaScript, т.е по сути у нас есть изменяемые и не изменяемые переменные. В Kotlin изменяемые переменные - это var
, а не изменяемые val
.
fun main(){
var a = 5 // изменяемая переменная
val b = 10 // неизменяемая переменная
}
Да, я не упомянул, но принцип запуска кода в Kotlin такой же, как и в С++.
Другими словами существует основная main
функция, которая вызывается при запуске кода.
Условия в kotlin, как и в большинстве нормальных языков программирования работает по простой логике: если условие в скобках яляется правдой (т.е имеет тип данных true), то будет выполняться один блок кода, если же условие в скобках является ложью (т.е имеет тип данных false), то будет выполняться другое условие. Пример:
fun main(){
if (1 > 3){
println("1 больше 3")
}
}
В этом примере сравниваюстя 2 числа, причем 1 никогда не будет больше 3, т.е это улсовие не имеет смысла, и значит, что в консоль никогда не будет выведено “1 больше 3”. Если добавить исключение вида “иначе”:
fun main(){
if (1 > 3){
println("1 больше 3")
} else{
println("1 меньше 3")
}
}
Условие все еще не имеет смысла, потому что мы сравниваем две константы, но теперь программа будет выводить какой-то ответ. Как и везде, в kotlin есть несколько операторов, которые можно использовать для сравнения или математических операций. Они следующие:
Оператор | Действие |
---|---|
> | Первая переменная больше ли второй |
< | Первая переменная меньше ли второй |
!= | Не равны ли две переменные друг другу |
== | Равны ли две переменные друг другу |
Ну, как и везде, в целом…
Мы уже знаем одну функцию в kotlin - это функция main, которая вызавается при запуске программы.
fun main(){}
Если анализировать эту функция, то становиться понятно, что подобно def
в python или void
в C++, в Kotlin для обьявления функции используется ключевое слово fun
. Но есть один важный момент - в связи с тем, что иногда Kotlin не может подхватить какую-либо часть кода и объявить тип данных автоматически. Чаще приходиться самостоятельно прописывать возвращаемый тип данных функции. Делается это следующим образом:
fun factorial(var num: Int): Int{
if (num <= 1){
return 1;
}
return num*factorial(num-1);
}
В примере функция factorial
принимает один аргумент типа Int и возвращает именно тип данных Int.