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.
Ushbu bo‘lim mundarijasi
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 #
java -version
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.
| Tizim | Usul |
|---|---|
| Windows | Adoptium saytidan .msi |
| Linux | sudo apt install openjdk-21-jdk |
| macOS | brew install openjdk@21 |
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.
kotlinc -version
info: kotlinc-jvm 2.4.20 (JRE 21.0.10+7-Debian-1)
Boshqa yo'llar ham bor:
| Usul | Buyruq |
|---|---|
| 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:
fun main() {
println("Salom, Namangan!")
}
Salom, Namangan!
Keyin terminalda:
kotlinc Salom.kt -include-runtime -d salom.jar
java -jar salom.jar
Salom, Namangan!
| Bayroq | Ma'nosi |
|---|---|
-d salom.jar | Natijani shu faylga yoz |
-include-runtime | Kotlin kutubxonasini ham ichiga sol |
-include-runtime bo'lmasa, jar kichikroq bo'ladi, lekin ishga
tushirishda Kotlin kutubxonasini alohida ko'rsatish kerak bo'ladi.
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:
kotlinc
Ochilgan oynada to'g'ridan-to'g'ri yozish mumkin:
>>> 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 #
| Muharrir | Izoh |
|---|---|
| IntelliJ IDEA | Kotlin ni yaratgan kompaniyaning o'zi qiladi. Community versiyasi bepul |
| Android Studio | IntelliJ asosida; Android uchun |
| VS Code | Kotlin 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:
build.gradle.kts fayli shunday ko'rinadi:
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:
./gradlew run
main funksiyasining shakllari #
fun main() {
println("eng qisqa shakl")
}
eng qisqa shakl
Buyruq qatori argumentlari kerak bo'lsa:
fun main(args: Array<String>) {
println("Argumentlar soni: ${args.size}")
if (args.isEmpty()) {
println("Hech qanday argument berilmadi")
}
}
Argumentlar soni: 0
Hech qanday argument berilmadi
Ikkalasi ham to'g'ri. Argumentlar kerak bo'lmasa, qisqasini yozing.
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:
Salom.kt:2:5: error: unresolved reference: printl
printl("Salom")
^
| Qism | Ma'nosi |
|---|---|
Salom.kt:2:5 | 2-qator, 5-ustun |
unresolved reference | Bunday nom topilmadi |
^ | Aynan shu joyda |
Bu yerda println o'rniga printl yozilgan.
Chiqarishning uch usuli #
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()
}
Ism: Aziza
Ball: 92
Natija: 100
yangi qatorsiz davom etadi
$nom- oddiy o'zgaruvchi uchun.${ifoda}- ifoda uchun; qavs majburiy.printyangi qatorga o'tmaydi,printlno'tadi.
Kotlin da izohlar C oilasidagidek yoziladi:
// bir qatorli izoh
/*
ko'p qatorli izoh
*/
/**
* Hujjat izohi - funksiya yoki sinf ustida yoziladi.
*/
java -versionvajavac -versionni bajarib, JDK borligini tasdiqlang.kotlinc -versionni ishga tushiring.Salom.ktyaratib, uni jar qilib kompilyatsiya qiling.-include-runtimesiz kompilyatsiya qilib, farqni ko'ring.- REPL ni ochib,
listOf(5, 2, 9).sorted()ni sinang. printlnni ataylab xato yozib, xato matnini o'qing.main(args: Array<String>)shaklini ishlating va argument uzating.$nomva${ifoda}farqini o'z misolingizda ko'rsating.printvaprintlnfarqini ko'rsating.- IntelliJ IDEA Community ni o'rnatib, yangi Gradle loyihasi yarating.
Xulosa #
- Kotlin uchun avval JDK kerak -
JREyetarli emas. kotlinc Fayl.kt -include-runtime -d nom.jar- eng oddiy kompilyatsiya.kotlincni argumentsiz chaqirsangiz, REPL ochiladi.- Katta loyihalar uchun Gradle; uning sozlamasi ham Kotlin da yoziladi.
Main.ktfayliMainKtsinfiga aylanadi.main()argumentsiz ham,args: Array<String>bilan ham bo'ladi.- Xato xabaridagi
fayl:qator:ustunmuammoni topishning eng tez yo'li. $nomva${ifoda}- satr ichiga qiymat qo'yishning ikki shakli.
Keyingi bo'limda o'zgaruvchilar va turlarni o'rganamiz.
O‘qish tarixini saqlamoqchimisiz?
Tizimga kirsangiz, tugatgan bo‘limlaringiz saqlanadi va qoldirgan joyingizdan davom etasiz.
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.