English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

تعليمات Java الأساسية

Java التحكم بالعمليات

Java النصائح

Java التوجيه بالأشياء (I)

Java التوجيه بالأشياء (II)

Java التوجيه بالأشياء (III)

معالجة الاستثنائات Java

Java قائمة (List)

Java مجموعة الحمولات (الصف)

Java مجموعة الخرائط

Java مجموعة المفاتيح

Java الدخول والخروج (I/O)

Java Reader/Writer

مواضيع أخرى في Java

الطرق Java

في هذا الدليل، ستتعلم كيفية تعلم الطريقة في Java، وكيفية تعريف الطريقة وكيفية استخدام الطريقة في برنامج Java.

ما هي الطريقة؟

في الرياضيات، قد تكون قد درست الوظائف. على سبيل المثال، f(x) = x2x هو وظيفة تعود قيمة مربعة.

إذا x = 2، فإن f(2) = 4
إذا x = 3، فإن f(3) = 9
وإلى آخره.

بالمثل، في البرمجة الحسابية، الوظيفة هي قطعة من الكود التي تنفذ مهمة محددة.

في البرمجة الموجهة للكائنات، الطريقة هي مصطلح يستخدم للوظائف. يتم ربط الطريقة بالفئة، وتحدد هذه الطريقة سلوك الفئة.

قبل تعلم الطريقة، تأكد من فهمفئات وobjects في Java.

نوع الطريقة في Java

اعتمادًا على الطريقة المحددة من قبل المستخدم أو الطريقة المتاحة في المكتبة المكتبية، هناك نوعان من الطرق في Java:

  • الطرق المكتبية

  • طرق المستخدم المحددة

الطرق المكتبية

 الطرق المكتبية هي الطرق المدمجة في Java، يمكن استخدامها في أي وقت. هذه المكتبات مع مكتبة Java (JCL) تظهر في ملفات الأرشيف لـ JVM و JRE (*.jar).

على سبيل المثال،

  • print() - هي طريقة من java.io.PrintStream. تستخدم طريقة print("…") لطباعة النص بين الأسهم.

  • sqrt() - هي طريقة من دروس الرياضيات. تُعيد هذه الطريقة جذر عدد.

هذا مثال يعمل:

public class Main {
    public static void main(String[] args) {
    
        //استخدام طريقة sqrt()
        System.out.print("جذر مربع 4 هو: " + Math.sqrt(4));
    }
}

الإخراج

جذر مربع 4 هو: 2.0

طرق المستخدم المحددة

يمكننا أيضًا إنشاء طرق مختارة بأنفسنا لتنفيذ بعض المهام. تُدعى هذه الطريقة طريقة معينة من قبل المستخدم.

كيف يمكن إنشاء الطريقة المحددة من قبل المستخدم؟

هذا هو كيفية إنشاء الطريقة باستخدام Java:

public static void myMethod() {
    System.out.println("وظيفتي");
}

في هذا المثال، قمنا بإنشاء طريقة تُدعى myMethod(). يمكننا رؤية أننا استخدمنا public، static وvoid قبل اسم الطريقة.

  • public - ميزة الوصول. هذا يعني أنه يمكن الوصول إلى هذه الطريقة من أي مكان. للحصول على معلومات أكثر، يرجى زيارةمعدلات الوصول في Java

  • static - هذا يعني أن يمكن الوصول إلى هذه الطريقة دون الحاجة إلى أي كائن. للحصول على معلومات أكثر، يرجى زيارةكلمة المفتاح static في Java.

  • void - هذا يعني أن الطريقة لا تعود أي قيمة. سنتمكن من فهم هذا المحتوى بشكل أعمق في جزء لاحق من الدليل.

هذا مثال بسيط على كيفية إنشاء الطريقة. ولكن، النحو الكامل لتعريف الطريقة في Java هو:

modifier static returnType nameOfMethod (parameters) {
    // جسم الدالة
}

هنا،

  • المعدل - يحدد أن يكون الوصول إلى الدالة عامًا، خاصًا، إلخ.

  • ثابت - إذا تم استخدام كلمة المفتاح static، فإنه لا يتطلب إنشاء موضوع للوصول إليها.
    على سبيل المثال، دالة sqrt() في Math هي ثابتة. لذلك، يمكننا نداء Math.sqrt() دون إنشاء مثيل للفئة Math.

  • نوع العودة - يحدد نوع العودة الذي تعود به الدالة. على سبيل المثال، إذا كان نوع العودة للدالة هو int، فإنها تعود قيمة عددية.
    دالة يمكنها العودة إلى بيانات النوع الأصلي (int، float، double إلخ)، أو الأشياء الأصلية (String، Map، List إلخ)، أو أي شيء آخر من الأشياء المدمجة والمستخدمة المسبقًا.
    إذا لم تكن الدالة تعود أي قيمة، فإن نوع العودة الخاص بها هو void.

  • nameOfMethod - إنهالمعرف، للاشارة إلى دالة معينة في البرنامج.
    يمكننا تسمية الدالة بأي اسم. ولكن، من المعتاد تسميتها بناءً على المهام التي تقوم بها. على سبيل المثال calculateArea()، display() إلخ.

  • المعلمات (الاستدلالات) - هذه هي القيم التي يتم نقلها إلى الدالة. يمكننا نقل أي عدد من المعلمات إلى الدالة.

  • جسم الدالة - يتضمن جملة برمجة تستخدم لتنفيذ بعض المهام. يحتوي جسم الدالة على الأقواس الكبيرة { }.

    كيف ندعو دالة Java؟

    الآن بعد أن عرفنا كيفية تعريف الدوال، نحتاج إلى تعلم كيفية استخدامها. لذلك، يجب علينا نداء هذه الدالة. كيفية القيام بذلك

    myMethod();

    هذه الجملة تنادي الدالة myMethod() التي تم إعلانها مسبقًا.

    عملية النداء بالدالة في شكل رسم بياني في Java
    1.  عند تنفيذ برمجة البرنامج، يواجه الكود دالة myFunction().

    2.  ثم تنفيذ الفرع إلى دالة myFunction() وتنفيذ الكود داخل جسم الدالة.

    3.  بعد تنفيذ جسم الدالة، يعود البرنامج إلى الحالة الأصلية، ويقوم بتفيذ الجملة التالية بعد دالة النداء.

    مثال: دالة Java

    دعونا نرى كيف يمكن استخدام الدوال في برنامج Java.

    class Main {
        public static void main(String[] args) {
            System.out.println("سنتقابل الآن بمثابة دالة.");
            //استدعاء الطريقة
            myMethod();
            System.out.println("方法已成功执行。!");
        }
        // تعريف الدالة
        private static void myMethod(){
            System.out.println("من داخل myMethod() طباعة!");
        }
    }

    الإخراج

    سنتقابل الآن بمثابة دالة.
    من داخل myMethod() طباعة!
    方法已成功执行。!

    في البرنامج المذكور أعلاه، لدينا دالة تُدعى myMethod(). لا تأخذ هذه الدالة أي إ参数. كما أن نوع العودة الخاصة بها هو void (ما يعني عدم عودة أي قيمة).

    在该位置,方法是static。所以我们在未创建类的对象的情况下调用了方法。

    再看一个示例

    class Main {
        public static void main(String[] args) {
            //创建Output类的对象
            Output obj = new Output();
            System.out.println("将遁面遁一个方法。");
            //调用Output类的myMethod()
            obj.myMethod();
            System.out.println("方法已成功执行。!");
        }
    }
    class Output {
      
        //public:该方法可以从类外调用
        public void myMethod() {
            System.out.println("从 myMethod() 内打印。");
        }
    }

    الإخراج

    将遁面遁一个方法。
    从 myMethod() 内打印。
    方法已成功执行。!

    在上面程序中,我们创建了一个名为myMethod()的方法。该方法卡住在名为Output的类中。

    因为方法不是static,所以使用obj类的对象调用该方法。

    obj.myMethod();

    方法参数和返回值

    如前所说,Java方法可以有零个或多个参数。并且它也可能返回任意值。

    示例:方法返回值

    诹于有返回值的方法来例。

    class SquareMain {
        public static void main(String[] args) {
            int 成果实;
            //调用方法并将返回值存储
            成果实 = square(); 
            System.out.println("10的二量值是:	" + 成果实);
        }
        public static int square() {
            //return 语句
            return 10 * 10;
        }
    }

    الإخراج

    10的二量值是:	100

    在上面程序中,我们创建了一个名为square()的方法。该方法不接收任意参数,并返回值为10 * 10。

    在该位置,我们说到的方法的返回类型为int。所以,该方法应该正常返回整数值。

    返回值的方法表示式

    如我们看到的,该方法的范围是限制的,因为它每次都返回同一个值。现在,诹上面的代码段进行修改,以使它每次都返回传递给方法的任意整数的二量值,而不是每次都返回10的二量值。

    示例:方法接收参数并返回值;

    public class Main {
       
        public static void main(String[] args) {
            int 成果实, 成果;
            
            n = 3;
            result = square(n);
            System.out.println("3的죦570是:	" + 成果实;)
            
            n = 4;
            result = square(n); 
            System.out.println("مربع 4 هو: " + result);
        }
        //طريقة
        static int square(int i) {
            return i * i;
        }
    }

    الإخراج

    مربع 3 هو: 9
    مربع 4 هو: 16

    في هذا، تقوم طريقة square() باستقبال معطى واحد i وتقوم بإرجاع مربع i. يتم تخزين القيمة التي يتم إرجاعها في متغير result.

    تمرير المعطيات ومرور القيم من الطريقة في Java

    إذا تم تمرير أي نوع بيانات آخر وليس قيمة من نوع int، فإن معالج البرمجة سيقوم بإطلاق خطأ. هذا لأن Java لغة قوية فيما يتعلق بأنواع البيانات.

     المعطيات التي يتم تمريرها إلى طريقة getSquare() أثناء استدعاء الطريقة تسمى المعطيات الفعلية.

    result = getSquare(n);

     المعطيات التي يتم استلامها من قبل تعريف الطريقة تسمى المعطيات النموذجية. يجب أن يتم تخصيص أنواع المعطيات النموذجية بشكل واضح.

    public static int square(int i) {...}

    يمكننا أيضًا استخدام نقاط逗ة لمرور عدة معطيات إلى طريقة Java. مثالًا،

    public class Main {
        //方法定义
        public static int getIntegerSum (int i, int j) {
            return i + j;
        }
        //تعريف الطريقة
        public static int multiplyInteger (int x, int y) {
            return x * y;
        }
        public static void main(String[] args) {
            //استدعاء الطريقة
            System.out.println("10 + 20 = " + getIntegerSum(10, 20));
            System.out.println("20 * 40 = " + multiplyInteger(20, 40));
        }
    }

    الإخراج

    10 + 20 = 30
    20 * 40 = 800

    ملاحظة: يجب أن تتطابق أنواع المعطيات الفعلية وأنواع المعطيات النموذجية، أي أن نوع المعطى الفعلي الأول يجب أن يتطابق مع نوع المعطى النموذجي الأول. نفس الشيء، يجب أن يتطابق نوع المعطى الفعلي الثاني مع نوع المعطى النموذجي الثاني، وهكذا.

    ما هي مزايا استخدام الطريقة؟

    1. الفوائد الرئيسية هياستقلالية الكوديمكننا كتابة طريقة مرة واحدة واستخدامها عدة مرات. لسنا بحاجة إلى إعادة كتابة كامل الكود في كل مرة. يمكن اعتبارها "كتابة مرة واحدة واستخدامها عدة مراتمثالًا،

    public class Main {
        //方法定义
        private static int getSquare(int x){
            return x * x;
        }
        public static void main(String[] args) {
            for (int i = 1; i <= 5; i++) {
                // دعوة الطريقة
                int result = getSquare(i);
                System.out.println("" + i + "  مربع هو: " + result);
            }
        }
    }

    الإخراج

    مربع 1 هو: 1
    مربع 2 هو: 4
    مربع 3 هو: 9
    مربع 4 هو: 16
    مربع 5 هو: 25

     في البرنامج أعلاه، أنشأنا طريقة تُدعى getSquare() لحساب مربع الرقم. هنا، نحسب مربع الأرقام الأقل من 6 بنفس الطريقة.

     لذلك، نستخدم نفس الطريقة مراراً وتكراراً

    الطريقة 2 تجعل الكودأكثر وضوحاً،أكثر سهولة في التتبعمثلاً، طريقة getSquare() سهلة القراءة، لذا يمكننا معرفة أن هذه الطريقة ستقوم بحساب مربع عدد.