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

جافا بوليان

نشرت في المجموعة
يمكن استخدام كلمة "منطقية" في سياق لغة Java بمعاني مختلفة، وإن كانت مرتبطة جدًا. يمكن ان تكون:
  • نوع بدائي منطقي أو متغير منطقي من هذا النوع
  • فئة Java Boolean أو كائن المجمع المنطقي
  • تعبير منطقي ، قيمة منطقية، بعض الشروط
  • عوامل جافا المنطقية
في هذه المقالة، سنغطي كل هذه الخيارات ونشرح المفاهيم التي تكمن وراء التعبيرات المنطقية . جافا منطقية - 1

ما هو منطقي بالمعنى العام

مفهوم التعبير البوليني جاء من الرياضيات، أو بالأحرى من المنطق الرياضي. التعبير البوليني في الجبر المقترح هو تعبير يمكن القول بأنه صحيح أو خطأ. على سبيل المثال:
"الثلج أبيض" "التماسيح يمكنها الطيران" "2 + 2 = 4" "1 + 1 = 21"
وفي الوقت نفسه، "2" أو "ثلج" ليست تعبيرات منطقية .

جافا نوع البيانات البدائية المنطقية والمتغيرات المنطقية

عند الحديث عن قيمة منطقية في Java، فمن المرجح أولاً أن يكون نوع بيانات بدائية منطقية ومتغيرات منطقية من هذا النوع. كما خمنت على الأرجح، يمكن للمتغيرات من هذا النوع أن تأخذ قيمتين فقط، صحيح وخطأ. لدى Java قيود صارمة جدًا: لا يمكن تحويل القيمة المنطقية في Java إلى أي نوع بيانات آخر، والعكس صحيح. على وجه الخصوص، القيمة المنطقية في Java ليست نوعًا متكاملاً، ولا يمكن استخدام القيم الصحيحة بدلاً من القيم المنطقية. فيما يلي مثال لإعداد نوع منطقي مباشرةً :
boolean myBoolean; //boolean variable
myBoolean = false;
boolean myBoolean1 = true; //another boolean variable
هنا لدينا متغيرين منطقيين . لنكتب برنامجًا صغيرًا يتضمن مثالًا لاستخدام النوع المنطقي :
//boolean variable example
public class BoolTest {

   public static void main(String[] args) {
       boolean myBoolean = false;
       System.out.println(myBoolean);
   }
}
يطبع هذا البرنامج كلمة "خطأ" على وحدة التحكم. بالمناسبة، يتم تعيين المتغير المنطقي على false افتراضيًا، لكن Java لا تسمح لك بالعمل مع المتغيرات المحلية غير المهيأة.

التعبيرات المنطقية في جافا

بالإضافة إلى تهيئة متغير منطقي بشكل صريح إلى صواب أو خطأ، يتم استخدام نوع البيانات المنطقية ضمنيًا في العديد من الأماكن. فكما أن نتيجة أي إضافة لأرقام ستكون رقمًا، فإن نتيجة أي مقارنة ستكون صحيحة أو خاطئة، أي أنها ستكون من النوع المنطقي . هذا يعني أنه بالإضافة إلى تحديد قيمة منطقية مباشرة من خلال بيان تعيين المتغير المنطقي ، فإن القيم المنطقية تنتج من مقارنات مختلفة، مثل 5 > 2 ، وتستخدم بشكل أساسي في البيانات الشرطية والحلقات. فيما يلي مثال على هذا الاستخدام للنوع المنطقي :
public class BoolTest {

   public static void main(String[] args) {
       boolean myBoolean = false;
       int a = 5;
       int b = 7;
       System.out.println(a < b);
       System.out.println(0 > 7);
       System.out.println(myBoolean == false);
   }
}
الإخراج هو:
صحيح كاذب صحيح
في حالة a < b ، يقوم عامل التشغيل < بمقارنة التعبير الموجود على اليسار بالتعبير الموجود على اليمين. لقد عرضنا نتيجة المقارنة على الشاشة. بما أن 5 < 7 (البيان صحيح)، ستتم طباعة القيمة true على وحدة التحكم. وفي الحالة الثانية نعرض مقارنة مباشرة بين صفر وسبعة، وفي الحالة الثالثة نسأل إذا كانت قيمة المتغير myBoolean خاطئة. وبما أن هذا هو الحال، فإننا نخرج القيمة true . في الواقع، لبناء تعبيرات منطقية في Java، يمكننا استخدام أي عوامل مقارنة:
عوامل المقارنة مشغل جافا مثال العملية نتيجة العملية
أقل < أ < ب صحيح إذا كانت a أقل من b وإلا فهي خاطئة
أكبر > أ > ب صحيح إذا كانت a أكبر من b ، وإلا فهي خاطئة
اصغر من او يساوي <= أ <= ب صحيح إذا كان a أقل من b أو كانا متساويين، وإلا فهو خطأ
أكبر من أو يساوي >= أ>= ب صحيح ، إذا كان أكبر أو يساوي ب ، وإلا فهو خطأ
متساوي == أ == ب صحيح ، إذا كان a يساوي b ، وإلا فهو خطأ
غير متساوي != أ! = ب صحيح ، إذا كان a لا يساوي b ، وإلا فهو خطأ

حيث يتم استخدام القيم المنطقية

تُستخدم القيم المنطقية والتعبيرات الشرطية في كثير من الأحيان في شروط البيانات الفرعية والعوامل الثلاثية والحلقات. في الواقع، يعتمد استخدامها على التحقق من بعض التعبيرات المنطقية . على سبيل المثال:
public class BoolTest2 {
       public static void main(String[] args) {
           int i = 0;
           while (i <= 10)
           {
               System.out.println(i);
               i++;
           }
      }
}
يقوم هذا البرنامج بطباعة سلسلة من الأعداد الصحيحة ويزيدها بمقدار واحد طالما تم استيفاء الشرط الموجود بين الأقواس بعد الفترة. أي أن التعبير i <=10 صحيح.

مشغلي جافا المنطقية. بناء التعبيرات المنطقية مع عوامل التشغيل المنطقية

تتوفر العمليات المنطقية (أو المنطقية) التالية في Java:
  • النفي المنطقي، وهو أيضًا ليس أو انقلابًا. في جافا، يُشار إليه بالرمز ! قبل التعبير.

  • منطقي، وهو أيضًا "و" أو اقتران. يُشار إليه بالرمز وبين التعبيرين المطبق عليهما.

  • منطقيًا أو في Java، فهو أيضًا OR، وهو أيضًا انفصال. في جافا، يُشار إليه بالرمز | بين تعبيرين.

  • حصريًا أو XOR، انفصال صارم. في Java، يُشار إليه بالرمز ^ بين تعبيرين.

  • في Java، تتضمن العوامل المنطقية الشرطية أو، والتي يُشار إليها بـ || ، بالإضافة إلى الشرط و، && .

دعونا نلقي نظرة على الجدول الذي يحتوي على وصف موجز لكل عامل من عوامل تشغيل Java المنطقية، وسنصفها أدناه بمزيد من التفاصيل ونقدم أمثلة على التعليمات البرمجية. نعني بـ "المعاملات" في الجدول التعبير المنطقي أو المتغيرات التي يتم تطبيق العامل عليها.
a | b == true
مشغل جافا المنطقي اسم يكتب وصف مثال
! "لا" منطقية (النفي) أحادي !x تعني "ليس x". يُرجع صحيحًا إذا كانت x خاطئة . إرجاع خطأ إذا كان x صحيحًا .
boolean x = true;

ثم

// !x == false
& "و" المنطقية (والضرب المنطقي) الثنائية (a & b) يُرجع صحيحًا إذا كان كل من a و b صحيحًا .
a = true;
b = false;

ثم

a & b == false
| منطقي أو (إضافة منطقية) الثنائية (a | b) يُرجع صحيحًا إذا كان a أو b أو كليهما صحيحًا .
a = true;
b = false;

ثم

^ المنطق الحصري OR (XOR) الثنائية (a ^ b) يُرجع صحيحًا ، إذا كان أحد المعاملات (a أو b) صحيحًا . إرجاع false إذا كان a و b صحيحين أو خطأ في نفس الوقت. في الواقع، إذا كان a لا يساوي b فإنه يعود صحيحًا .
a = true;
b = false;

ثم

a ^ b == true
&& شرطي AND (مختصر منطقي AND) الثنائية a && b هو نفس a & b ، ولكن إذا كانت a خاطئة ، فسيقوم عامل التشغيل بإرجاع false دون التحقق من b .
|| الشرطي OR (المختصر المنطقي OR) الثنائية أ || ب هو نفس | b ، ولكن إذا كان a صحيحًا ، فسيقوم عامل التشغيل بإرجاع صحيح دون التحقق من b .
لاحظ أنه في جافا، عوامل التشغيل & ، | و ^ تنطبق أيضًا على الأعداد الصحيحة. في هذه الحالة، تعمل بشكل مختلف قليلاً وتسمى عوامل التشغيل المنطقية ذات اتجاه البت (أو عامل البت). لنأخذ مثالاً ونعرض العديد من التعبيرات المنطقية المكونة باستخدام العوامل المنطقية.
public class BoolTest2 {
   public static void main(String[] args) {
   int a = 5;
   int b = 7;
   boolean myBool1 = true;
   boolean myBool2 = false;
       System.out.println(myBool1&myBool2);
       System.out.println(myBool1|myBool2);
       System.out.println(!myBool1);
       System.out.println((a > b) & !myBool1 | myBool2);
   }
}
هنا هو الإخراج:
كاذبة كاذبة كاذبة كاذبة
في الواقع، يمكنك إنشاء إنشاءات منطقية معقدة للغاية باستخدام العوامل المنطقية. على سبيل المثال
(أ<!ب)&(q+1 == 12)^(!a | c & b > 1 + b)|(q ^ a > !b)
إذا تمت تهيئة جميع المتغيرات، فستعمل هذه الإنشاءات. ومع ذلك، لا ينبغي عليك إساءة استخدامها، فهي تجعل من الصعب قراءة الكود. ومع ذلك، فمن المفيد للغاية التعامل مع مثل هذه الإنشاءات المنطقية. حاول إنشاء تعبيرات منطقية باستخدام العوامل المنطقية الأخرى الواردة في الجدول.

أسبقية العمليات المنطقية

كما هو الحال في الرياضيات، في البرمجة، يكون للمشغلين ترتيب محدد للتنفيذ إذا حدثوا في نفس التعبير. تتمتع العوامل الأحادية بمزايا مقارنة بالعمليات الثنائية، والضرب (حتى المنطقي) على الجمع. فيما يلي العوامل المنطقية التي يتم وضعها في قائمة المواضيع بشكل أعلى، كلما زادت أولويتها:
  • !

  • &

  • ^

  • |

  • &&

  • ||

غلاف جافا المنطقي

في Java، كل نوع بدائي له "أخ"، فئة مجمعة ( Wrapper ). الغلاف عبارة عن فئة خاصة تخزن قيمة البدائية بالداخل. ومع ذلك، فهذه فئة، لذا يمكنك إنشاء مثيلات (كائنات) لها. تقوم هذه الكائنات بتخزين القيم الضرورية للأوليات في الداخل، في حين أنها ستكون كائنات حقيقية. يحتوي النوع البدائي Java boolean على فئة Java Boolean المجمعة (مع رأس المال B). يتم إنشاء كائنات الفئة المنطقية تمامًا مثل أي كائنات أخرى:
Boolean b = new Boolean(false);
تحتوي فئة Java Boolean على طرق مفيدة. واحدة من أكثر هذه الطرق إثارة للاهتمام هي طريقة parseBoolean . تقوم طريقة parseBoolean(String s) المنطقية الثابتة بتوزيع وسيطة السلسلة باعتبارها منطقية. تمثل القيمة المنطقية التي تم إرجاعها القيمة true إذا لم تكن وسيطة السلسلة فارغة وكانت تساوي، مع تجاهل حالة الأحرف، للسلسلة "true". وإلا فإنها ترجع كاذبة .

مثال على طريقة parseBoolean

public class BoolTest2 {

        public static void main(String[] args)
        {
            System.out.println(Boolean.parseBoolean("True"));
            System.out.println(Boolean.parseBoolean("TRuE"));
            System.out.println(Boolean.parseBoolean("False"));
            System.out.println(Boolean.parseBoolean("here"));

        }
    }
الإخراج هو:
صحيح صحيح كاذب كاذب
لتعزيز ما تعلمته، نقترح عليك مشاهدة درس فيديو من دورة Java الخاصة بنا
تعليقات
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION