CodeGym /مدونة جافا /Random-AR /العوامل الرقمية في جافا
John Squirrels
مستوى
San Francisco

العوامل الرقمية في جافا

نشرت في المجموعة
أهلاً! سنتناول اليوم موضوعًا مهمًا جدًا، وهو العوامل الرقمية في Java .
العوامل الرقمية في جافا - 1
في البرمجة، الأرقام موجودة في كل مكان. إذا بحثت بعمق وتذكرت المدرسة الثانوية، فقد تتذكر أن الكمبيوتر يمثل جميع المعلومات بتنسيق رقمي: مجموعات من الأصفار والواحدات، والمعروفة أيضًا بالرمز الثنائي.
العوامل الرقمية في جافا - 2
هناك الكثير من العوامل الرقمية في البرمجة، لذلك سنستخدم أمثلة لاستكشاف أهمها :) لنبدأ بأبسطها: العوامل الحسابية . +هذه هي عوامل الجمع ( ) والطرح ( -) والضرب ( *) والقسمة ( /) المعروفة .
public class Main {

   public static void main(String[] args) {

       int x = 999;
       int y = 33;

       System.out.println(x+y);
       System.out.println(x-y);
       System.out.println(x*y);
       System.out.println(x/y);
   }
}
إخراج وحدة التحكم: 1032 966 32967 30 لقد استخدمت كل هذا بالفعل. إلى هذه المجموعة، يمكنك الإضافة إلى عامل الباقي أو %عامل التشغيل modulo ( ).
public class Main {

   public static void main(String[] args) {

       int x = 33;
       int y = 33%2;
       System.out.println(y);
   }
}
مخرجات وحدة التحكم: 1 في هذا المثال، نقسم 33 على 2. وينتج عن ذلك 16، مع "ذيل" إضافي (واحد) غير قابل للقسمة على 2. هذا "الذيل" هو نتيجة عملية "الباقي من القسمة". تنفذ Java أيضًا عوامل المقارنة/العلائقية (تمامًا كما هو الحال في الرياضيات). ربما تكون مألوفة لك من المدرسة أيضًا:
  • يساوي ( ==)
  • أكثر من ( >)
  • أقل من ( <)
  • أكبر من أو يساوي ( >=)
  • اقل او يساوي ( <=)
  • غير متساوي ( !=)
وهنا يجب الانتباه إلى نقطة مهمة تجعل العديد من المبتدئين يرتكبون الأخطاء. عامل التشغيل "يساوي" مكتوب ==وليس =. في Java، العامل الفردي =هو عامل التعيين ، والذي يتم استخدامه عندما يتم تعيين رقم أو سلسلة أو قيمة لمتغير آخر.
العوامل الرقمية في جافا - 3
public class Main {

   public static void main(String[] args) {

       int x = 33;
       int y = 999;
       System.out.println(x=y);// We expect false to be displayed
   }
}
إخراج وحدة التحكم: 999 عفوًا! ومن الواضح أن هذه ليست النتيجة التي توقعناها. إنه نوع بيانات مختلف تمامًا: كنا نتوقع أن نرى قيمة منطقية ، لكننا حصلنا على رقم. كل ذلك لأننا استخدمنا عامل الإسناد بين قوسين بدلاً من المقارنة . x=y تم تخصيص قيمة y(999) للمتغير xثم عرضنا قيمة x. وإليك الطريقة الصحيحة للقيام بذلك:
public class Main {

   public static void main(String[] args) {

       int x = 33;
       int y = 999;
       System.out.println(x==y);
   }
}
إخراج وحدة التحكم: خطأ لقد قمنا الآن بمقارنة الرقمين بشكل صحيح! :) إليك ميزة أخرى لعامل التعيين ( =): يمكن "ربطها" معًا:
public class Main {

   public static void main(String[] args) {

       int x = 999;
       int y = 33;
       int z = 256;

       x = y = z;
       System.out.println(x);
   }
}
إخراج وحدة التحكم: 256 تذكر أن المهمة من اليمين إلى اليسار . x = y = zسيتم تنفيذ هذا التعبير ( ) في خطوات:
  • y = z، إنه،y = 256
  • x = y، إنه،x = 256

المشغلين الأحاديين.

ويطلق عليهم اسم " أحادي " من كلمة " أونو " التي تعني " واحد ". لقد حصلوا على هذا الاسم لأنهم، على عكس العوامل السابقة، يتصرفون بناءً على رقم واحد، وليس عدة أرقام. وتشمل هذه:
  • الأحادي ناقص. فإنه يقلب علامة الرقم.

public class Main {

   public static void main(String[] args) {

       int x = 999;

       // Change the sign for the first time
       x = -x;
       System.out.println(x);

       // Change the sign for the second time
       x= -x;
       System.out.println(x);
   }
}
إخراج وحدة التحكم: -999 999 استخدمنا عامل التشغيل الأحادي ناقص مرتين. ونتيجة لذلك، كان رقمنا سالبًا في البداية، ثم أصبح موجبًا مرة أخرى!
  • الزيادة (++) والنقصان (-)
يزيد عامل ++التشغيل رقمًا بمقدار واحد، --ويقلل عامل التشغيل رقمًا بنفس المقدار.
public class Main {

   public static void main(String[] args) {

       int x = 999;
       x++;
       System.out.println(x);

       x--;
       System.out.println(x);
   }
}
إخراج وحدة التحكم: 1000 999 قد يكون هذا الترميز مألوفًا لك إذا كنت قد سمعت عن لغة C++. استخدم منشئوه هذا الاسم المثير للاهتمام لنقل فكرة أن "C++ هو امتداد للغة C". هناك نسخة محسنة شائعة من برنامج Notepad تسمى Notepad++، وهذه نقطة مهمة. هناك نوعان من عوامل الزيادة والنقصان: postfix و prefix . x++- postfix ++x- prefix ما الفرق الأساسي بين وضع علامة الزائد/الناقص قبل الرقم أو بعده؟ سنرى في المثال التالي:
public class Main {

   public static void main(String[] args) {

       int x = 999;
       int y = x++;
       System.out.println(y);
   }
}
إخراج وحدة التحكم: 999 هناك خطأ ما! أردنا زيادة xبمقدار 1 وتعيين القيمة الجديدة للمتغير y. بمعنى آخر، يجب أن تكون y 1000. ولكن بدلًا من ذلك نحصل على شيء آخر: 999. يبدو أن x لم تتم زيادته وأن عامل الزيادة لم يعمل؟ لكنها نجحت. لإقناع نفسك، حاول العرض xفي النهاية :)
public class Main {

   public static void main(String[] args) {

       int x = 999;
       int y = x++;
       System.out.println(y);
       System.out.println(x);
   }
}
إخراج وحدة التحكم: 999 1000 في الواقع، هذا هو بالضبط سبب تسمية هذه العملية بـ postfix: يتم إجراؤها بعد التعبير الرئيسي. هذا يعني، في حالتنا: int y = x++; y = xيتم تنفيذه أولاً (وسيتم تهيئة المتغير yإلى قيمة x)، وعندها فقط سيتم x++تنفيذه. ماذا لو لم يكن هذا هو السلوك الذي نريده؟ ثم نحتاج إلى استخدام تدوين البادئة :
public class Main {

   public static void main(String[] args) {

       int x = 999;
       int y = ++x;
       System.out.println(y);
   }
}
في هذه الحالة، ++xتتم المعالجة أولاً وبعد ذلك فقط يتم y = x; أعدم. يجب عليك حفظ هذا الاختلاف في الذاكرة على الفور لتجنب ارتكاب الأخطاء في برنامج حقيقي حيث يمكن أن يؤدي استخدام postfix بدلاً من البادئة إلى قلب كل شيء رأسًا على عقب :)

مشغلي المجمع

بالإضافة إلى ذلك، يوجد في Java ما يسمى بالعوامل المركبة. إنهم يجمعون بين عاملين:
  • تكليف
  • العمليات الحسابية
وتشمل هذه:
  • +=
  • -=
  • *=
  • /=
  • %=
دعونا نفكر في مثال:
public class Main {

   public static void main(String[] args) {

       int x = 999;
       int y = 33;

       x += y;
       System.out.println(x);
   }
}
إخراج وحدة التحكم: 1032 x += y يعني x = x + y. يتم استخدام الرمزين على التوالي من أجل الإيجاز. المجموعات -=، *=و، /=وتعمل %=بطريقة مماثلة.

العوامل المنطقية

بالإضافة إلى العوامل الرقمية، لدى Java أيضًا عمليات تتضمن قيمًا منطقية ( صحيح وخطأ ) . يتم تنفيذ هذه العمليات باستخدام العوامل المنطقية
  • !- منطقي لا . إنه يقلب قيمة منطقية
public class Main {

   public static void main(String[] args) {

       boolean x = true;
       System.out.println(!x);
   }
}
إخراج وحدة التحكم: خطأ
  • &&- منطقي و . يتم إرجاعه صحيحًا فقط إذا كان كلا المعاملين صحيحين.
public class Main {

   public static void main(String[] args) {

       System.out.println(100 > 10 && 100 > 200);
       System.out.println(100 > 50 && 100 >= 100);
   }
}
إخراج وحدة التحكم: خطأ صحيح نتيجة العملية الأولى خاطئة، لأن أحد المعاملات خطأ، وهو 100 > 200. لإرجاع صحيح، &&يتطلب عامل التشغيل أن يكون كلا المعاملين صحيحًا (كما هو الحال في السطر الثاني).
  • ||- منطقي أو . يتم إرجاعه صحيحًا عندما يكون أحد المعاملات على الأقل صحيحًا.
عندما نستخدم هذا العامل، ينتج عن مثالنا السابق نتيجة مختلفة:
public class Main {

   public static void main(String[] args) {

       System.out.println(100 > 10 || 100 > 200);
   }
}
مخرجات وحدة التحكم: true لا يزال التعبير 100 > 200خاطئًا، ولكن بالنسبة إلى عامل التشغيل OR ، يكفي تمامًا أن 100 > 10يكون الجزء الأول ( ) صحيحًا.
تعليقات
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION