AXV

Kotlin: funksiyalar

fun, parametrlar, standart qiymatlar, nomlangan argumentlar

9-sinfAndroid dasturlash5-hafta · 14-dars

Bugun nimalarni o'rganamiz?

fun e'lon qilish

Funksiya: nom, tana, chaqirish

Parametrlar

Funksiyaga ma'lumot uzatish

Standart va nomlangan

Default qiymat va named argument

Takrorlash

for (i in 10 downTo 7) print(i) nima chiqaradi?

downTo kamayish tartibida: 10, 9, 8, 7.
01

fun e'lon qilish

Funksiya: nom, tana, chaqirish

Funksiya yo'li

fun hello() main() ichida hello()chaqiruv Tanabajariladi Chaqirilganda tana bajariladi

Birinchi funksiya


fun hello() {
    println("Hello Kotlin")
}

fun main() {
    hello()
    hello()
}
  
Funksiya ikki marta chaqirilgani uchun xabar ikki marta chiqadi. Bir kodni qayta yozmaslik funksiyaning asosiy foydasi.

Mini-test

Kotlinda funksiya qaysi kalit so'z bilan e'lon qilinadi?

Kotlinda fun, masalan fun hello().
02

Parametrlar

Funksiyaga ma'lumot uzatish

Parametr va argument

Argument:"Tom" Parametr: name Funksiyatanasi Natija chiqadi Argument parametrga o'tadi

Parametrli funksiya


fun showMessage(message: String) {
    println(message)
}

fun displayUser(name: String, age: Int) {
    println("Name: $name  Age: $age")
}

fun main() {
    showMessage("Salom, Kotlin!")
    displayUser("Tom", 36)
}
  
Argumentlar parametrlar tartibida beriladi: avval name, keyin age. Turi mos kelmasa kompilyator xato beradi.

Mini-test

fun f(n: Int) { n = n * 2 } nega xato?

Funksiya parametrlari faqat o'qish uchun.
03

Standart va nomlangan

Default qiymat va named argument

Standart qiymat yo'li

age = 18(default) Argumentberildimi? Ha: berilganqiymat Yo'q: 18ishlaydi Berilmagan parametr standart qiymat oladi

Default va named argument


fun displayUser(name: String, age: Int = 18, position: String = "Intern") {
    println("$name, $age yosh, $position")
}

fun main() {
    displayUser("Bob")
    displayUser("Tom", position = "Manager", age = 28)
}
  
displayUser("Bob") ishlaydi: age va position standart qiymat oladi. Nomlangan argumentlarni tartibdan qat'i nazar yozish mumkin.

Mini-test

fun f(a: Int, b: Int = 5). f(2) da b nimaga teng?

Berilmagan parametr standart qiymat oladi.

Argument berilgan va berilmagan

Argument berilsa

displayUser("Tom", 36): age = 36
VS

Berilmasa

displayUser("Bob"): age = 18 (default)

Standart qiymat funksiya chaqirishni qisqartiradi.

Funksiya atamalari. Bosing

Parametr

bosing

Funksiya e'lonidagi o'zgaruvchi: name: String

Argument

bosing

Chaqirishda beriladigan qiymat: "Tom"

Default qiymat

bosing

Parametrning boshlang'ich qiymati: age: Int = 18

Named argument

bosing

Nom bilan berish: age = 28

Funksiya yozish bosqichlari

1. Nom va vazifa

Funksiya nima qilishini aniqlab, fun nom() yozing.

2. Parametrlar

Kerakli ma'lumotlarni nom: Tur ko'rinishida qo'shing.

3. Chaqirish

main ichidan funksiyani chaqirib sinang.

Parametr turlari

YozuvMa'nosiMisol
fun hello()parametrsizhello()
name: Stringmajburiy parametrf("Tom")
age: Int = 18standart qiymatlif("Bob")
age = 28nomlangan argumentf("Tom", age = 28)

Pastga bosing: qoidalar

Argument qoidalari

  1. Nomlanmagan argumentlar parametrlar tartibida beriladi.
  2. Birinchi nomlangan argumentdan keyin hammasi nomlangan bo'ladi.
  3. Standart qiymatli parametrni tushirib qoldirish mumkin.

Funksiyaga o'tkazamiz


println("Salom, Tom!")
println("Salom, Bob!")
  

Funksiyaga o'tkazamiz


fun salom(ism: String) {
    println("Salom, $ism!")
}
salom("Tom")
salom("Bob")
  

Funksiya raqamlarda

0
parametr turi: oddiy, default, nomlangan
0
main: dastur boshlanish nuqtasi
0
parametrni o'zgartirish imkoni (val)

Parametr funksiya ichida val: o'zgartirib bo'lmaydi.

Amaliy topshiriq 20 daqiqa

OsonSalomlashish funksiyasi: showMessage(message: String) funksiyasini yozing va unga ikki xil matn bering.
O'rtaFoydalanuvchi ma'lumoti: displayUser(name: String, age: Int = 18) funksiyasini yozing. Uni "Bob" va "Tom", 28 bilan chaqiring.
QiyinNomlangan argumentlar: displayUser(name, age = 18, position = "Intern") funksiyasini yozing. Uni faqat ism, keyin position va age nom bilan, oxirida age ni tushirib chaqiring.

Dars xulosasi

fun

Funksiya e'lon qilish va chaqirish.

Parametrlar

nom: Tur; ular val hisoblanadi.

Default va named

Standart qiymat va nom bilan berish.

Uyga vazifa: salomlashish, yosh, hisoblagich funksiyalari.

Keyingi dars: Funksiyalar va sinflar (2-qism)

Sinflar, obyektlar, konstruktorlar va metodlar

5-hafta · 15-dars