Java dasturlash tilida Funksiya parametrlari va argumentlar!
Funksiyalar parametrlar qabul qilishi mumkin. Parametrlar funksiyaga uzatiladigan ma'lumotlar ro'yxatidir. Funksiyani chaqirishda, parametrlar argumentlar sifatida uzatiladi.
Quyidagi misolda, greet funksiyasi nomni o'zgartiruvchi ism bilan qabul qiladi va unga salom beradi:
public static void greet(String name) {
System.out.println("Assalomu alaykum, " + name + "!");
}
greet("Ali");
Bu kodda, greet funksiyasi String tipidagi name parametrini qabul qiladi va unga salom beradi. greet funksiyasini chaqirishda, "Ali" qiymati argument sifatida uzatiladi. Natijada konsolga "Assalomu alaykum, Ali!" chiqadi.
Bir nechta parametrlar uchun, parametrlar vergul bilan ajratiladi:
public static void printFullName(String firstName, String lastName) {
System.out.println("Full name: " + firstName + " " + lastName);
}
printFullName("John", "Doe");
Bu kodda, printFullName funksiyasi firstName va lastName parametrlarini qabul qiladi va ularni yig'indisini konsolga chop etadi. printFullName funksiyasini chaqirishda, "John" va "Doe" qiymatlari argumentlar sifatida uzatiladi. Natijada konsolga "Full name: John Doe" chiqadi.
Java dasturlash tilida Rekursiya!
Rekursiya, funksiyani o'z ichiga chaqirish usuli hisoblanadi. Boshqa so'zlar bilan, funksiya o'zini chaqiradi.
Rekursiv funksiyalar ko'p turingli hisoblanadi, ya'ni ularning bajarilishi uchun ko'p marta chaqirish zarur bo'ladi. Misol uchun, faktorialni hisoblash funksiyasi rekursiv bo'lib hisoblanadi:
public static int factorial(int n) {
if (n == 0) { return 1;
} else {
return n * factorial(n-1); }}
Bu kodda, factorial funksiyasi int tipidagi n parametrini qabul qiladi va n! ni hisoblaydi. factorial funksiyasi o'zini chaqirish orqali ish bajaradi. Agar n 0 ga teng bo'lsa, funksiya 1 ni qaytaradi. Aks holda, funksiya n ni n-1 ga ko'paytirib o'zini chaqiradi. Natijada, faktorial hisoblanadi.
factorial(5);
Bu kodda, factorial funksiyasi 5 qiymatini argument sifatida qabul qiladi. Natijada, 5! ni hisoblash uchun o'zini chaqiradi va 120 ni qaytaradi.
Rekursiv funksiyalar juda foydali bo'lishi mumkin, ammo ularni yaxshi tushuntirish va yozish zarur. Agar rekursiv funksiyalar noto'g'ri yozilsa, o'sha funksiyalar infinite loop yaratadi va dastur to'xtaydi.
Do'stlaringiz bilan baham: |