2-bo‘lim

Muhitni sozlash va birinchi loyiha

JDK va Kotlin kompilyatorini o'rnatish, kotlinc bilan kompilyatsiya, IntelliJ IDEA, Gradle loyihasi va main funksiyasining shakllari.

🕑 13 daqiqa o‘qish 📄 705 so‘z 👁 0 marta ko‘rilgan
Ushbu bo‘lim mundarijasi
  1. 1-qadam: JDK
  2. 2-qadam: Kotlin kompilyatori
  3. Birinchi faylni kompilyatsiya qilish
  4. REPL - tezkor sinov
  5. 3-qadam: muharrir
  6. Gradle loyihasi
  7. main funksiyasining shakllari
  8. Xatoni o'qish
  9. Chiqarishning uch usuli
  10. Xulosa

Kotlin JVM ustida ishlaydi, shuning uchun avval JDK kerak. Keyin esa ikki yo'ldan birini tanlaysiz: qo'lda kompilyatsiya yoki tayyor muharrir.

1-qadam: JDK #

Terminal
java -version
Natija
openjdk version "21.0.10" 2026-01-20

Agar xato chiqsa, adoptium.net yoki oracle.com dan JDK 17 yoki undan yangisini o'rnating. Kotlin uchun 8 dan yuqori har qanday versiya yaraydi.

TizimUsul
WindowsAdoptium saytidan .msi
Linuxsudo apt install openjdk-21-jdk
macOSbrew install openjdk@21
JRE emas, JDK kerak

JRE faqat tayyor dasturlarni ishga tushiradi. Kompilyatsiya uchun JDK kerak.

Farqni tekshirish oson: javac -version ishlasa, sizda JDK bor. Faqat java -version ishlasa - JRE.

2-qadam: Kotlin kompilyatori #

Eng oddiy yo'l - kotlinlang.org dan kompilyator arxivini yuklab, bin papkasini PATH ga qo'shish.

Terminal
kotlinc -version
Natija
info: kotlinc-jvm 2.4.20 (JRE 21.0.10+7-Debian-1)

Boshqa yo'llar ham bor:

UsulBuyruq
SDKMAN (Linux/macOS)sdk install kotlin
Homebrew (macOS)brew install kotlin
Chocolatey (Windows)choco install kotlinc

Birinchi faylni kompilyatsiya qilish #

Salom.kt nomli fayl yarating:

KOTLIN
fun main() {
    println("Salom, Namangan!")
}
Natija
Salom, Namangan!

Keyin terminalda:

Terminal
kotlinc Salom.kt -include-runtime -d salom.jar
java -jar salom.jar
Natija
Salom, Namangan!
BayroqMa'nosi
-d salom.jarNatijani shu faylga yoz
-include-runtimeKotlin kutubxonasini ham ichiga sol

-include-runtime bo'lmasa, jar kichikroq bo'ladi, lekin ishga tushirishda Kotlin kutubxonasini alohida ko'rsatish kerak bo'ladi.

Kompilyatsiya sekin tuyuladi

Birinchi kotlinc chaqiruvi bir necha soniya davom etadi. Bu Kotlin ning sekinligi emas - JVM ning ishga tushishi shuncha vaqt oladi.

Haqiqiy loyihalarda Gradle ishlatiladi va u kompilyatorni fon rejimida ushlab turadi, shuning uchun keyingi qurishlar ancha tez bo'ladi.

REPL - tezkor sinov #

Bir qatorni tez sinab ko'rish uchun kompilyatsiya shart emas:

Terminal
kotlinc

Ochilgan oynada to'g'ridan-to'g'ri yozish mumkin:

Natija
>>> val sonlar = listOf(3, 1, 2)
>>> sonlar.sorted()
res1: kotlin.collections.List<kotlin.Int> = [1, 2, 3]
>>> :quit

Bu REPL deb ataladi. Yangi funksiyani eslab qolish uchun juda qulay.

3-qadam: muharrir #

MuharrirIzoh
IntelliJ IDEAKotlin ni yaratgan kompaniyaning o'zi qiladi. Community versiyasi bepul
Android StudioIntelliJ asosida; Android uchun
VS CodeKotlin kengaytmasi bilan; yengilroq, lekin imkoniyatlari kamroq

Kotlin uchun IntelliJ IDEA Community eng qulay tanlov: til va muharrir bitta jamoa tomonidan yozilgan.

Gradle loyihasi #

Bir fayldan katta narsa yozayotgan bo'lsangiz, qurish tizimi kerak. IntelliJ da "New Project > Kotlin > Gradle" ni tanlasangiz, quyidagi tuzilma paydo bo'ladi:

Oddiy Gradle loyihasi build.gradle.kts qurish sozlamalari src/main/kotlin/ sizning kodingiz build/ avtomatik yaratiladi Qaysi Kotlin versiyasi, qanday kutubxonalar kerakligi yoziladi. Main.kt shu yerda turadi. Faqat shu papkani tahrirlaysiz. Kompilyatsiya natijasi. git ga qo'shilmaydi.
Gradle kutubxonalarni o'zi yuklab oladi - qo'lda jar qidirish kerak emas

build.gradle.kts fayli shunday ko'rinadi:

KOTLIN
plugins {
    kotlin("jvm") version "2.4.20"
    application
}

repositories {
    mavenCentral()
}

dependencies {
    testImplementation(kotlin("test"))
}

application {
    mainClass.set("MainKt")
}

Diqqat qiling - bu fayl ham Kotlin da yozilgan. Gradle sozlamasi uchun alohida til o'rganish kerak emas.

Ishga tushirish:

Terminal
./gradlew run

main funksiyasining shakllari #

KOTLIN
fun main() {
    println("eng qisqa shakl")
}
Natija
eng qisqa shakl

Buyruq qatori argumentlari kerak bo'lsa:

KOTLIN
fun main(args: Array<String>) {
    println("Argumentlar soni: ${args.size}")
    if (args.isEmpty()) {
        println("Hech qanday argument berilmadi")
    }
}
Natija
Argumentlar soni: 0
Hech qanday argument berilmadi

Ikkalasi ham to'g'ri. Argumentlar kerak bo'lmasa, qisqasini yozing.

Fayl nomi va sinf nomi

Salom.kt fayli kompilyatsiya qilinganda SalomKt nomli sinf hosil bo'ladi - Kotlin fayl nomiga Kt qo'shadi.

Shuning uchun java -cp . MainKt deb yoziladi, Main emas. Bu xatoni birinchi marta hamma qiladi.

-include-runtime -d nom.jar bilan qilsangiz, bu haqda o'ylash kerak emas.

Xatoni o'qish #

Kompilyator xatoni shunday ko'rsatadi:

Natija
Salom.kt:2:5: error: unresolved reference: printl
    printl("Salom")
    ^
QismMa'nosi
Salom.kt:2:52-qator, 5-ustun
unresolved referenceBunday nom topilmadi
^Aynan shu joyda

Bu yerda println o'rniga printl yozilgan.

Chiqarishning uch usuli #

KOTLIN
fun main() {
    val ism = "Aziza"
    val ball = 92

    println("Ism: " + ism)
    println("Ball: $ball")
    println("Natija: ${ball + 8}")

    print("yangi qatorsiz ")
    print("davom etadi")
    println()
}
Natija
Ism: Aziza
Ball: 92
Natija: 100
yangi qatorsiz davom etadi
  • $nom - oddiy o'zgaruvchi uchun.
  • ${ifoda} - ifoda uchun; qavs majburiy.
  • print yangi qatorga o'tmaydi, println o'tadi.
Izohlar

Kotlin da izohlar C oilasidagidek yoziladi:

KOTLIN
// bir qatorli izoh

/*
   ko'p qatorli izoh
*/

/**
 * Hujjat izohi - funksiya yoki sinf ustida yoziladi.
 */
Amaliy topshiriq
  1. java -version va javac -version ni bajarib, JDK borligini tasdiqlang.
  2. kotlinc -version ni ishga tushiring.
  3. Salom.kt yaratib, uni jar qilib kompilyatsiya qiling.
  4. -include-runtime siz kompilyatsiya qilib, farqni ko'ring.
  5. REPL ni ochib, listOf(5, 2, 9).sorted() ni sinang.
  6. println ni ataylab xato yozib, xato matnini o'qing.
  7. main(args: Array<String>) shaklini ishlating va argument uzating.
  8. $nom va ${ifoda} farqini o'z misolingizda ko'rsating.
  9. print va println farqini ko'rsating.
  10. IntelliJ IDEA Community ni o'rnatib, yangi Gradle loyihasi yarating.

Xulosa #

  • Kotlin uchun avval JDK kerak - JRE yetarli emas.
  • kotlinc Fayl.kt -include-runtime -d nom.jar - eng oddiy kompilyatsiya.
  • kotlinc ni argumentsiz chaqirsangiz, REPL ochiladi.
  • Katta loyihalar uchun Gradle; uning sozlamasi ham Kotlin da yoziladi.
  • Main.kt fayli MainKt sinfiga aylanadi.
  • main() argumentsiz ham, args: Array<String> bilan ham bo'ladi.
  • Xato xabaridagi fayl:qator:ustun muammoni topishning eng tez yo'li.
  • $nom va ${ifoda} - satr ichiga qiymat qo'yishning ikki shakli.

Keyingi bo'limda o'zgaruvchilar va turlarni o'rganamiz.

Xatolik topdingizmi?

Imlo xatosi, ishlamaydigan kod yoki noto‘g‘ri ma‘lumotni ko‘rsangiz - bizga xabar bering. Har bir xabar administrator tomonidan ko‘rib chiqiladi.