موصى به, 2021

اختيار المحرر

الفرق بين & و &&

"&" و "&&" كلاهما المشغلين ، يستخدمان لتقييم العبارات الشرطية. المشغل & amp؛ هو منطقي بالإضافة إلى عامل تشغيل bitwise. المشغل && هو مجرد مشغل منطقي. يتمثل الاختلاف الأساسي بين عامل التشغيل & && في قيام المشغل & amp؛ /> بتقييم كلا جانبي التعبير بينما يقوم المشغل &&& بتقويم الجانب الأيسر فقط من التعبير للحصول على النتيجة النهائية. دعنا نتفهم الاختلافات الأخرى بين & و && بمساعدة مخطط المقارنة.

رسم بياني للمقارنة

أساس للمقارنةو&&
المشغل أو العاملهو "مشغل Bitwise".إنه "مشغل منطقي".
تقييميقوم بتقييم كل من الجانب الأيسر والأيمن من التعبير.يقوم فقط بتقييم الجانب الأيسر من التعبير.
يعمل علىتعمل على "نوع البيانات Boolean" وكذلك تعمل على "بت".تعمل فقط على "نوع البيانات المنطقية".
استعمالاستخدم للتحقق من الحالة المنطقية واستخدمها أيضًا لإخفاء بعض وحدات البت مثل بتات التماثل.تستخدم فقط للتحقق من الحالة المنطقية.

تعريف & (بالفقرة AND)

يتم استخدام عامل التشغيل "&" على حد سواء ، عامل التشغيل المنطقي (&) ومشغل عامل البت. وهو يعمل على البيانات المنطقية وكذلك الثنائية. عندما يتم استخدام & المشغل كمنطق منطقي والمشغل ، فإنه يؤدي إلى "true" إذا كان كل من جانب تعبير التقييم صحيحًا ، وإلا فإنه يُرجع "false". يسمح المحول البرمجي بتقييم كل من جانب التعبير. بمعنى ، حتى إذا كان الجانب الأيسر من التعبير نتائج خاطئة ، فإنه يقوم بتقييم الجانب الأيمن من التعبير.

يتيح لنا فهم هذا مع مثال.

 int a = 4، b = 5؛ system.out.println ((a == 6) & (b ++ == 6))؛ system.out.println ("b =" + b) ؛ // output false b = 5 

هنا ، عند تقييم الجانب الأيسر من التعبير (أ = 6) ، ينتج عنه خطأ ، ثم يقوم المشغل بتقييم الجانب الأيمن من التعبير (b ++ == 6) كنتيجة لذلك ، قيمة b increments.

عندما يتم استخدام "&" كمشغل "bitwise" ، فإنها تقوم أولاً بتحويل كل المعاملات إلى شكل ثنائي ثم تعمل على ذلك باستخدام & المشغل ، بت لكل بت. بعد العملية ، تكون النتيجة التي يتم الحصول عليها ، في شكل ثنائي ، ثم يتم تحويلها إلى قيمة عشرية. أي بت 0 في أي من المعاملات يؤدي إلى 0. إذا كانت كلتا البتات من المعاملات 1 ، فإن البتة الناتجة هي 1. Bitwise & يخضع المشغل لجدول الحقيقة نفسه من خلال منطقي & المشغل.

دعونا نرى عملية bitwise & المشغل.

 كثافة العمليات أ = 3 و 4 ؛ // 011 & 100 = 000 system.out.println ("a =" + a)؛ // output a = 0 

هنا ، يتم تحويل القيمة العشرية 3 و 4 في البداية إلى شكلها الثنائي ، ثم يقوم المشغل & bitwise بإجراء العملية والتشغيل عليها بتة تلو الأخرى. تكون النتيجة التي تم الحصول عليها في شكل ثنائي ، ثم يتم تحويلها إلى شكل عشري مرة أخرى.

تعريف && (دائرة كهربائية قصيرة)

يعمل هذا المشغل بشكل كامل كمشغل منطقي. تعمل فقط على نوع البيانات المنطقية. ويسمى أيضا المشغل ماس كهربائى. لأنها تحقق فقط من الجانب الأيسر للتعبير. إذا كان الجانب الأيسر من التعبير يؤدي إلى خطأ ، فإنه لا يهتم بتقييم الجانب الأيمن من التعبير.

يتيح لنا فهم عمل عامل التشغيل && مع مثال.

 int a = 4، b = 5؛ system.out.println ((a == 6) && (b ++ == 6))؛ system.out.println ("b =" + b) ؛ // output false b = 4 

هنا ، كحالة (a == 6) خاطئة ، لا يقوم عامل التشغيل && بتقييم التعبير (b ++ == 6) كنتيجة لذلك ، لا تزيد قيمة b.

الاختلافات الرئيسية بين & و &&

  1. يعتبر المشغل عامل منطقي بالإضافة إلى مشغل bitwise ، حيث يعمل على كل من booleans بالإضافة إلى البيانات الثنائية بينما ، المشغل && هو مشغل منطقي فقط لأنه يعمل فقط على نوع بيانات منطقي.
  2. يقوم المشغل بتقييم كل من جانب التعبير للحصول على النتيجة النهائية ، بينما يقوم عامل التشغيل && بتقييم الجانب الأيسر فقط من التعبير ، وإذا لم يكن صحيحًا فإنه لا يقيّم الجانب الأيمن من التعبير.

ملحوظة:

عند تقييم نوع البيانات المنطقي ، فإن كلا المشغلين ينتجان "true" فقط إذا كان المعامل صحيحًا ، وإلا فإنه يُرجع "false".

استنتاج:

يستخدم كل من & &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& عندما نطلب تقييم كل من جانب التعبير ، يتم استخدام المشغل & آخر يمكننا استخدام & & المشغل.

Top