معامل باقي القسمة (Modulo)
جزء من قسم Fundamentals في رحلة Java على Coddy — الدرس 16 من 73.
عامل باقي القسمة (modulo) % يعطي باقي عملية القسمة. في لغة Java، يتم استخدامه بصيغة بسيطة:
result = dividend % divisor;- dividend: العدد الذي يتم تقسيمه.
- divisor: العدد الذي يقسم المقسوم.
- result: باقي عملية القسمة.
على سبيل المثال:
result = 10 % 3;هنا، يتم تقسيم 10 على 3. الرقم 3 يتكرر في 10 ثلاث مرات، مع بقاء 1. لذا، ستكون قيمة result هي 1.
ماذا لو كان المقسوم أصغر من المقسوم عليه؟ في هذه الحالة، يتكرر المقسوم عليه 0 مرة، لذا يكون الباقي هو المقسوم نفسه ببساطة. على سبيل المثال، 2 % 3 يساوي 2، لأن 3 تتكرر في 2 صفر من المرات مع بقاء 2.
عادةً ما يُستخدم المعامل modulo للتحقق مما إذا كان الرقم زوجيًا أم فرديًا:
- إذا كان الرقم زوجيًا، فإن قسمته على 2 ستترك باقيًا قدره 0.
- إذا كان الرقم فرديًا، فإن قسمته على 2 ستترك باقيًا قدره 1.
عند استخدام باقي القسمة (modulo) مع الأرقام ذات الفاصلة العائمة (doubles)، فإنه يعمل بشكل مشابه للأعداد الصحيحة ولكنه يحافظ على الدقة العشرية. على سبيل المثال:
double result = 5.2 % 2.0;
// النتيجة هي 1.2إليك كيف يعمل الأمر: 2.0 تتكرر في 5.2 مرتين (4.0)، والباقي هو 1.2 (5.2 - 4.0 = 1.2).
مثال آخر:
double result = 7.8 % 3.5;
// result هي 0.8التحدي
مبتدئاكتب كودًا يقوم بتهيئة ثلاثة متغيرات، a (int) و b (double) و c (int) بالقيم 9 و 2.6 و 11 (على التوالي).
بعد ذلك، قم بتهيئة المتغيرات التالية:
d (int)الذي سيحمل نتيجةamodulo2e (int)الذي سيحمل نتيجةamodulo3f (double)الذي سيحمل نتيجةbmodulo1.5g (double)الذي سيحمل نتيجةbmodulo3.9h (int)الذي سيحمل نتيجةcmodulo10
تحقق من النتيجة وانظر كيف تؤثر المقسوم والمقسوم عليه المختلفان على النتيجة.
ورقة مرجعية
يعطي عامل باقي القسمة % باقي عملية القسمة:
result = dividend % divisor;مثال مع الأعداد الصحيحة:
result = 10 % 3; // النتيجة هي 1حالة استخدام شائعة - التحقق مما إذا كان الرقم زوجياً أم فردياً:
- الأعداد الزوجية:
number % 2 == 0 - الأعداد الفردية:
number % 2 == 1
باقي القسمة مع أرقام الفاصلة العائمة (floating-point):
double result = 5.2 % 2.0; // النتيجة هي 1.2
double result = 7.8 % 3.5; // النتيجة هي 0.8جرّب بنفسك
public class Main {
public static void main(String[] args) {
// اكتب الكود الخاص بك أدناه
// لا تغير السطر أدناه
System.out.println("a = " + a);
System.out.println("b = " + b);
System.out.println("c = " + c);
System.out.println("d = " + d);
System.out.println("e = " + e);
System.out.println("f = " + f);
System.out.println("g = " + g);
System.out.println("h = " + h);
}
}يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس Fundamentals
4المعاملات - الجزء الأول
المعاملات الحسابيةمعامل باقي القسمة (Modulo)الزيادة والنقصانالزيادة والنقصان اللاحقةاختصارات العمليات الحسابيةمعاملات المقارنةمقارنة النصوص7أساسيات الإدخال والإخراج
دوال System.outتنسيق المخرجاتكلاس Scannerمراجعة - حتى 120مراجعة - صح أم خطأ5المعاملات - الجزء الثاني
المعاملات المنطقية - الجزء الأولالمعاملات المنطقية - الجزء الثانيمراجعة - المنطق البسيطالمعاملات المنطقية - الجزء الثالثالمعاملات المنطقية - الجزء الرابع3المتغيرات - الجزء الثاني
الثوابتقواعد التسميةمراجعة - تهيئة المتغيراتتحويل الأنواع - الجزء الأولتحويل الأنواع - الجزء الثاني6اتخاذ القرار
جملة Ifجملة If - Elseجملة Switchالمعامل الثلاثيمراجعة - If Elseجملة If - Else المتداخلة