CodeGym /وبلاگ جاوا /Random-FA /جاوا بولی
John Squirrels
مرحله
San Francisco

جاوا بولی

در گروه منتشر شد
کلمه "boolean" در زمینه زبان جاوا را می توان در معانی مختلف، هرچند بسیار مرتبط، به کار برد. میتوانست باشد:
  • نوع بدوی بولی یا متغیر بولی از این نوع
  • کلاس بولین جاوا یا شیء بسته بندی بولی
  • عبارت بولی ، مقدار بولی، برخی شرایط
  • عملگرهای بولین جاوا
در این مقاله، ما قصد داریم تمام این گزینه ها را پوشش دهیم و توضیح دهیم که چه مفاهیمی زیربنای عبارات بولی هستند . جاوا بولین - 1

بولی در معنای عام چیست

مفهوم یک عبارت بولی از ریاضیات، یا بهتر است بگوییم، از منطق ریاضی آمده است. عبارت بولی در جبر گزاره ای عبارتی است که می توان گفت درست یا نادرست است. مثلا:
"برف سفید است" "تمساح ها می توانند پرواز کنند" "2 + 2 = 4" "1 + 1 = 21"
در عین حال، "2" یا "برف" عبارات بولی نیستند.

نوع داده اولیه بولین جاوا و متغیرهای بولی

صحبت از یک بولین در جاوا، اولاً به احتمال زیاد یک نوع داده اولیه بولی و متغیرهای بولی از این نوع است . همانطور که احتمالاً قبلاً حدس زده اید، متغیرهای این نوع فقط می توانند دو مقدار درست و نادرست داشته باشند. جاوا محدودیت های بسیار سختی دارد: یک بولی در جاوا را نمی توان به هیچ نوع داده دیگری تبدیل کرد و بالعکس. به طور خاص، بولی در جاوا یک نوع انتگرال نیست و مقادیر صحیح را نمی توان به جای بولی ها استفاده کرد. در اینجا مثالی از تنظیم مستقیم نوع بولی آورده شده است :
boolean myBoolean; //boolean variable
myBoolean = false;
boolean myBoolean1 = true; //another boolean variable
در اینجا ما 2 متغیر بولی داریم . بیایید یک برنامه کوچک با مثالی از استفاده از نوع بولی بنویسیم :
//boolean variable example
public class BoolTest {

   public static void main(String[] args) {
       boolean myBoolean = false;
       System.out.println(myBoolean);
   }
}
این برنامه "false" را در کنسول چاپ می کند. به هر حال، یک متغیر بولی به طور پیش‌فرض روی false تنظیم شده است، اما جاوا به شما اجازه نمی‌دهد با متغیرهای محلی بدون مقدار اولیه کار کنید.

عبارات بولی در جاوا

علاوه بر مقداردهی اولیه یک متغیر بولی به درست یا نادرست، نوع داده بولی به طور ضمنی در بسیاری از مکان ها استفاده می شود. همانطور که نتیجه هر جمع اعداد یک عدد خواهد بود، نتیجه هر مقایسه درست یا نادرست خواهد بود، یعنی از نوع بولی خواهد بود . این بدان معنی است که علاوه بر تعیین مستقیم یک مقدار بولی از طریق دستور انتساب متغیر بولی ، مقادیر بولی از مقایسه های مختلف مانند 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 false است یا خیر. از آنجایی که این مورد است، مقدار true را خروجی می دهیم . در واقع، برای ساخت عبارات بولی در جاوا، می توانیم از هر عملگر مقایسه ای استفاده کنیم:
عملگرهای مقایسه اپراتور جاوا نمونه عملیات نتیجه عملیات
کمتر < a < ب درست است اگر a کمتر از b باشد در غیر این صورت نادرست است
بزرگتر > a > b درست است اگر a بزرگتر از b باشد ، در غیر این صورت نادرست است
کمتر یا مساوی <= a <= ب درست است اگر a کمتر از b باشد یا مساوی باشند، در غیر این صورت نادرست است
بزرگتر یا مساوی >= a >= ب درست است ، اگر a بزرگتر یا مساوی b باشد ، در غیر این صورت نادرست است
برابر == a == ب درست است ، اگر a برابر با b باشد ، در غیر این صورت نادرست است
نا برابر != a != ب درست است ، اگر a برابر با b نباشد ، در غیر این صورت نادرست است

جایی که از مقادیر بولی استفاده می شود

مقادیر بولی و عبارات شرطی اغلب در شرایط عبارات شاخه، عملگرهای سه تایی و حلقه ها استفاده می شوند. در واقع، استفاده از آنها بر اساس بررسی برخی عبارات بولی است . مثلا:
public class BoolTest2 {
       public static void main(String[] args) {
           int i = 0;
           while (i <= 10)
           {
               System.out.println(i);
               i++;
           }
      }
}
این برنامه دنباله ای از اعداد صحیح را چاپ می کند و تا زمانی که شرط موجود در براکت ها بعد از while برقرار باشد، آنها را یک عدد افزایش می دهد. یعنی در حالی که عبارت i <=10 درست است.

عملگرهای بولین جاوا ساخت عبارات بولی با عملگرهای بولی

عملیات منطقی (یا بولی) زیر در جاوا موجود است:
  • نفی منطقی، آن نیز NOT یا وارونگی است. در جاوا، با نماد نشان داده شده است ! قبل از بیان

  • منطقی و، آن نیز AND یا ربط است. با نماد & بین دو عبارتی که به آن اعمال می شود نشان داده می شود.

  • منطقی یا در جاوا، OR هم هست، تفکیک هم هست. در جاوا با علامت | نشان داده شده است بین دو عبارت

  • انحصاری یا، XOR، تفکیک دقیق. در جاوا با علامت ^ بین دو عبارت نشان داده می شود.

  • در جاوا، عملگرهای منطقی شامل شرطی یا با علامت || هستند ، و همچنین مشروط و، && .

بیایید نگاهی به جدول با توضیح مختصری در مورد هر یک از عملگرهای بولین جاوا بیندازیم و در زیر آنها را با جزئیات بیشتر توضیح خواهیم داد و مثال هایی از کد ارائه می دهیم. منظور ما از عملوندها در جدول عبارت منطقی یا متغیرهایی است که عملگر به آنها اعمال می شود.
a | b == true
اپراتور جاوا Boolean نام تایپ کنید شرح مثال
! منطقی "نه" (نفی) یگانه !x به معنای "x نه" است. اگر x نادرست باشد true را برمی گرداند . اگر x درست باشد false را برمی‌گرداند .
boolean x = true;

سپس

// !x == false
& منطقی "و" (و، ضرب منطقی) دودویی اگر a و b هر دو درست باشند (a & b) true را برمی‌گرداند .
a = true;
b = false;

سپس

a & b == false
| OR منطقی (اضافه منطقی) دودویی (a | b) اگر a یا b یا هر دو درست باشند، true را برمی گرداند .
a = true;
b = false;

سپس

^ منطقی انحصاری OR (XOR) دودویی (a ^ b) true را برمی گرداند ، اگر فقط یکی از عملوندهای (a یا b) true باشد . اگر a و b هر دو به طور همزمان درست یا نادرست باشند، false را برمی‌گرداند . در واقع اگر a برابر با b نباشد true را بر می گرداند .
a = true;
b = false;

سپس

a ^ b == true
&& AND شرطی (مختص شده منطقی AND) دودویی a &&b همان a & b است ، اما اگر a نادرست باشد ، اپراتور فقط false را بدون بررسی b برمی گرداند .
|| OR شرطی (به اختصار OR منطقی) دودویی یک || b همان a | است b ، اما اگر a درست باشد ، عملگر فقط true را بدون بررسی 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);
   }
}
در اینجا خروجی است:
نادرست درست غلط نادرست
در واقع با استفاده از عملگرهای منطقی می توانید ساختارهای منطقی بسیار پیچیده ای بسازید. مثلا
(a<!b)&(q+1 == 12)^(!a | c & b > 1 + b)|(q ^ a > !b)
اگر همه متغیرها مقداردهی اولیه شوند، چنین ساختارهایی کار خواهند کرد. با این حال، شما نباید از آنها سوء استفاده کنید، آنها خواندن کد را دشوار می کنند. با این وجود، پرداختن به چنین ساختارهای منطقی بسیار مفید است. سعی کنید عبارات منطقی را با عملگرهای منطقی دیگر ارائه شده در جدول بسازید.

تقدم عملیات منطقی

همانطور که در ریاضیات، در برنامه نویسی، اگر عملگرها در یک عبارت قرار بگیرند، ترتیب اجرای خاصی دارند. عملگرهای Unary نسبت به عملگرهای باینری و ضرب (حتی منطقی) نسبت به جمع برتری دارند. در اینجا عملگرهای منطقی قرار گرفته اند که در لیست موضوعات بالاتر قرار می گیرند و اولویت آنها بیشتر است:
  • !

  • &

  • ^

  • |

  • &&

  • ||

بسته بندی جاوا بولین

در جاوا، هر نوع اولیه یک "برادر"، یک کلاس wrapper ( Wrapper ) دارد. Wrapper یک کلاس ویژه است که ارزش یک اولیه را در داخل ذخیره می کند. با این حال این یک کلاس است، بنابراین شما می توانید نمونه (اشیاء) آن را ایجاد کنید. این اشیا مقادیر ضروری اولیه را در داخل ذخیره می کنند، در حالی که آنها اشیاء واقعی خواهند بود. نوع بدوی بولین جاوا دارای کلاس جاوا بولی (با بزرگ B) است. اشیاء کلاس Boolean درست مانند هر چیز دیگری ایجاد می شوند:
Boolean b = new Boolean(false);
کلاس بولین جاوا متدهای مفیدی دارد. یکی از جالب ترین آنها روش parseBoolean است . متد بولی استاتیک parseBoolean(String s) آرگومان رشته را به عنوان یک بولی تجزیه می کند. اگر آرگومان رشته تهی نباشد و با نادیده گرفتن حروف بزرگ و کوچک با رشته "true" برابر باشد، بولی که برگردانده می شود، مقدار true را نشان می دهد. در غیر این صورت false را برمی گرداند .

مثال روش 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"));

        }
    }
خروجی این است:
درست درست غلط نادرست
برای تقویت آموخته هایتان، پیشنهاد می کنیم یک درس ویدیویی از دوره جاوا ما تماشا کنید
نظرات
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION