Українська
Перші програми
Точка входу й перший запуск
Функція main є точкою входу. Тіло обмежено фігурними дужками; інструкції зазвичай розміщують у різних рядках без крапки з комою. Відступи не визначають блоки, але роблять структуру видимою. Назви стандартних функцій і ключові слова чутливі до регістру.
kotlin
fun main() {
println("Привіт, Kotlin!")
println("Програма працює на JVM")
}Результат містить два рядки:
text
Привіт, Kotlin!
Програма працює на JVMprintln додає перехід на новий рядок, print – ні. Збережіть файл як UTF-8. Для запуску натисніть значок біля main або виконайте з кореня проєкту:
powershell
.\gradlew.bat run --console=plainУ Linux/macOS використовуйте ./gradlew. Обгортка може завантажити Gradle під час першого запуску. Завершення BUILD SUCCESSFUL означає успіх задачі, а не правильність усіх формул вашої програми.
Знімок екрана
Show Main.kt and Run output with two Ukrainian lines.
Рис. 1.6. Код main та консоль успішного запуску
Для коментаря до кінця рядка використовують //, для багаторядкового – /* ... */. Коментар має пояснювати причину або обмеження, а не повторювати назву очевидної дії. Документаційні коментарі KDoc починаються з /**; вони стануть корисними під час створення власних API.
Приклад 2. Ім’я та рік народження
readln() читає рядок, а toInt() перетворює його на число. У першому прикладі домовимося, що користувач вводить цілий рік 1900–2026. Некоректний ввід поки завершує програму винятком; перевірку без винятку вивчатимемо в наступній темі.
kotlin
fun main() {
print("Ім’я: ")
val name = readln()
print("Рік народження: ")
val birthYear = readln().toInt()
val referenceYear = 2026
val ageAtYearEnd = referenceYear - birthYear
println("Вітаю, $name!")
println("Наприкінці $referenceYear: $ageAtYearEnd років")
}Для імені Олена й року 2006 підсумок – 20 років. Це вік наприкінці заданого року, а не точний вік сьогодні: для останнього потрібна повна дата народження. Назва змінної має допомагати побачити таку відмінність.
val дозволяє одне присвоєння посилання або значення. Коли результат визначається один раз, починайте з val. Запис $name вставляє значення в рядок. Складніший вираз можна записати як ${referenceYear - birthYear} у тексті програми; докладно шаблони розглянемо в темі 3.
У задачі Gradle run консольне введення потрібно явно передати через властивість standardInput у сценарії. Зворотні лапки навколо in у Kotlin дозволяють звернутися до Java-імені, що збігається з ключовим словом Kotlin. Якщо програма завершується без очікування вводу, перевірте цю конфігурацію та джерело стандартного вводу.
Приклад 3. Час у дорозі
Нехай відстань задана в кілометрах, швидкість стала й задана в кілометрах за годину. Час обчислюємо як відстань, поділену на швидкість. Для демонстрації використаємо значення, що дають цілу кількість хвилин; модель не враховує зупинок.
kotlin
fun main() {
val distanceKm = 150.0
val speedKmH = 60.0
val totalMinutes = (distanceKm / speedKmH * 60).toInt()
val hours = totalMinutes / 60
val minutes = totalMinutes % 60
println("Час: $hours год $minutes хв")
}Результат: Час: 2 год 30 хв. Для Int операція / виконує цілочисельне ділення, % знаходить остачу. toInt() відкидає дробову частину, а не округлює до найближчого цілого. За іншого контракту потрібно явно обрати правило округлення; не маскуйте різницю форматуванням.
Перевірте ще 60 км зі швидкістю 60 км/год: результат має бути рівно одна година. Швидкість нуль неприпустима для цієї моделі. Перевірка одиниць і допустимих значень часто знаходить помилку раніше, ніж налагоджувач.
Приклад 4. Аргументи командного рядка
Інша форма точки входу отримує Array<String>. Поки використовуємо лише розмір і два індекси; загальні операції над масивами та колекціями вивчатимемо пізніше.
kotlin
fun main(args: Array<String>) {
if (args.size != 2) {
println("Потрібні аргументи: ім’я група")
return
}
println("Ім’я: ${args[0]}")
println("Група: ${args[1]}")
}Запуск run --args="Olena KI-26" друкує ім’я й групу. Без аргументів програма пояснює очікуваний формат і завершується до доступу до індексів. Індекс першого елемента дорівнює нулю. У наступних роботах помилки CLI матимуть окремий код завершення, який може перевірити інша програма.
Параметри запуску IDE налаштовують у Run → Edit Configurations. Поле аргументів програми й поле параметрів JVM мають різне призначення. Не записуйте користувацьке ім’я як JVM option. Робочий каталог також належить конфігурації запуску.