Shart operatorlari va ularni ifoda sifatida ishlatish
9-sinfAndroid dasturlash4-hafta · 12-darsif-elseOddiy shart va zanjir
if - ifodaQiymat qaytaradi: ternar operator o‘rniga
whenQiymat, oraliq in, else
val yosh = 16println("Kelasi yil ${yosh + 1}") nima chiqaradi?
${...} ichidagi ifoda hisoblanadi: 16 + 1 = 17.Shart to‘g‘ri bo‘lsa - bir yo‘l, aks holda - boshqa
val yosh = 17
if (yosh >= 18) {
println("Xush kelibsiz!")
} else {
println("Kirish taqiqlanadi.")
}
Natija: Kirish taqiqlanadi.
val harorat = 28
if (harorat > 30) println("Juda issiq")
else if (harorat > 20) println("Iliq")
else if (harorat > 10) println("Salqin")
else println("Sovuq")
Shartlar yuqoridan pastga tekshiriladi, birinchi to‘g‘risi bajariladi: Iliq.
Kotlinda ? : ternar operator yo‘q
max = (a > b) ? a : b;val max = if (a > b) a else bif qiymat qaytaradiIfoda sifatida ishlatilganda else majburiy: qiymat har doim bo‘lishi kerak.
val son = 24
val son = 24
val tur = if (son % 2 == 0) "Juft" else "Toq"
println("$son soni - $tur son.")
val a = 15; val b = 25val k = if (a > b) a else b. k nimaga teng?
else qismidagi b qaytadi.Java’dagi switch o‘rniga, break siz
val fasl = 2
when (fasl) {
1 -> println("Qish")
2 -> println("Bahor")
3 -> println("Yoz")
4 -> println("Kuz")
else -> println("Noto'g'ri fasl raqami")
}
in 90..100
val ball = 88
val baho = when (ball) {
in 90..100 -> "5 (A'lo)"
in 70..89 -> "4 (Yaxshi)"
in 60..69 -> "3 (Qoniqarli)"
in 0..59 -> "2 (Qoniqarsiz)"
else -> "Noto'g'ri ball"
}
println("Natija: $baho")
12, 1, 2 -> "Qish"
in 13..18 -> "O'smir"
is String -> "matn"
when { x > 5 -> ... } - if-else zanjiri o‘rniga
val baho = when (ball) { in 90..100 -> "A'lo" in 70..89 -> "Yaxshi" } - nega kompilyatsiya bo‘lmaydi?
baho qiymatsiz qoladi. Shuning uchun else majburiy.TO‘XTANG! Harakatlanish taqiqlanadi.
DIQQAT! Harakatga tayyorlaning.
Ichida if (tezlik > 60): ogohlantirish yoki ruxsat.
val tur = if (...) ... else ...when va else.when ichida if.if-else, else if, if ifoda sifatida, when qiymat, oraliq va else bilan.
Yosh toifasi, mini-kalkulyator, chegirma tizimi.
Keyingi hafta: Kotlin davomi - sikllar va funksiyalar.