Primeiro programa: Hello World e fundamentos de sintaxe em Kotlin
Что это и зачем?
Представь, что ты учишься играть в новую видеоигру. Первое, что ты делаешь — нажимаешь кнопку "Новая игра" и видишь заставку. В программировании такой "заставкой" считается программа, которая выводит на экран текст "Hello, World!" (Привет, мир!).
Зачем это нужно? Представь, что ты купил новый конструктор Lego. Ты не собираешь сразу огромный замок — сначала проверяешь, все ли детали на месте, соединяешь пару кубиков. Так и в программировании: "Hello, World!" — это проверка, что твой компьютер правильно понимает язык Kotlin и может выполнять простейшие команды.
Kotlin — это язык программирования, который используют для создания приложений на телефонах Android, веб-сайтов и даже игр. Он похож на английский язык, но с очень строгими правилами — как в математике. Если в обычном разговоре можно сказать "я вчера купил хлеб" или "хлеб я купил вчера", то в программировании порядок слов имеет значение.
Когда ты напишешь свою первую программу, ты поймёшь главное: компьютер — это очень умный, но очень буквальный друг. Он делает только то, что ты ему скажешь, и именно так, как ты скажешь. Если ты напишешь "напечатай привет", а не "напечатай Привет", компьютер может не понять тебя.
Синтаксис и примеры кода
Синтаксис — это правила написания кода. Как в русском языке есть правила: "жи-ши пиши с буквой и", так и в Kotlin есть свои правила. Давай посмотрим на них на примерах.
Пример 1: Классический Hello World
fun main() {
println("Hello, World!")
}
Разберём каждую строчку:
- fun main() — это как кнопка "Старт" в игре. Слово fun означает "функция" (действие), а main — "главная". Когда программа запускается, она ищет эту строчку и начинает выполнять всё, что внутри фигурных скобок {}.
- println — это команда "напечатай строку и перейди на новую строку". Буквально: print (печатай) + ln (line — новая линия).
- ("Hello, World!") — текст, который нужно напечатать. Он обязательно должен быть в кавычках, чтобы компьютер понял: это текст, а не команда.
- { } — фигурные скобки показывают, где начинается и заканчивается программа. Как стены дома: всё, что внутри — это программа.
Пример 2: Приветствие с именем
fun main() {
val имя = "Аня"
println("Привет, " + имя + "!")
}
Здесь мы познакомились с переменной. Переменная — это коробка, в которую можно положить значение. Представь, что у тебя есть коробка с надписью "имя", и ты кладёшь туда бумажку "Аня".
- val — сокращение от "value" (значение). Это слово говорит: "я создаю коробку, и её содержимое нельзя поменять". Если ты написал val имя = "Аня", то потом не сможешь написать имя = "Петя" — компьютер выдаст ошибку.
- + — знак сложения. Для текста он работает как склеивание: "Привет, " + "Аня" + "!" превращается в "Привет, Аня!".
Пример 3: Математика в Kotlin
fun main() {
val число1 = 10
val число2 = 5
val сумма = число1 + число2
println("Сумма: " + сумма)
}
Компьютер умеет считать! Здесь мы создали три переменные: число1 (значение 10), число2 (значение 5) и сумма (результат сложения). Когда программа дойдёт до строчки val сумма = число1 + число2, компьютер сначала посчитает 10 + 5 = 15, а потом положит результат в коробку "сумма".
Важно: числа пишутся без кавычек! Если написать val число1 = "10", то это будет текст, а не число. С текстом нельзя складывать как с числами — "10" + "5" даст "105", а не 15.
Пример 4: Ввод данных от пользователя
fun main() {
println("Как тебя зовут?")
val имя = readLine()
println("Приятно познакомиться, " + имя + "!")
}
Здесь программа спрашивает имя у пользователя. readLine() — это команда "прочитай строку с клавиатуры". Когда программа доходит до этой строчки, она останавливается и ждёт, пока ты что-то введёшь и нажмёшь Enter. Введённый текст сохраняется в переменную имя.
Обрати внимание: readLine() всегда возвращает текст (строку), даже если ты введёшь число. Если нужно число, придётся использовать специальную команду readLine()!!.toInt(), но это уже для следующего урока.
Пример 5: Комментарии в коде
fun main() {
// Это комментарий. Компьютер его игнорирует.
println("Привет!") // А это комментарий после команды.
/* А это многострочный комментарий.
Его можно растянуть на несколько строк.
Компьютер пропустит всё, что между /* и */ */
}
Комментарии — это заметки для себя и других программистов. Компьютер их не выполняет, они нужны, чтобы объяснить, что делает код. Представь, что ты пишешь рецепт и оставляешь пометки: "добавить соль по вкусу". Комментарии в коде — то же самое.
- // — однострочный комментарий. Всё после // до конца строки игнорируется.
- /* */ — многострочный комментарий. Можно закомментировать целый абзац.
Сравнение с Python
Python — ещё один популярный язык программирования, который часто учат первым. Давай посмотрим, как те же программы выглядят на Python.
| Действие | Kotlin | Python |
|---|---|---|
| Вывести текст | println("Привет") |
print("Привет") |
| Создать переменную | val имя = "Аня" |
имя = "Аня" |
| Сложить числа | val сумма = 10 + 5 |
сумма = 10 + 5 |
| Ввести данные | val имя = readLine() |
имя = input() |
| Главная функция | fun main() { ... } |
Не нужна (код пишется сразу) |
Главные отличия:
- Фигурные скобки: в Kotlin нужно обязательно ставить { } вокруг кода программы. В Python вместо них используются отступы (пробелы или табуляция). Если в Python ты забудешь отступ, программа не запустится.
- Типы переменных: в Kotlin ты можешь написать val или var (изменяемая переменная). В Python переменные создаются простым присваиванием: имя = значение.
- Строгие правила: Kotlin требует точку с запятой? Нет, но он требует правильного написания команд. Python более "свободный", но из-за этого легче допустить ошибку.
- Скорость: Kotlin работает быстрее, потому что он компилируется (переводится в машинный код) заранее. Python интерпретируется (переводится на лету), поэтому медленнее.
Какой язык выбрать? Если хочешь делать приложения для Android — учи Kotlin. Если хочешь быстро писать скрипты или заниматься наукой о данных — Python. Но для начала можно попробовать оба!
Типичные ошибки новичков
Даже опытные программисты иногда ошибаются. Вот список самых частых ошибок, которые делают новички в Kotlin:
Ошибка 1: Забыл фигурные скобки
// Неправильно:
fun main()
println("Привет")
// Правильно:
fun main() {
println("Привет")
}
Фигурные скобки — как дверь в комнату. Если забыть их, компьютер не поймёт, где начинается и заканчивается программа.
Ошибка 2: Не поставил кавычки у текста
// Неправильно:
println(Привет)
// Правильно:
println("Привет")
Без кавычек компьютер думает, что "Привет" — это команда или переменная. Он ищет её, не находит и выдаёт ошибку.
Ошибка 3: Перепутал val и var
// Неправильно:
val имя = "Аня"
имя = "Петя" // Ошибка! val нельзя менять.
// Правильно:
var имя = "Аня"
имя = "Петя" // Теперь можно.
Запомни: val — это константа (неизменяемое), var — переменная (изменяемое). Если ты знаешь, что значение не поменяется, используй val — это безопаснее.
Ошибка 4: Забыл скобки у readLine()
// Неправильно:
val имя = readLine
// Правильно:
val имя = readLine()
Скобки () показывают, что это команда (функция), а не переменная. Без скобок компьютер думает, что