recent
أخبار ساخنة

الشروط في لغة جافا 4

الصفحة الرئيسية
الشروط في لغة جافا

الجمل الشرطية في جافا Java

الشروط أو ما تسمى في اللغة الإنجليزية condition, تستخدم الشروط لتنفيذ اجزاء من البرنامج فقط عندما تستوفي المتطلبات ويُعتبر استخدام العبارات الشرطية أمرًا أساسيًا في البرمجة، حيث تُمكّن المطوّرين من إنشاء تدفق تحكم في برامجهم.

الجملة الشرطية if في لغة جافا

جملة if الشرطية تستخدم لفحص قيمة أو عدة قيم و بناءً على نتيجة الفحص نستطيع إتخاذ القرار المناسب و توجيه مسار البرنامج.

 

الشكل العام لعبارة if في جافا

if (هنا يكتب الشرط)

 توجد عدة معاملات شرطية تستخدم مع if و هي :

  1. المعامل > اصغر من.
  2. المعامل < اكبر من.
  3. المعامل == يساوي.
  4. المعامل! ليس.
  5.  المعامل && يعني and تستخدم للمقارنة بين قيمتين و تعود بقيمة True إذا تحقق الشرط في القيمتين و تعود بـ False إذا لم يتحقق الشرط في احدى القيمتين.
  6. المعامل || تيعني or ستخدم للمقارنة بين قيمتين و تعود بالقيمة True في حال تحقق احدى الشرطين و تعود بالقيمة False في حال لم يتحقق الشرطين.
  7. المعامل IF - ELSE تستخدم في حال عدم تحقق الشرط, يتم تنفيذ ELSE في حال عدم تحقق الشرط و في حال تحقق لا يتم تنفيذها.

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

if (num%2!=0)
System.out.println("القيمة التي تم ادخالها غير مقبولة");

مثال

if(deg>=50)
System.out.println("ناجح");
else
System.out.println("راسب");

تم إستخدام else و if في حالة توقع احدى النتيجتين حسب الشرط المعطى فإذا تحقق الشرط فإنه يتجاهل else وعند عدم تحقق الشرط فإنه يتجاهل if ويتم تنفيذ else.

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

مثال

لنفترض انه لدينا متغير يحتوي على القيمة 23 قم بفحصه عبر الدالة IF في حال تحققه اطبع ok و اذا لم يتحقق الشرط اطبع no حسب الشرط المطلوب.

package gradleproject223;
public class JavaApplication {
public static void main(String[] args) {
int a=23;
if (a<23)
System.out.println("ok");
else
Syste.out.println("no");
}
}

في هذا المثال وضعنا متغير عددي a=23 و قلنا له إذا a اصغر من 23 إطبع "ok" و إذا كان لا إطبع "no" و عند تنفيذ البرنامج سوف يطبع "no" و يتجاهل if لأن a=23 و ليس اصغر منه.

مثال

اكتب برنامج بسيط يطلب من المستخدم إسم المستخدم و كلمة السر و يقارن البيانات المدخلة مع البيانات في قواعد البيانات المخزنة, و في حال التطابق يتم طباعه جملة Succes و في حال كان غير مطابق سيطبع Error.

package lesson_if;
import java.util.Scanner;
public class Lesson_IF {
public static void main(String[] args) {
Scanner n=new Scanner(System.in);
String user="Programmer";
String Password="Tech4567";
String Enuser,EnPassword;
System.out.println("Enter User Name");
Enuser=n.nextLine();
System.out.println("Enter Password");
EnPassword=n.nextLine();
if(user.equals(Enuser) && Password.equals(EnPassword))
System.out.println("Succes");
else
System.out.println("Error");
}
}


if with block in java

سوف نتعرف في هذه الفقرة على أمر مهم جداً و هو if with block, ومعنى كلمة block هي مجموعة من الأوامر.

تعرّفنا على مثال بسيط عن كيفية إنشاء عبارة if الشرطية مع أمر واحد, يعني إذا تحقق الشرط يتم تينفيذ الأمر. هذا يعني أنه قام بخطوة واحدة فقط, و لكن block هو القيام أو تنفيذ. مجموعة من الخطوات أو مجموعة من الأوامر و في حال تحقق الشرط.

على سبيل المثال لنفترض أنه لدينا مثال بسيط هو الطلب من المستخدم إدخال قيمة من لوحة المفاتيح.

فإذا ادخل العدد 1 سيتم تنفيذ أمرين و block هو أمرين و ما فوق, فإذا كانت. هذه القيمة تساوي العدد 1 سنقوم اولاً بجمع العددين و هو الأمر الأول, و الأمر الثاني هو طباعة الناتج على الشاشة.

مثال

package lesson_if;
import java.util.Scanner;
public class Lesson_IF {
public static void main(String[] args) {
Scanner n=new Scanner(System.in) ;
int a=10,b=12;
int c=n.nextInt();
if(c==1)
{
int s=a+b;
System.out.println("The Result Add is" + "" + s);
}
else if(c==2)
{
int s=a-b;
System.out.println("The Result Add is" + "" + s);
}
else
System.out.println("The Enter is Error");
}
}

أنشأنا متغيرين من نوع int و هما int a=10 و int b=12 و أنشأنا متغير c لإستقبال المدخلات. من لوحة مفاتيح المستخدم و يخزن الناتج به, ثم وضعنا شرط إذا كان c==1 نفذ لنا الأوامر الآتية:

الأمر الأول : جمع قيمة المتغير a و المتغير b و تخزينها لنا في المتغير s و هنا العملية عملية جميع.

ثم طباعة الناتج مع الرسالة The Result Add is و الناتج يكتب بعدها, يعني إذا ادخل المستخدم رقم 1 سوف يجمع لنا الناتج على الشاشة.

ثم وضعنا شرط آخر و هو إذا c==2 نفذ لنا 

الأمر الثاني : طرح قيمة a من b و تخزينها في المتغير s.

الأمر الثالث : في حال المستخدم أدخل رقم غير 1 و 2 سيطبع الرسالة.

عند تشغيل البرنامج السابق إذا ادخل المستخدم الرقم 1 سوف يتنفذ لدينا البلوك الأول. من if الشرطية وهو الجمع.

و سوف يطبع لنا العدد 22 يعني جمع لنا قيمة a مع قيمة b.

و إذا كتب المستخدم الرقم 2 سوف يتم تنفيذ البلوك الثاني و هو الطرح. وسوف يطبع لنا الرقم سالب -2, و إذا كتبنا أي رقم غير الرقمين السابقين سوف يتنفذ البلوك الثالث يخبرنا برسالة خطاً Error.

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

جملة switch للإحتمالات الشرطية في لغة الجافا, في هذا الدرس سوف نتناول switch و هي تسمى دالة الإحتمالات الشرطية.

و تستخدم جملة switch عندما يكون لدينا عدة احتمالات تعتمد على فحص قيمة معينة, على سبيل المثال لدينا المعدل و حسب المعدل تكون الإحتمالات.

أي نستخدمها في حال كنا نريد أن نختبر قيمة متغير ما مع لستة من الإحتمالات, و إذا تساوت هذه القيمة مع أي إحتمال منها ستتنفذ الأوامر التي وضعناها في هذا الإحتمال المحدد.

كل إحتمال نقوم بوضعه يسمى case.

مثلاً النتيجة ضعيف إذا كان المعدل أقل من 50 و مقبولة إذا كانت ما بين 60 و 70 و هكذا....

و من هذه الإحتمالات "ضعيف - مقبول - جيد - جيد جداً - ممتاز" و كل هذه الإحتمالات مبنية على فحص قيمة متغير واحد وهو المعدل.

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

switch(المتغير الذي نريد فحصه)
{
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.

google-playkhamsatmostaqltradent