مشغلات الإسناد المركب
مُقدَّم| English | المعنى |
|---|---|
| compound assignment operator/ˈkɒmpaʊnd əˈsaɪnmənt ˈɒpəreɪtə/ | عامل الإسناد المركب |
اختصار التحديث
- تحديث متغير من نفسه أمر شائع جداً ولديه اختصار.
- عامل الإسناد المركب يجمع عملية مع
=. x += 3;تعني بالضبطx = x + 3;.- العائلة:
+=،-=،*=،/=،%=.
الخمسة عوامل
x += 5→ أضف5إلىx.x -= 5→ اطرح5.x *= 2→ ضاعفx.x /= 2→ نصفx(تنطبق قواعد الأعداد الصحيحة).x %= 3→ استبدلxبـx % 3(الباقي).- كل واحد يقرأ القيمة الحالية، يطبق العملية، ويخزن النتيجة مرة أخرى.
الزيادة والنقصان
x++يضيف1إلىx(نفسx += 1أوx = x + 1).x--يطرح1منx.- هذه شائعة للغاية في الحلقات لتخطي العداد.
- هي تغير المتغير في مكانه — لا حاجة لـ
=.
تنطبق نفس قواعد النوع
- العوامل المركبة تخضع لـ نفس قواعد النوع كما الشكل الطويل.
int x = 7; x /= 2;يعطي3(لا تزال قسمة الأعداد الصحيحة تُقطّع).x += 2.5;علىintيتطلب حذراً — نوعxلا يتغير.- الاختصار هو أقصر فقط؛ الحسابات متطابقة تماماً.
x += 3 هو بالضبط x = x + 3 — قواعد النوع لا تتغير. لذا int x = 7; x /= 2; لا يزال يعطي 3 (قسمة الأعداد الصحيحة تُقطّع)، وليس 3.5. العوامل المركبة هي مجرد اختصارات؛ إذا كان الشكل الطويل سيُقطِّع أو ينفجر، فإن الشكل القصير يفعل ذلك أيضاً. وx++ هو مجرد x += 1.
تتبع عداد:
int x = 10;x += 5;→xهو15.x *= 2;→xهو30.x--;→xهو29.x %= 5;→xهو4(29 % 5).
مؤشرات التعيين المركبة (+=، -=، *=، /=، %=) هي اختصار: x += 3 تعني x = x + 3. x++ و x-- تضيف أو تطرح 1. وهي تخضع لـ نفس قواعد الأنواع كالصيغة الكاملة — قسمة int في x /= 2 لا تزال تُقطّع.
زيادة عداد خطوة بخطوة
كل مشغل مركب يُحدّث x في مكانه.
x += 3 هو بالضبط نفس...
Difficulty 1/5 · 100 coins + a small bonus on first completion today
الإسناد المركب هو اختصار لـ x = x + 3.
int x = 10; x += 5; x *= 2; ما قيمة x؟
Difficulty 2/5 · 140 coins + a small bonus on first completion today
10 → 15 → 30.
int x = 7; x /= 2; ما قيمة x؟
Difficulty 2/5 · 140 coins + a small bonus on first completion today
قسمة int تقطع: 7/2 = 3.
x++ له نفس تأثير...
Difficulty 1/5 · 100 coins + a small bonus on first completion today
x++ يضيف 1، وهو نفس x += 1.
مشغلات الإسناد المركب تتبع نفس قواعد الأنواع مثل الصيغة الكاملة (لذلك x /= 2 على int يقطع).
Difficulty 1/5 · 100 coins + a small bonus on first completion today
الاختصار لا يغير الحسابات — قسمة int لا تزال تقطع.