الشروط في Java | if و else بشرح تفصيلي للمبتدئين تمامًا
تخيّل أنك تقول لشخص: “إذا كانت الساعة بعد العصر، اذهب للمشي، وإلا ابقَ في البيت”. هذا بالضبط ما تفعله الشروط في البرمجة.
البرنامج في الأصل ينفّذ الأوامر من الأعلى إلى الأسفل، سطرًا بعد سطر.
ولكن أحيانًا نحتاج أن نجعله يختار بين طريقين أو أكثر حسب حالة معيّنة.
هنا نستخدم if و else.
المبدأ بسيط:
- إذا كان الشرط صحيحًا → نفّذ هذا الجزء من الكود.
- إذا كان الشرط غير صحيح → نفّذ الجزء الآخر (إن وُجد).
المثال الأول: قرار بسيط جدًا
سنخزّن عمر شخص في متغير اسمه age.
ثم نقرّر: هل عمره 18 أو أكثر؟ إذا نعم نطبع رسالة، وإذا لا نطبع رسالة أخرى.
int age = 18;
if (age >= 18) {
System.out.println("مسموح لك بالدخول");
} else {
System.out.println("غير مسموح لك بالدخول");
}
لاحظ الأقواس المعقوفة { }:
هي تحدد “مجموعة أوامر” تُنفّذ معًا.
إذا تحقق الشرط، ستُنفّذ كل الأوامر داخل أول قوسين.
وإن لم يتحقق، تُنفّذ أوامر else.
المقارنات: كيف نكتب الشرط؟
الشروط عادة تكون “مقارنة” بين قيمتين. وهذه أشهر المقارنات:
==يساوي (مهم: علامتان وليس علامة واحدة)!=لا يساوي>أكبر من<أصغر من>=أكبر من أو يساوي<=أصغر من أو يساوي
تنبيه مهم جدًا للمبتدئ:
علامة = تستخدم للتعيين (إعطاء قيمة لمتغير)، وليست للمقارنة.
المقارنة تكون بـ ==.
المنطق AND / OR: أكثر من شرط في وقت واحد
أحيانًا لا يكفي شرط واحد. قد تريد مثلًا: “إذا كان العمر 18 أو أكثر وكان لديه بطاقة”. هنا نستخدم:
&&وتعني: (و) — يجب تحقق الشرطين معًا.||وتعني: (أو) — يكفي تحقق أحد الشرطين.
مثال باستخدام و:
int age = 20;
boolean hasId = true;
if (age >= 18 && hasId == true) {
System.out.println("مرحبًا، يمكنك الدخول");
} else {
System.out.println("لا يمكنك الدخول");
}
مثال باستخدام أو:
int score = 50;
if (score >= 60 || score == 59) {
System.out.println("قريب من النجاح");
} else {
System.out.println("احتجت إلى درجات أكثر");
}
if / else if / else: أكثر من حالة
إذا لديك أكثر من احتمال، استخدم else if:
int grade = 85;
if (grade >= 90) {
System.out.println("ممتاز");
} else if (grade >= 80) {
System.out.println("جيد جدًا");
} else if (grade >= 70) {
System.out.println("جيد");
} else {
System.out.println("بحاجة إلى تحسين");
}
البرنامج يبدأ من الأعلى، وأول شرط يتحقق يتوقف عنده وينفذ كوده.
أخطاء شائعة وكيف تتجنبها
- استخدام
=بدل==داخل الشرط. - نسيان الأقواس
( )حول الشرط: يجب أن تكونif (condition). - نسيان الأقواس المعقوفة عند وجود أكثر من سطر داخل if/else.
- كتابة شرط غير منطقي مثل:
age > 18 && age < 10.
✅ بعد أن فهمت كيف يتخذ البرنامج قرارًا، سننتقل إلى شيء لا يقل أهمية: كيف نكرّر تنفيذ الأوامر باستخدام الحلقات.