جملة الإحتمالات الشرطية switch في لغة جافا 5 - Programmer Tech
Java Programming Basics

جملة الإحتمالات الشرطية switch في لغة جافا 5

جملة الإحتمالات الشرطية switch

جملة الإحتمالات الشرطية switch في لغة جافا

جملة switch للإحتمالات الشرطية في لغة الجافا, في هذا الدرس سوف نتناول switch و هي تسمى دالة الإحتمالات الشرطية. و تستخدم جملة switch عندما يكون لدينا عدة احتمالات تعتمد على فحص قيمة معينة, على سبيل المثال لدينا المعدل و حسب المعدل تكون الإحتمالات. أي نستخدمها في حال كنا نريد أن نختبر قيمة متغير ما مع لستة من الإحتمالات, و إذا تساوت هذه القيمة مع أي إحتمال منها ستتنفذ الأوامر التي وضعناها في هذا الإحتمال المحدد و كل إحتمال نقوم بوضعه يسمى case.

مثلاً النتيجة ضعيف إذا كان المعدل أقل من 50 و مقبولة إذا كانت ما بين 60 و 70 و 80 جيدة و 90 جيدة جداً و 95 ممتاز, و من هذه الإحتمالات “ضعيف – مقبول – جيد – جيد جداً – ممتاز” و كل هذه الإحتمالات مبنية على فحص قيمة متغير واحد وهو المعدل.

الشكل العام لجملة switch في جافا

switch(variable)
    {
     case value:
     statement
         break;
     default:
     statement
}

كلمة switch تعني قم بإختبار قيمة المتغير الموجود بين القوسين. وما بين القوسين هو المتغير الذي نريد إختبار قميته, ويسمح لنا بإختبار المتغيرات الآتية (int – byte – short – char).

كلمة case تعني الحالة, و value تعني القيمة و statement تعني الأوامر.

وكلمة default تعني إفتراضياً و هي نفس فكرة الجملة else. هذه الجملة تتنفذ فقط في حال لم تتنفذ أي احتمال case موجود في الجملة switch و لذلك نضعها في نهاية الإحتمالات.

و كلمة break لسنا بحاجة إلى وضعها بعد default لأن البرنامج سيتوقف بجميع الأحوال عندها.

مثال 1

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

package switch_case;
import java.util.Scanner;
public class Switch_Case {
    public static void main(String[] args) {
        Scanner n=new Scanner(System.in) ;
    int c;
    System.out.println("Enter Number Class");
    c=n.nextInt();
    switch(c)
    {
        case 1:
            System.out.println("class A Student=30");
            break;
        case 2:
            System.out.println("class B Student=35");
            break;
        case 3:
            System.out.println("class C Student=40");
            break;
        default:
            System.out.println("Error");
    }
}}

إفترضنا أنه في هذه المدرسة ثلاث فصول أي ثلاث كلاسات و هي case1,case2,case3 و أنشأنا المتغير c. وهو المتغير الذي سوف يستقبل القيم من لوحة مفاتيح المستخدم و كتبنا رسالة للمستخدم بأن يقوم بإدخال رقم الكلاس. و القيمة المدخلة سيتم تخزينها في الـ c عن طريق كائن الإدخال n و بعد أن يقوم المستخدم بإدخال رقم الكلاس سيتم تخزينه في c.

و بعد ذلك نقوم بفحص c, بنينا دالة switch ليتم فحصها و ضمن الأقواس وضعنا الإحتمالات الثلاث مع بيانات كل كلاس. في حال طلبه المستخدم ثم وضعنا default رسالة خطأ في حال أدخل المستخدم أي قيمة غير القيم الموجودة سابقاً وهي 1 و 2 و 3 سوف يطبع له أن المدخل خاطئ.

  • عندما يقوم المستخدم بإدخال الرقم 1 سوف يأتي له بيانات الكلاس A مع الرسالة.
  • و إذا أدخل رقم 2 سيطبع له بيانات الكلاس B.
  • و إذا ادخل رقم 3 سوف يطبع بيانات الكلاس الثالث C.
  • و إذا ادخل غير هذه القيم سوف يطبع له خطأ.

مثال 2

أكتب برنامج آلة حاسبة بسيطة بلغة الجافا بإستخدام الإحتمالات الشرطية switch case و تحتوي على عمليات الجمع و القسمة و الضرب و غير ذلك يطبع خطأ.

package switch_case;
import java.util.Scanner;
public class Switch_Case {
    public static void main(String[] args) {
        Scanner n=new Scanner(System.in) ;
        int a,b;
        String op;
        System.out.println("Enter First Number");
        a=n.nextInt();
        System.out.println("Enter Last Number");
        b=n.nextInt();
        System.out.println("Enter op(*,/,+");
        n=new Scanner(System.in);
        op=n.nextInt();
        switch(op)
        {
            case "+":
                System.out.println(a+b);
                break;
                case "/"
                System.out.println(a/b);
                break;
                case "*"
                System.out.println(a*b);
                break;
                default:
                    System.out.println("Error");
        }
    }
}

لقد أنشأنا متغيرين و هما a و b و أنشأنا متغير نصي op لإستقبال البيانات من المستخدم. و بعده طباعة جملة يطلب من المستخدم إدخال الرقم الأول ثم الرقم الثاني. ثم بعد ذلك يطلب منه نوع العملية الحسابية هل هي ضرب او قسمة أو جمع ثم يقوم بالعملية المطلوبة. ثم إستخدمنا الإحتمالات لهذه العمليات ووضعنا الـ default في حال المستخدم ادخل نوع عملية غير موجودة يطبع له خطأ Error.

Ahmedkaissar

من مصر من محافظة الجيزة مبرمج ويب و خبير أمن معلومات محب للتقنية و الأمن المعلوماتي مدرب للغات "Python,html, css, php, js, laravel"
زر الذهاب إلى الأعلى