الدوال Methods في جافا

الدوال Methods

عبارة عن مجموعة من الأوامر أو الاكواد تحت اسم معين لعمل مهمة محددة تعمل فقط عندما يتم استدعائها ، ويتم تطبيقها علي مدخلات “parameters” أو بدونها ويمكن أن تعود بقيمة او لاتعود .

Syntax

				
					static void myMethod() {
  // code to be executed
}
				
			

توضيح :

  1. static سنحاول توضيحها في دروس البرمجة الكائنية التوجه
  2. void تعني ان الدالة لا تقوم بارجاع اي قيمة
  3. myMethod اسم الدالة ويمكن كتابة اي اسم اختياري

مثال

				
					public class Example {

  static void myMethod() {
    System.out.println("Hello World");
  }

  public static void main(String[] args) {
    myMethod();    //  الاستدعاء
  }

}
				
			

Output :
Hello World

شرح المثال

في هذه المثال قمنا بانشاء دالة ثانية وقمنا بتسميتها myMethod وهذه الدالة فقط تعمل على طباعة رسالة كمثال بسيط وتم أستدعائها داخل الدالة الرئيسية الmain

مثال ثاني استدعاء الدالة اكثر من مرة

				
					public class Example {

  static void myMethod() {
    System.out.println("Hello World");
  }

  public static void main(String[] args) {

    myMethod();
    myMethod();
    myMethod();

  }

}
				
			

Output :
Hello World
Hello World
Hello World

مثال ثاني استدعاء الدالة اكثر من مرةعمل اكثر من دالة

				
					public class Example {

  static void method1() {
      System.out.println("I am Method 1");
  }

  static void method2() {
      System.out.println("I am Method 2");
  }


  public static void main(String[] args) {

    method1();
    method2();

  }

}
				
			

Output :
I am Method 1
I am Method 2

معاملات الدوال Methods Parameters

يمكن تمرير البيانات او المعلومات الى الدوال methods كمعاملات Parameters , والمعاملات هي متغيرات داخل الدالة يتم كتابتها داخل الاقواس بعد اسم الدالة ويمكن اضافة العديد من المعاملات بدون تقييد.

Syntax

				
					static void myMethods(param1,param2,...) {
  // code to be executed
}
static void student(String name,int degree) {
  // code to be executed
}
				
			

مثال الاول

في هذا المثال مررنا معامل parameter واحد من نوع string ليتم طباعته

				
					public class Example {


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

 public static void main(String[] args) {

   printName("Saif");
   printName("Ali");
   printName("Ahmed");

 }


}
				
			

Output :
Hello Saif
Hello Ali
Hello Ahmed

مثال ثاني

في هذا المثال مررنا معاملين two parameter واحد من نوع String والثاني من نوع int

				
					public class Example {

 static void student(String name,int age) {
   System.out.println("Name :"+name+",Age :"+age);
 }

 public static void main(String[] args) {

   student("Saif",25);
   student("Ali",19);

 }

}
				
			

Output :
Name :Saif, Age :25
Name :Ali, Age :19

مثال ثالث

في هذا المثال تم أستخدام اربعة دوال لأجراء عمليات الجمع والطرح والضرب والقسمة :

				
					public class Example {

  static void sumMethod(int num1,int num2) {
    int sum=num1+num2;
    System.out.println("Sum = "+sum);
  }

  static void subMethod(int num1,int num2) {
    int sub=num1-num2;
    System.out.println("Sub = "+sub);
  }

  static void mulMethod(int num1,int num2) {
    int mul=num1*num2;
    System.out.println("Mul = "+mul);
  }


  static void divMethod(int num1,int num2) {
    int div=num1/num2;
    System.out.println("Div = "+div);
  }

 public static void main(String[] args) {

    sumMethod(5,10);
    subMethod(20,10);
    mulMethod(2,6);
    divMethod(10,2);

 }

}
				
			

Output :
Sum = 15
Sub = 10
Mul = 12
Div = 5

الارجاع في الدوال Return Methods

في هذا المثال نتعرف كيفية التعامل مع الارجاع return في الدوال

return تستخدم لأرجاع قيمة بعد معالجتها الى الدالة الرئيسية ليتم تضمينها في متغير أو أجراء معالجات أخرى عليها ضمن الدالة الرئيسية .

انواع الارجاع في الدروس السابقة تم تعريف جميع الدوال على انها void اي ان الدالة لا ترجع اي قيمة اما في الدرس التالي سنتعلم كيف ان الدالة تقوم بارجاع قيم من اي نوع سواء كانت قيم int او string او غيرها مخلال كتابة النوع بدلاُ من void . 

Syntax

				
					static int myMethods() {
  // return int
}

static String myMethods() {
  // return String
}

static boolean myMethods() {
  // return boolean
}
				
			

مثال

قمنا في هذا المثال بتعريف دالة اسمها increaseMethod تحتوي على معامل واحد وقمنا بكتابة النوع int بدل الvoid وضيفتها زيادة اي رقم يتم تمريره بمقدار 20 , في الدالة الرئيسية قمنا بتمرير قيمة 60 الى الدالة increaseMethod والتي بدورها ارجعت لنا ال60 مضاف عليها 20 وبالتالي المجموع يساوي 80 .

				
					public class Example {

  static int increaseMethod(int x) {
         return x+20;
  }


  public static void main(String[] args) {

      System.out.println(increaseMethod(60));

 }

}


				
			

Output :
80

مثال

قمنا في هذا المثال بتعريف دالة اسمها SumMethods تحتوي على معاملين وقمنا بكتابة النوع int بدل الvoid لانها تقوم بجمع الرقين وترجع ناتج الجمع الى الدالة الرئيسية ليتم وضعها بمتغير الsum الذي تم تعريفه في دالة الرئيسية .

				
					public class Example {

  static int SumMethods(int num1,int num2) {
        int s=num1+num2;
        return s;
  }


 public static void main(String[] args) {

     int sum=SumMethods(5,10);
     System.out.println("Sum = "+sum);

 }

}
				
			

Output :
Sum = 15

شارك المقال

مواضيع قد تعجبك: