CodeGym /Kurslar /JAVA 25 SELF /Metodların elan edilməsi və çağırılması, parametrlər

Metodların elan edilməsi və çağırılması, parametrlər

JAVA 25 SELF
Səviyyə , Dərs
Mövcuddur

1. Metodun elan sintaksisi

Java-da metodun elan edilməsi kulinariya kitabındakı reseptə bənzəyir: metodun nə qaytardığını (tip), adını, hansı inqrediyentlərin (parametrlərin) lazım olduğunu göstərirsiniz və reseptin özünü (metodun gövdəsini) yazırsınız.

Ümumi forma:


tip_vozvrashchaemogo_znacheniya imyaMetoda(parametry)
{
    // burada komandaları yazırıq
}
Metodun elanının ümumi forması
  • qaytarılan dəyərin tipi — metodun nə qaytardığı (məsələn, int, void — heç nə qaytarmırsa, String və s.).
  • metodun adı — sizin verdiyiniz ad (Java qaydalarına uyğun).
  • parametrlər — metodun istifadə edəcəyi dəyişənlərin siyahısı (boş ola bilər).
  • metodun gövdəsi — sizin komandalarınız, fiqurlu mötərizələrdə { }.

Parametrsiz metodlara nümunələr

void printHello() 
{
    System.out.println("Salam, dünya!");
}

İzah: void — metod heç nə qaytarmır; printHello — ad; () — parametr yoxdur.

Parametrlərlə metod nümunəsi

void printName(String name) 
{
    System.out.println("Salam, " + name + "!");
}

İzah: void — dəyər qaytarmır; printName — metodun adı; String name — String tipində bir parametr.

Bir neçə parametrlə metod nümunəsi

void printSum(int a, int b) 
{
    System.out.println("Cəm: " + (a + b));
}

İzah: parametrlər vergüllə ayrılır. Metodun daxilində onları adi dəyişənlər kimi istifadə edirik, + operatoru toplama aparır.

Vacibdir!

  • Metodlar sinifin daxilində elan olunur, lakin başqa metodların daxilində YOX.
  • Java-da metodları başqa metodların içində elan etmək olmaz — heç bir “matryoshka” yoxdur.

2. Metodun çağırılması

Metodu elan etmək — “Kofe hazırlayıram” yazılı lövhə asmaq kimidir. Kofenin həqiqətən hazırlanması üçün metodu çağırmaq lazımdır — onun adını yazın və parametrlərin dəyərlərini verin.

Metodu necə çağırmaq olar

Əgər metod eyni sinifdədir və static kimi elan olunubsa (main kimi), onu sadəcə adı ilə çağırmaq olar:

printHello();
printName("Alisa");
printSum(3, 5);

Əgər metod static deyilsə, onu obyekt vasitəsilə çağırmaq lazımdır (buna siniflər və obyektləri öyrənəndə qayıdacağıq).

Nümunə: metodu main-dən çağırmaq


public class MethodsDemo
{
    public static void main(String[] args) 
    {
        printHello();
        printName("Bob");
        printSum(10, 20);
    }

    static void printHello() 
    {
        System.out.println("Salam, dünya!");
    }

    static void printName(String name) 
    {
        System.out.println("Salam, " + name + "!");
    }

    static void printSum(int a, int b) 
    {
        System.out.println("Cəm: " + (a + b));
    }
}

Diqqət yetirin: metodlar static modifikatoru ilə elan olunub ki, onları main-dən çağırmaq mümkün olsun (o da static-dir).

3. Parametrlər və arqumentlər: bunlar nədir?

Parametrlər — metod elan edilərkən mötərizədə göstərilən dəyişənlərdir.
Arqumentlər — metodu çağıranda verdiyiniz real dəyərlərdir.

Bənzətmə: Parametrlər — alış-veriş siyahısı kimidir; Arqumentlər — səbətə həqiqətən qoyduqlarınızdır.

Nümunə


      static void greet(String name)  // name — parametr
{
    System.out.println("Salam, " + name + "!");
}

public static void main(String[] args) 
{
    greet("Katya"); // "Katya" — arqument
    greet("Vasya"); // "Vasya" — arqument
}

greet("Katya") çağıranda, metodun içində name dəyişəni "Katya"-ya bərabər olacaq.

Bir neçə parametr


      static void printInfo(String name, int age)
{
    System.out.println("Ad: " + name + ", yaş: " + age);
}

public static void main(String[] args) 
{
    printInfo("Masha", 25);
    printInfo("Petya", 31);
}

Diqqət! Parametrlərin tipləri və ardıcıllığı metodu necə elan etmisinizsə, onunla üst-üstə düşməlidir.

4. Təcrübə: öz metodlarımızı yazırıq

İstifadəçinin adı ilə salamlayan metod


static void sayHelloTo(String name)
{
    System.out.println("Salam, " + name + "!");
}

public static void main(String[] args)
{
    sayHelloTo("Andrey");
    sayHelloTo("Elvira");
}

İki ədədin cəmini hesablayan metod


static void printSum(int a, int b)
{
    int sum = a + b;
    System.out.println("Cəm: " + sum);
}

public static void main(String[] args) 
{
    printSum(7, 8);
    printSum(15, -5);
}

Massivin elementlərini çap edən metod


      static void printArray(int[] array)
{
    System.out.print("Massiv: ");
    for (int i = 0; i < array.length; i++) 
    {
        System.out.print(array[i] + " ");
    }
    System.out.println();
}

public static void main(String[] args) 
{
    int[] nums = {1, 2, 3, 4, 5};
    printArray(nums);
}

Eyni sətiri n dəfə çap edən metod


      static void repeatPrint(String text, int n)
{
    for (int i = 0; i < n; i++) 
    {
        System.out.println(text);
    }
}

public static void main(String[] args) 
{
    repeatPrint("Java — əladır!", 3);
}

5. Metodlar tətbiqi necə qurmağa kömək edir

Sadə konsol oyunu və ya kalkulyator yazmaq istəsəniz, hər tapşırığı ayrıca metod kimi tərtib etsəniz, kod daha aydın olacaq.

Nümunə: mini-kalkulyator


public class Calculator
{
    public static void main(String[] args) 
    {
        printGreeting();
        printSum(3, 7);
        printDifference(10, 4);
    }

    static void printGreeting() 
    {
        System.out.println("Kalkulyatora xoş gəlmisiniz!");
    }

    static void printSum(int a, int b) 
    {
        System.out.println("Cəm: " + (a + b));
    }

    static void printDifference(int a, int b) 
    {
        System.out.println("Fərq: " + (a - b));
    }
}

Gələcəkdə yeni metodlar (vurma, bölmə, ədədlər massivi ilə iş və s.) əlavə edə biləcəksiniz və tətbiq uzun bir kod yığınına çevrilmədən böyüyəcək.

6. Faydalı incəliklər

Metod adları

  • Metod adı adətən kiçik hərflə başlayır və camelCase üslubunda yazılır: printSum, sayHelloTo, calculateArea.
  • Ad hərəkəti əks etdirməlidir. doStuffmethod1-dən çəkinin.

Parametrlərin ardıcıllığı

  • Çağırışda parametrlərin ardıcıllığına və tiplərinə əməl edin.
  • Əgər metod printInfo(String name, int age) qəbul edirsə, printInfo(25, "Masha") çağırmaq olmaz.

Eyni adlı iki metodu elan etmək olar?

Bəli, əgər onların parametr siyahıları fərqlidirsə (tiplər və ya say fərqlidirsə). Bu, metodların aşırı yüklənməsidir:

static void printSum(int a, int b) { /* ... */ }
static void printSum(int a, int b, int c) { /* ... */ }

Bu mövzuya ayrıca mühazirə həsr ediləcək — hələlik bilmək kifayətdir ki, Java bir ada yalnız bir metodla məhdudlaşmır.

7. Metodlar və parametrlərlə işləyərkən tipik səhvlər

Xəta № 1: Çağırışda parametrlərin sayı və ya tipləri uyğun gəlmir.
Əgər metod printSum(int a, int b) kimi elan edilibsə, siz onu printSum(5) kimi çağırsanız, kompilyator belə metodun mövcud olmadığını bildirəcək. Oxşar olaraq, printSum("beş", 7) — tip xətasıdır.

Xəta № 2: Parametrlərlə arqumentləri qarışdırırlar.
Metodun elanında parametrlər yazılır (məsələn, int a, int b), çağırışda isə — arqumentlər (printSum(5, 7)). main-də eyni adlarla dəyişənlər yaratmağa ehtiyac yoxdur — əsas olan tiplərin və ardıcıllığın uyğunluğudur.

Xəta № 3: Metodu metodun içində elan etməyə çalışırlar.
Java-da metodlar yalnız sinif səviyyəsində elan olunur. Başqa bir metodun içində elan etmək olmaz.

Xəta № 4: static-dən main-dən çağırış üçün istifadə etmirlər.
Əgər metodu main-dən çağırırsınızsa, ya elanına static əlavə edin, ya da obyekt yaradıb metodu onun üzərindən çağırın. Təfərrüatlar — daha sonra, OOP bölməsində.

1
Tapşırıq
JAVA 25 SELF, səviyyə, dərs
Bağlanıb
Yeni istifadəçiyə şəxsi salamlaşma 👋
Yeni istifadəçiyə şəxsi salamlaşma 👋
1
Tapşırıq
JAVA 25 SELF, səviyyə, dərs
Bağlanıb
Alış-verişin sürətli qiymət hesablanması 💰
Alış-verişin sürətli qiymət hesablanması 💰
1
Tapşırıq
JAVA 25 SELF, səviyyə, dərs
Bağlanıb
Kadrlar şöbəsi üçün işçi kartının yaradılması 👩‍💻
Kadrlar şöbəsi üçün işçi kartının yaradılması 👩‍💻
1
Tapşırıq
JAVA 25 SELF, səviyyə, dərs
Bağlanıb
Müxtəlif formalı obyektlərin ölçülərinin layihələndirilməsi 📐
Müxtəlif formalı obyektlərin ölçülərinin layihələndirilməsi 📐
Şərhlər
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION