valvəvararasındakı fərqi izah etməkInt,Long,Double,Boolean,CharvəStringtiplərindən istifadə etmək- Hesab əməllərini yerinə yetirmək və tipləri bir-birinə çevirmək
$və${}ilə sətir şablonları yazmaq
Telefonundakı oyun sənin adını, xallarını, səviyyəni və səsin açıq olub-olmadığını yadda saxlayır. Bunlar müxtəlif növ məlumatlardır: mətn, tam ədəd, bəli/xeyr cavabı. Proqram belə məlumatları dəyişənlərdə saxlayır, Kotlin isə hər dəyişənin tipini diqqətlə izləyir ki, səhvən mətni ədədə bölməyəsən.
val və var
Kotlin-də dəyişən iki sözdən biri ilə yaradılır. val (value — qiymət) yalnız oxunan dəyişəndir: ona qiymət bir dəfə verilir və sonra dəyişdirilə bilməz. var (variable — dəyişən) isə istənilən vaxt yeni qiymət ala bilər. Qiymət vermək üçün = işarəsi işlədilir.
fun main() {
val name = "Aysel"
var score = 10
println(name)
println(score)
score = score + 5
score += 3
println(score)
}Aysel 10 18
score += 3 yazılışı score = score + 3 deməkdir.Əsas tiplər və tipin avtomatik müəyyənləşdirilməsi
| Tip | Nümunə | Nə saxlayır |
|---|---|---|
Int | 15, -3 | tam ədədlər (təxminən ±2,1 milyard) |
Long | 8_000_000_000L | çox böyük tam ədədlər |
Double | 3.14, 2.5 | kəsr ədədlər |
Boolean | true, false | doğru və ya yalan |
Char | 'A' | bir simvol, tək dırnaqda |
String | "Baku" | mətn, qoşa dırnaqda |
Tipi hər dəfə yazmaq lazım deyil: val age = 15 yazanda kompilyator özü başa düşür ki, age Int-dir. Buna tipin avtomatik müəyyənləşdirilməsi (type inference) deyilir. İstəsən, tipi iki nöqtədən sonra açıq da göstərə bilərsən: val age: Int = 15. Böyük ədədləri oxumaq asan olsun deyə rəqəmləri alt xətlə ayırmaq olar: 1_000_000.
fun main() {
val age: Int = 15
val height = 1.62
val isStudent = true
val grade = 'A'
val worldPopulation = 8_000_000_000L
println(age)
println(height)
println(isStudent)
println(grade)
println(worldPopulation)
}15 1.62 true A 8000000000
Int-ə sığmır, ona görə sonuna L yazıb Long edirik.Hesab əməlləri və tiplərin çevrilməsi
Kotlin-də +, -, *, / və qalığı tapan % əməlləri var. Diqqət: iki Int-in bölünməsinin nəticəsi də Int olur, kəsr hissə atılır — 7 / 2 3 verir. Kəsr nəticə lazımdırsa, ədədlərdən biri Double olmalıdır. Kotlin tipləri özbaşına çevirmir, bunu toInt(), toDouble(), toString() kimi funksiyalarla açıq etmək lazımdır.
fun main() {
val apples = 7
val kids = 2
println(apples / kids)
println(apples % kids)
println(apples / 2.0)
println(apples.toDouble() / kids)
val price = "25".toInt()
println(price * 2)
println(9.99.toInt())
}3 1 3.5 3.5 50 9
toInt() kəsr hissəni yuvarlaqlaşdırmır, sadəcə atır: 9.99 → 9.Sətirlər və şablonlar
Mətni parçalardan + ilə yığmaq olar, amma Kotlin-də daha rahat yol var — sətir şablonları. Sətrin içində $ və dəyişənin adını yazırsan, onun qiyməti avtomatik yerinə qoyulur. Bütöv ifadə üçün fiqurlu mötərizə işlədilir: ${age + 1}.
fun main() {
val name = "Murad"
val city = "Baku"
val age = 14
println("$name lives in $city.")
println("Next year $name will be ${age + 1}.")
println("The name has ${name.length} letters.")
println("Hello, " + name + "!")
}Murad lives in Baku. Next year Murad will be 15. The name has 5 letters. Hello, Murad!
Sətirlərin çoxlu faydalı funksiyası var. length uzunluğu verir, [0] birinci simvolu götürür (sayma sıfırdan başlayır), uppercase() və lowercase() hərflərin böyüklüyünü dəyişir:
fun main() {
val word = "Kotlin"
println(word.length)
println(word.uppercase())
println(word.lowercase())
println(word[0])
println(word.last())
println(word.contains("lin"))
println(word.reversed())
println("ha".repeat(3))
println(" hello ".trim() + "!")
}6 KOTLIN kotlin K n true niltoK hahaha hello!
Əsas fikirlər
valyalnız oxunan dəyişəndir,var-a isə yeni qiymət vermək olar; mümkün olduqcavalseç.- Kompilyator tipi qiymətdən özü müəyyən edir:
val x = 2.5—Double-dır. - İki
Int-in bölünməsiIntverir (7 / 2=3);%qalığı tapır. - Tiplər avtomatik çevrilmir:
toInt(),toDouble(),toString()işlət. - Sətir şablonları:
"$name"dəyişəni,"${a + b}"isə ifadəni sətrə yerləşdirir.
Özünü yoxla
10 sual. Hər düzgün cavab XP qazandırır.