عملگرهای منطقی بولی که در زیر نشان داده ایم فقط روی عملوندهای بولی عمل می کنند . کلیه عملگرهای منطقی باینری دو مقدار boolean را ترکیب می کنند تا یک مقدار منتج boolean ایجاد نمایند . نتیجه آن عملگر AND منطقی & OR منطقی | XOR منطقی ( خارج ) ^ OR مدار کوتاه || AND مدار کوتاه && NOT یکانی منطقی ! انتساب AND &= انتساب OR |= انتساب XOR ^= مساوی با == نامساوی با != سه تایی if-tethen-eselse icon confused عملگرهاي منطقي بولي Boolean در جاوا عملگرهای بولی منطقی &، |،، ^، روی مقادیر Boolean همانطوری که روی بیت های یک عدد صحیح رفتار می کنند ، عمل خواهند کرد . عملگر منطقی ! حالت بولی را معکوس می کند : !false=true t!true=false
پاسخ : عملگرهای منطقی بولی Boolean در جاوا جدول بعدی تاثیرات هر یک از عملیات منطقی را نشان می دهد : A B A|B A&B A^B !A False False False False False True True False True False True False False True True False True True True True True True False False
پاسخ : عملگرهای منطقی بولی Boolean در جاوا در زیر برنامه ای را مشاهده می کنید که تقریبا” با مثال Bitlogic قبلی برابر است ، اما در اینجا بجای بیت های باینری روی مقادیر منطقی بولی عمل می کند : + // Demonstrate the boolean logical operators. + class BoolLogic { + public static void main(String args[] ){ + boolean a = true; + boolean b = false; + boolean c = a | b; + boolean d = a & b; + boolean e = a ^ b; + boolean f =( !a & b )|( a & !b); + boolean g = !a; + System.out.println(” a = ” + a); + System.out.println(” b = ” + b); + System.out.println(” a|b = ” + c); + System.out.println(” a&b = ” + d); + System.out.println(” a^b = ” + e); + System.out.println(“!a&b|a&!b = ” + f); + System.out.println(” !a = ” + g); + } + }
پاسخ : عملگرهای منطقی بولی Boolean در جاوا پس از اجرای این برنامه ، شما همان قوانین منطقی که برای بیت ها صادق بود در مورد مقادیر boolean مشاهده می کنید . در خروجی این برنامه مشاهده می کنید که معرفی رشته ای یک مقدار بولی درجاوا یکی از مقادیر لفظی trueیا falseا است . a = true b = false a|b = true a&b = false a^b = true !a&b|a&!b = true !a = false
پاسخ : عملگرهای منطقی بولی Boolean در جاوا عملگرهای منطقی مدار کوتاه جاوا دو عملگر بولی بسیار جالب دارد که در اکثر زبانهای دیگر برنامه نویسی وجود ندارند . این ها روایت ثانویه عملگرهای ANDو ORو بولی هستند و بعنوان عملگرهای منطقی مدار کوتاه معرفی شده اند. در جدول قبلی می بینید که عملگر OR هرگاه که A معادل true باشد، منجر به true می شود، صرفنظر از اینکه B چه باشد. بطور مشابه ، عملگر AND هرگاه A معادل false باشد منجر به false می شود. صرفنظر از اینکه B چه باشد . اگر از اشکال ||و &&و بجای |و &و استفاده کنید، هنگامیکه حاصل یک عبارت می تواند توسط عملوند چپ بتنهایی تعیین شود ، جاوا دیگر به ارزیابی عملوند راست نخواهد پرداخت . این حالت بسیار سودمند است بخصوص وقتی که عملوند سمت راست بستگی به عملوند سمت چپ و trueیا falseا بودن آن برای درست عمل کردن داشته باشد . بعنوان مثال ، کد قطعه ای زیر به شما نشان می دهد چگونه می توانید مزایای ارزیابی منطقی مدار کوتاه را استفاده نموده تا مطمئن شوید که عملیات تقسیم قبل از ارزیابی آن معتبر است . + if(denom != 0 && num / denom > 10)
پاسخ : عملگرهای منطقی بولی Boolean در جاوا از آنجاییکه شکل مدار کوتاه AND یعنی && استفاده شده است ، هنگامیکه denom صفر باشد ، خطر ایجاد یک استثنائ حین اجرا منتفی است . اگر همین خط از کد را با استفاده از رایت تکی AND یعنی & بنویسیم ، هر دو عملوند باید مورد ارزیابی قرار گیرند و هنگامیکه denom صفر باشد یک استثنائ حین اجرا بوجود می آید . در حالتهایی که شامل منطق بولی باشند : استفاده از ارزیابیهای مدار کوتاه AND و ORو یک روش استاندارد است که روایتهای تک کاراکتری عملگرها را منحصرا” برای عملیات رفتار بیتی قرار می دهد . اما استثنائاتی بر این قوانین وجود دارند . بعنوان مثال ، دستور زیر را در نظر بگیرید : + if(c==1 & e++ < 100 )d = 100