ما هو += عامل التكميل للجمع في جافا؟

إنه عامل تعيين الجمع. دعنا نفهم عامل += في جافا ونتعلم استخدامه في برمجتنا اليومية.

x += y in Java is the same as x = x + y.

إنه عامل تعيين مركب. يستخدم بشكل شائع لزيادة قيمة متغير لأن x++ يزيد القيمة بمقدار واحد فقط.

زيادة القيم باستخدام عامل +=

سيزيد هذا الكود قيمة a بمقدار 2. دعنا نرى الأمثلة:

int a = 1;
a+=2;
System.out.println(a);
Output

من ناحية أخرى، إذا استخدمنا a++:

int a = 1;
a++;
System.out.println(a);
Output

سيتم زيادة قيمة a بمقدار 1 فقط.

استخدام += في حلقات الجافا

يمكن أيضًا استخدام العامل += مع حلقة الـ for:

for(int i=0;i<10;i+=2)
{
    System.out.println(i);
}
Output

سيتم زيادة قيمة i بمقدار 2 في كل تكرار.

العمل مع أنواع البيانات المتعددة

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

int a = 1;
a = a + 1.1; // يعطي خطأ
a += 1.1;
System.out.println(a);

السطر الأول هنا يُعطي خطأ لأنه لا يمكن إضافة int إلى double.

الناتج:

error: incompatible types: possible lossy conversion from double to int
a = a + 1.1; // يُعطي خطأ

ومع ذلك، عند استخدام مشغل += في جافا، يعمل الإضافة بشكل صحيح حيث تقوم جافا الآن بتحويل الرقم العشري إلى قيمة صحيحة وتضيفها كـ 1. إليك الناتج عند تشغيل الشيفرة بالإضافة فقط لعملية +=.

Output

E1 op= E2 مكافئ لـ E1 = (T) ((E1) op (E2))، حيث T هو نوع E1، باستثناء أن E1 يتم تقييمها مرة واحدة فقط. هذا يعتبر في جافا تحويل نوع لإضافة الرقمين.

إضافة السلاسل

مشغل += يعمل أيضًا لتغيير السلسلة.

String a = "Hello";
a+="World";
System.out.println(a);
Output

تم تغيير السلسلة “مرحبًا” وتم دمج السلسلة “عالم” معها.

الاستنتاج

مشغل += هو مشغل تخصيص مهم. يُستخدم بشكل شائع مع حلقات الكود. نفس التخصيص يعمل أيضًا مع مشغلات أخرى مثل -=, *=, /=.

Source:
https://www.digitalocean.com/community/tutorials/addition-assignment-operator-in-java