Kotlin с нуля: первая программа и println

В этом уроке мы начнем Kotlin с нуля: запустим первую программу, разберем fun main, println, val, var, простые типы и сделаем маленький расчет в коде. Цель не в том, чтобы пересказать синтаксис, а в том, чтобы у вас сразу появился повторяемый рабочий пример

К концу урока вы сможете открыть Kotlin Playground или IntelliJ IDEA, вставить код, запустить его и понять, почему Kotlin выглядит короче Java, но при этом остается строгим JVM-языком

Что получится в конце

Первый пример:

fun main() {
    val language = "Kotlin"
    val lessons = 8

    println("Language: $language")
    println("Lessons planned: $lessons")
}

Ожидаемый вывод:

Language: Kotlin
Lessons planned: 8

Если вы видите эти две строки, стартовый цикл готов: код написан, Kotlin его выполнил, результат проверен глазами

Где запускать первый код

Самый быстрый путь — Kotlin Playground. Он запускается в браузере и не требует установки. Для первого урока этого достаточно: вы видите редактор, кнопку Run и вывод

Если хотите сразу работать как в реальном проекте, используйте IntelliJ IDEA. Kotlin встроен в IntelliJ IDEA и Android Studio, поэтому для JVM и Android-сценариев это нормальный старт

Не начинайте с Gradle, если вы еще не написали ни одной строки. Сначала поймите fun main, переменные и вывод, потом переходите к проектной сборке

fun main: точка входа

Строка:

fun main() {

объявляет функцию main. Именно с нее начинается обычная консольная программа Kotlin

fun означает функцию. main — специальное имя точки входа. Фигурные скобки ограничивают тело функции: все, что должно выполниться при запуске, находится внутри них

Минимальная программа:

fun main() {
    println("Hello, Kotlin")
}

Если забыть закрывающую скобку, среда покажет ошибку синтаксиса. Это хороший первый тест: не бойтесь сообщений компилятора, читайте первую ошибку сверху

println и строковые шаблоны

println печатает значение и переводит вывод на новую строку:

println("Hello")
println("Kotlin")

В строках можно подставлять переменные:

val name = "Dinar"
println("Hello, $name")

Если нужно вставить выражение, используйте фигурные скобки:

val price = 1200
val discount = 200

println("Final price: ${price - discount}")

Это называется string template. В учебных примерах он делает код заметно чище, чем склеивание строк через +

val и var

val объявляет переменную, которую нельзя переназначить:

val language = "Kotlin"

var объявляет переменную, которую можно менять:

var attempts = 0
attempts = attempts + 1

Практическое правило простое: начинайте с val. Если значение действительно должно меняться, переходите на var. Так код становится спокойнее: меньше случайных изменений, проще читать намерение

Kotlin часто сам выводит тип:

val lessons = 8

Компилятор понимает, что это Int. Но можно указать тип явно:

val lessons: Int = 8

Для первых уроков используйте явный тип там, где это помогает читателю, а не в каждой строке подряд

Первый расчет

Сделаем маленький учебный расчет:

fun main() {
    val price = 1500
    val discount = 250
    val finalPrice = price - discount

    println("Price: $price")
    println("Discount: $discount")
    println("Final price: $finalPrice")
}

Проверьте вывод:

Price: 1500
Discount: 250
Final price: 1250

Здесь уже видно несколько привычек Kotlin: переменные объявляются через val, имена пишутся в camelCase, строковый шаблон подставляет значения в текст

Как изменить пример под себя

Добавьте процент скидки:

fun main() {
    val price = 2000
    val discountPercent = 15
    val discount = price * discountPercent / 100
    val finalPrice = price - discount

    println("Final price: $finalPrice")
}

Пока все числа целые, результат тоже целый. Если вам нужны копейки, дроби или финансовая точность, тема становится отдельной. Для первого урока целых чисел достаточно

Теперь поменяйте price и discountPercent и запустите снова. Код должен пересчитывать итог без ручной правки вывода

Домашка: карточка пользователя

Сделайте программу, которая хранит:

  • имя
  • город
  • возраст
  • количество пройденных уроков

Выведите три строки:

Student: Dinar from Kazan
Age: 32
Kotlin lessons completed: 1

Дополнительная задача: добавьте переменную nextLesson и напечатайте, что открыть дальше. Не используйте var, если значение не меняется

Мини-практика: маленький чек-лист уроков

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

fun main() {
    val courseName = "Kotlin"
    val plannedLessons = 8
    val completedLessons = 1
    val remainingLessons = plannedLessons - completedLessons

    println("Course: $courseName")
    println("Completed: $completedLessons / $plannedLessons")
    println("Remaining: $remainingLessons")
}

Здесь важно не количество строк, а принцип: программа хранит исходные данные отдельно, вычисляет производное значение отдельно и только потом печатает результат. Такой порядок легче читать, чем если сразу писать всю арифметику внутри println

Поменяйте completedLessons на 2, затем на 8. Вывод должен меняться без правки текста руками. Это первый маленький тест на то, что переменные действительно используются как данные, а не как украшение

Типы без перегруза

Kotlin умеет выводить типы, но полезно знать базовые:

val title: String = "Kotlin"
val count: Int = 8
val rating: Double = 4.8
val isReady: Boolean = true

String хранит текст, Int — целое число, Double — дробное число, Booleantrue или false. На первом этапе этого достаточно

Если компилятор может вывести тип, не обязательно писать его в каждой строке:

val title = "Kotlin"

Но когда значение неочевидно или функция возвращает сложный тип, явная аннотация помогает читателю. Не нужно превращать Kotlin в Java-стиль с лишней многословностью, но и не надо скрывать важный смысл

Проверка через намеренную ошибку

Попробуйте написать:

val lessons = 8
lessons = 9

Kotlin покажет ошибку, потому что val нельзя переназначить. Это не мелкая синтаксическая придирка, а принцип: если значение не должно меняться, язык помогает это удержать

Теперь замените val на var:

var lessons = 8
lessons = 9

Код пройдет. Сравните ощущения: var разрешает изменение, но делает программу менее предсказуемой. Поэтому правило «сначала val» действительно работает в повседневном Kotlin

Частые ошибки и порядок проверки

Не запускается код в Playground Проверьте, что весь код находится внутри fun main(). Обычные инструкции верхнего уровня могут работать в отдельных режимах, но новичку спокойнее держать старт внутри main

Путаются кавычки Строки пишутся в двойных кавычках: "Kotlin". Одинарные кавычки нужны для одного символа: 'K'

Пытаетесь изменить val Если написали val attempts = 0, строка attempts = 1 не пройдет. Используйте var только если изменение действительно нужно

Строковый шаблон не сработал Проверьте, что переменная внутри строки пишется как $name или ${expression}, а сама строка в двойных кавычках

Как читать первую ошибку компилятора

Если Kotlin показывает несколько ошибок, начинайте с первой. Часто одна пропущенная кавычка или скобка порождает цепочку сообщений ниже

Простой порядок:

  1. Найти первую строку с ошибкой
  2. Проверить строку выше и строку ниже
  3. Исправить одну проблему
  4. Запустить снова

Не пытайтесь чинить сразу весь список. Это правило особенно помогает на старте, когда сообщения IDE кажутся слишком шумными

Что может быть еще интересно по этой теме

Kotlin подходит новичку? Да, если вы готовы к строгому компилятору и хотите JVM, Android или современный синтаксис. Но совсем без установки проще начать через Playground

Kotlin заменяет Java? Не полностью. Kotlin хорошо работает рядом с Java и часто используется там, где важны лаконичность, null safety и Android-разработка

Нужно ли сразу учить Android? Нет. Сначала полезно освоить базовый Kotlin: функции, nullable-типы, data class и коллекции. Android добавляет отдельный слой SDK и UI

Что открыть дальше? Если код запускается, следующий практичный шаг — установка среды. После этого можно разбирать null safety, потому что это одна из главных причин популярности Kotlin

Что почитать дальше по Kotlin

Оцените статью
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x